diff --git a/device.go b/device.go index f9f6707..359edea 100644 --- a/device.go +++ b/device.go @@ -184,14 +184,11 @@ func (nc *NetCard) runRead() { for atomic.LoadInt32(&isLoop) > 0 { var rframe ethernet.Frame rframe.Resize(1500) - - nc.Lock(func() { - n, err := ifce.Read([]byte(rframe)) - if err != nil { - log.Fatal(err) - } - rframe = rframe[:n] - }) + n, err := ifce.Read([]byte(rframe)) + if err != nil { + log.Fatal(err) + } + rframe = rframe[:n] if !waterutil.IsIPv4(rframe) || waterutil.IPv4Source(rframe).Equal(net.IPv4(0, 0, 0, 0)) { continue @@ -204,6 +201,7 @@ func (nc *NetCard) runRead() { } }) if realAddr == "" { + log.Printf("%s is not exists", waterutil.IPv4Destination(rframe)) continue } @@ -272,14 +270,12 @@ func (nc *NetCard) runWrite() { log.Printf("get wframes decode len: %d", len(bufs[0])) - nc.Lock(func() { - for _, buf := range bufs { - _, err := ifce.Write(buf) - if err != nil { - log.Panic(err) - } + for _, buf := range bufs { + _, err := ifce.Write(buf) + if err != nil { + log.Panic(err) } - }) + } }