Feature #12520
closedEnable IPv6 tso in igb, ixgbe, and i40e
100%
Description
With device drivers now able to declare their support for IPv6 TSO we should plumb that through in some of the more common Intel wired NIC drivers. In particular:
- igb
- ixgbe
- i40e
Updated by Robert Mustacchi about 2 years ago
This was tested, primarily by Ryan Zezeski who set up and used his networking tests which ran through different IPv6 TSO scenarios which involved off-box, some over mac loopback, and more. Each of the network adapters were tested. Here were his notes from the list:
I tested all of these parts (igb, ixgbe, and i40e) on gate and they work as expected. I wrote some scripts to automate the testing and the output is below. These scripts stand up two IPv6 interfaces, run snoop, send a file with socat, and then inspect the snoop output to verify packets sent are larger than MTU + 14. Keep in mind that gate does not yet have the patches from SmartOS which allow VNICs to use LSO -- thus the loud message printed noting that those tests only verify that IPv6 traffic still works.
I also tested the i40e bits on SmartOS, but it requires a patch to DLD to allow IPv6 + LSO. Furthermore, after this restriction is lifted work has to be done to the software LSO routine in order for the mac-loopback path to work. This is work I'm happy to do for SmartOS, but there's no reason it should hold up this patch.
rpz@thunderhead:/var/tmp/net-tests$ pfexec ./lso-tests -g igb0 ixgbe1 PASS [test_ip6_lso_primary<igb0>] % -g (gate) flag is set -- the following tests will elide % % the LSO check and only verify IPv6 traffic flows. % PASS [test_ip6_lso_vnic<igb0>] PASS [test_ip6_lso_mac_loopback<igb0>] rpz@thunderhead:/var/tmp/net-tests$ pfexec ./lso-tests -g ixgbe0 ixgbe2 PASS [test_ip6_lso_primary<ixgbe0>] % -g (gate) flag is set -- the following tests will elide % % the LSO check and only verify IPv6 traffic flows. % PASS [test_ip6_lso_vnic<ixgbe0>] PASS [test_ip6_lso_mac_loopback<ixgbe0>] rpz@thunderhead:/var/tmp/net-tests$ pfexec ./lso-tests -g i40e0 i40e1 PASS [test_ip6_lso_primary<i40e0>] % -g (gate) flag is set -- the following tests will elide % % the LSO check and only verify IPv6 traffic flows. % PASS [test_ip6_lso_vnic<i40e0>] PASS [test_ip6_lso_mac_loopback<i40e0>] rpz@thunderhead:/var/tmp/net-tests$ snoop -p1 -i /tmp/test_ip6_lso_primary\<i40e0\>.pcap | head 1 0.00000 fd00:0:1:4d::2 -> fd00:0:1:4d::3 TCP D=7777 S=52917 Push Ack=1965058552 Seq=3893706441 Len=4096 Win=64260 Options=<nop,nop,tstamp 26788 26788> rpz@thunderhead:/var/tmp/net-tests$ dladm show-linkprop -p mtu i40e0 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE i40e0 mtu rw 1500 1500 60-9706
Updated by Electric Monk about 2 years ago
- Status changed from New to Closed
git commit 85f496fabdffd32673f6be280a3caa103f7d58a5
commit 85f496fabdffd32673f6be280a3caa103f7d58a5 Author: Robert Mustacchi <rm@fingolfin.org> Date: 2020-04-20T02:49:15.000Z 12520 Enable IPv6 tso in igb, ixgbe, and i40e Reviewed by: Patrick Mooney <pmooney@pfmooney.com> Approved by: Dan McDonald <danmcd@joyent.com>