Date: Tue, 24 Mar 2020 15:37:36 +0300 From: Alexandre Snarskii <snar@snar.spb.ru> To: freebsd-net@freebsd.org Subject: netmap/ixl and crc addition.. Message-ID: <20200324123721.GA26248@staff.retn.net>
next in thread | raw e-mail | index | archive | help
Hi! Long story short: looks like intel x722 does not by default add CRC to outbound frames, so with FreeBSD 11-stable netmap-generated traffic is dropped on the next port.. Fix is simple, attached. The same behaviour of 'unconditionally ask card to compute crc' can be found in both if_ixl: https://svnweb.freebsd.org/base/stable/11/sys/dev/ixl/ixl_txrx.c?view=markup#l408 and in DPDK i40e driver: https://github.com/DPDK/dpdk/blob/master/drivers/net/i40e/i40e_rxtx.c#L1105 so, I guess, it's safe. PS: of course, first idea was to upgrade to FreeBSD 12-stable, but while this upgrade solved the crc problem, this version shows 'stalled tx queue' problem: after CTXSYNC tail == head == cur, 'no space in ring' condition. Attempts to ignore this condition led to continuous ring resets in txcsync: Mar 17 20:21:08 host kernel: 668.224836 [1679] nm_txsync_prologue ixl1 TX3: fail 'head < kring->rhead || head > kring->rtail' h 136 c 136 t 135 rh 135 rc 135 rt 135 hc 135 ht 135 Mar 17 20:21:08 host kernel: 668.238300 [1787] netmap_ring_reinit called for ixl1 TX3 PPS: hardware details: Dell VEP4600, based on Xeon D-2100 with two onboard X722 ports (actually, four, but two of them are not wired). CPU: Intel(R) Xeon(R) D-2187NT CPU @ 2.00GHz (2000.06-MHz K8-class CPU) Origin="GenuineIntel" Id=0x50654 Family=0x6 Model=0x55 Stepping=4 ixl0: <Intel(R) Ethernet Connection 700 Series PF Driver, Version - 1.11.9-k> mem 0xfa000000-0xfaffffff,0xfb018000-0xfb01ffff irq 11 at device 0.0 numa-domain 0 on pci12 ixl0: using 1024 tx descriptors and 1024 rx descriptors ixl0: fw 3.1.57069 api 1.5 nvm 3.33 etid 80001007 oem 1.263.0 ixl0: PF-ID[0]: VFs 32, MSIX 129, VF MSIX 5, QPs 384, I2C ixl0: Using MSIX interrupts with 9 vectors ixl0: Allocating 8 queues for PF LAN VSI; 8 queues active ixl0: Ethernet address: 3c:2c:30:30:59:85 ixl0: SR-IOV ready ixl0: netmap queues/slots: TX 8/1024, RX 8/1024 ixl0@pci0:184:0:0: class=0x020000 card=0x00008086 chip=0x37d38086 rev=0x04 hdr=0x00 vendor = 'Intel Corporation' device = 'Ethernet Connection X722 for 10GbE SFP+' class = network subclass = ethernet
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200324123721.GA26248>