Date: Thu, 23 Mar 2017 19:20:40 +0100 From: Vincenzo Maffione <v.maffione@gmail.com> To: Joe Jones <joe@stream-technologies.com> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Re: cxgbe netmap promiscuous mode? Message-ID: <CA%2B_eA9hvvMrp8Amc8EJy3jGq51x0vD=Ad=ruTacP4oR0X66=Ew@mail.gmail.com> In-Reply-To: <58D3C6F4.6010500@stream-technologies.com> References: <58D3C6F4.6010500@stream-technologies.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, You could try to use netmap in emulated mode (sysctl dev.netmap.admode=2). If this works, at least you know that the problem is in the cxgbe netmap support and not in the netmap core itself. Cheers, Vincenzo 2017-03-23 14:00 GMT+01:00 Joe Jones <joe@stream-technologies.com>: > Hello, > > We have a T520-SO and have made a new install of 11.0, to begin with the > box would panic every time we tried to switch the card into netmap mode. So > we recompiled the kernel with netmap removed, then compiled the netmap > kernel module from github, as this in our experience generally leads to a > more stable netmap. > > we have > > uname -a > FreeBSD goose2 11.0-RELEASE-p1 FreeBSD 11.0-RELEASE-p1 #0: Wed Mar 22 > 16:52:35 UTC 2017 joe@goose2:/usr/obj/usr/src/sys/GENERIC amd64 > > and the following in /boot/loader.conf > > t4fw_cfg_load="YES" > t5fw_cfg_load="YES" > if_cxgbe_load="YES" > hw.cxgbe.fl_pktshift=0 > hw.cxgbe.toecaps_allowed=0 > hw.cxgbe.nnmtxq10g=8 > hw.cxgbe.nnmrxq10g=8 > hw.cxgbe.num_vis=2 > > Before I run our application I run > > ifconfig cxl1 promisc -vlanhwtag up > > Now our application can now start without panicking the kernel. Here is > where it gets interesting, our application is able to announce it's self > via ARP, I can see the ethernet switch learning which port it's on, and > other hosts adding it to their ARP tables. When I try an ICMP ping it goes > missing. After watching the TX packet graph for the connected port on the > switch while starting and stopping a flood ping to the application, I'm > sure the packets are getting sent to the card, however I don't see them in > the netmap ring. If I kill our application, then use ifconfig to create and > configure a vlan port I can confirm that the card is working and has > connectivity. > > Here's what I think is happening. ARP requests are received because they > are sent to the broadcast address. Our application then announces it's > self. However traffic destined for the application is send to a MAC address > which is neither the broadcast or the MAC programed into the hardware and > is dropped. My understanding of promiscuous it that it informs the card > that we want these dropped packets. It looks to me like, when the card is > in netmap mode the promisc flag is being ignored. > > I have also tried using freebsd-update to update to p8. As with the p0 > kernel we get a panic when we switch the card into netmap mode. > > We did previously have these cards working in netmap mode. We were using a > pre 11 snapshot of the svn head though . > > Many Thanks > > Joe Jones > Stream Technologies > > _______________________________________________ > freebsd-net@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > -- Vincenzo Maffione
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B_eA9hvvMrp8Amc8EJy3jGq51x0vD=Ad=ruTacP4oR0X66=Ew>