Date: Tue, 24 Jul 2012 16:19:27 -0400 From: Ming Fu <ming.fu@netsweeper.com> To: freebsd-net@freebsd.org Subject: netmap bridge.c sample code assumes the same number of tx/rx queue. Message-ID: <500F034F.6040809@netsweeper.com>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?500F034F.6040809>