Project

General

Profile

Actions

Feature #12520

closed

Enable IPv6 tso in igb, ixgbe, and i40e

Added by Robert Mustacchi about 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Category:
driver - device drivers
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

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
Actions #1

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
Actions #2

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>

Actions

Also available in: Atom PDF