Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Nov 2020 12:43:23 +0530
From:      Rajesh Kumar <rajfbsd@gmail.com>
To:        freebsd-net@freebsd.org, FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Netmap bridge not working with 10G Ethernet ports
Message-ID:  <CAAO%2BANOg5MEfHf9bV5x4L_QXNY2O9vQk0s%2BJrD7yzeXCQfHt8w@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

I am testing a 10G Network driver with Netmap "bridge" utility, where it
doesn't seem to work. Here is my setup details.

*System under Test:*  Running FreeBSD CURRENT.  Has two inbuilt 10G NIC
ports.
*System 1:* Running Ubuntu, whose network port is connected to Port1 of
System Under Test
*System 2:* Running FreeBSD CURRENT, whose network port is connected to
Port 0 of System Under Test.

Bridged the Port0 and Port1 of System Under Test using the Netmap "bridge"
utility. Able to see interfaces coming up active and Link UP.
# bridge -c -v -i netmap:ax0 -i netmap:ax1

Then tried pinging from System 1 to System 2. It fails.

*Observations:*
1. ARP request from System 1 goes to bridge port 1 (netmap_rxsync) and then
forwarded to port 0 (netmap_txsync)
2. ARP request is received in System 2 (via bridge port 0) and ARP reply is
being sent from System 2.
3. ARP reply from System 2 seems to be not reaching bridge port 0 to get
forwarded to bridge 1 and hence to System 1.
4. Above 3 steps happen 3 times for ARP resolution cycle and then fails.
Hence the ping fails.

On Debugging, when the ARP reply is being sent from System 2, I don't see
any interrupt triggered on the bridge port 0 in system under test.

Netstat in system under test, doesn't show any receive or drop counters
incremented. But as I understand netstat capture the stats above the netmap
stack. Hence not reflecting the counts.

*Note:*
a) I tried with another vendor 10G NIC card. It behaves the same way. So
this issue doesn't seem to be generic and not hardware specific.
b) Trying with another vendor 1G NIC card, things are working.  So not
sure, what makes a difference here.  The ports in System 1 and System 2 are
USB attached Ethernet capable of maximum speed of 1G.  So does connecting
1G to 10G bridge ports is having any impact?
c) We have verified the same 10G driver with pkt-gen utility and things are
working. Facing issue only when using "bridge" utility.

So, wondering how the ARP reply packet is getting lost here. Any ideas to
debug?

Thanks,
Rajesh.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAO%2BANOg5MEfHf9bV5x4L_QXNY2O9vQk0s%2BJrD7yzeXCQfHt8w>