Feature #11357


want i40e multi-group support

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

driver - device drivers
Start date:
Due date:
% Done:


Estimated time:
Gerrit CR:


Currently, i40e supports only one MAC group. This means that no MAC clients (such as VNICs) can take advantage of HW classification because all traffic must travel through a single group. The goal of this task to implement multi-group support for i40e, specifically:

  • provide as many MAC groups as possible given the NICs resources
  • support multiple rings + RSS for each group (for now perhaps use the same number as ixgbe)
  • make sure that we still have a "default group" to send multicast traffic, or traffic for clients for which we couldn't get a dedicated group

I ran the following tests under DEBUG bits. I ran these tests on both X722 and X710 parts.

  • run dlsend/dlrecv between primary clients (in both directions)
  • run ping between primary clients (both directions)
  • rung iperf3 TCP + UDP between primary clients (both directions), verify Rx HW lanes
  • create VNIC and verify its assigned Rx HW group via dladm show-phys -H
  • run dlsend/dlrecv across VNIC (both directions)
  • run ping across VNIC (both directinos)
  • run iperf3 TCP + UDP across VNIC (both directions), verify Rx HW lanes
  • create VLAN VNIC
  • run dlsend/dlrecv across VLAN VNIC (both directions)
  • run ping across VLAN VNIC (both directions)
  • run iperf3 TCP + UDP across VLAN VNIC (both directions), no HW classification because that's future work in OS-6769
  • create enough VNICs to eat all Rx HW groups, create one more VNIC which will be assigned to default Rx group, then verify traffic flows over this VNIC
Actions #1

Updated by Electric Monk about 3 years ago

  • Status changed from New to Closed

git commit 09aee6126f680324a9b019f9b4c77309dc611bf9

commit  09aee6126f680324a9b019f9b4c77309dc611bf9
Author: Ryan Zezeski <>
Date:   2019-07-15T18:17:00.000Z

    11356 Want Fortville TSO support
    11357 want i40e multi-group support
    11358 i40e_alloc_ring_mem() unwinds when it shouldn't
    11359 Rework i40e transmit descriptor logic
    Portions contributed by: Rob Johnston <>
    Reviewed by: Robert Mustacchi <>
    Reviewed by: Patrick Mooney <>
    Reviewed by: Randy Fishel <>
    Approved by: Garrett D'Amore <>


Also available in: Atom PDF