From 39d028f16a555d29ac993f6a061d08f4f8af058e Mon Sep 17 00:00:00 2001 From: JackDoan Date: Thu, 13 Nov 2025 12:20:27 -0600 Subject: [PATCH] more! --- interface.go | 14 ++++++-------- overlay/vhostnet/device.go | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/interface.go b/interface.go index 1cc2b72..a44b574 100644 --- a/interface.go +++ b/interface.go @@ -325,10 +325,6 @@ func (f *Interface) listenOut(q int) { func (f *Interface) listenIn(reader overlay.TunDev, queueNum int) { runtime.LockOSThread() - originalPackets := make([][]byte, batch) //todo batch config - for i := 0; i < batch; i++ { - originalPackets[i] = make([]byte, 0xffff) - } fwPacket := &firewall.Packet{} nb := make([]byte, 12, 12) @@ -343,10 +339,7 @@ func (f *Interface) listenIn(reader overlay.TunDev, queueNum int) { for { n, err := reader.ReadMany(packets, queueNum) - if f.l.Level == logrus.DebugLevel { - f.listenInMetric.Update(int64(n)) - } - f.listenInN = n + //todo!! if err != nil { if errors.Is(err, os.ErrClosed) && f.closed.Load() { @@ -358,6 +351,11 @@ func (f *Interface) listenIn(reader overlay.TunDev, queueNum int) { os.Exit(2) } + if f.l.Level == logrus.DebugLevel { + f.listenInMetric.Update(int64(n)) + } + f.listenInN = n + now := time.Now() for i, pkt := range packets[:n] { outPackets[i].OutLen = -1 diff --git a/overlay/vhostnet/device.go b/overlay/vhostnet/device.go index b78d373..7389eb3 100644 --- a/overlay/vhostnet/device.go +++ b/overlay/vhostnet/device.go @@ -358,7 +358,7 @@ func (dev *Device) ReceivePackets(out []*packet.VirtIOPacket) (int, error) { var chains []virtqueue.UsedElement var err error //if len(dev.extraRx) == 0 { - chains, err = dev.ReceiveQueue.BlockAndGetHeadsCapped(context.TODO(), 64) //todo config batch + chains, err = dev.ReceiveQueue.BlockAndGetHeadsCapped(context.TODO(), len(out)) if err != nil { return 0, err }