netmap bridge.c sample code assumes the same number of tx/rx queue.
Ming Fu
ming.fu at netsweeper.com
Tue Jul 24 20:25:53 UTC 2012
Hi Everybody,
I just want to share some work I was doing last few days trying to make
use the bridge code of netmap.
My netmap device has 4 receive and 1 transmit queue. I found that a ping
-s 5100 10.10.10.10 through the bridge will lost fragment of the ping
when the transmit queue reaches its wrapping point (the last slot).
The problem was traced to the code in tools/tools/netmap/bridge.c. It
assumes the same number of receive and transmit queues from the netmap
device, which does not work for me.
The number of queues is stored in struct my_ring when the netmap device
is opened, but only the number of receive queue is saved. Subsequent
code uses the number of receive queues to check of bond of transmit queues.
When the transmit queue is less than the receive queue, the bridge
program will start to loose packet when the queue wraps happens at the
last transmit queue.
Regards,
Ming
More information about the freebsd-net
mailing list