]> Cypherpunks.ru repositories - govpn.git/blobdiff - tap.go
Keep TAP listener state and skip sinkReady step if necessary
[govpn.git] / tap.go
diff --git a/tap.go b/tap.go
index 85926d7df9d1c4d290f85c77408251de0e50f417..4fee83a28c3ea920cb619da22a1a9ddc984d71e7 100644 (file)
--- a/tap.go
+++ b/tap.go
@@ -26,11 +26,12 @@ import (
 )
 
 type TAP struct {
-       Name  string
-       dev   io.ReadWriter
-       buf   []byte
-       sink  chan []byte
-       ready chan struct{}
+       Name   string
+       dev    io.ReadWriter
+       buf    []byte
+       sink   chan []byte
+       ready  chan struct{}
+       synced bool
 }
 
 func NewTAP(ifaceName string) (*TAP, error) {
@@ -40,11 +41,12 @@ func NewTAP(ifaceName string) (*TAP, error) {
                return nil, err
        }
        tap := TAP{
-               Name:  ifaceName,
-               dev:   tapRaw,
-               buf:   make([]byte, maxIfacePktSize),
-               sink:  make(chan []byte),
-               ready: make(chan struct{}),
+               Name:   ifaceName,
+               dev:    tapRaw,
+               buf:    make([]byte, maxIfacePktSize),
+               sink:   make(chan []byte),
+               ready:  make(chan struct{}),
+               synced: false,
        }
        go func() {
                var n int