Project

General

Profile

Feature #11357

want i40e multi-group support

Added by Robert Mustacchi 3 months ago. Updated 3 months ago.

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

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

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

History

#1

Updated by Electric Monk 3 months ago

  • Status changed from New to Closed

git commit 09aee6126f680324a9b019f9b4c77309dc611bf9

commit  09aee6126f680324a9b019f9b4c77309dc611bf9
Author: Ryan Zezeski <rpz@joyent.com>
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 <rob.johnston@joyent.com>
    Reviewed by: Robert Mustacchi <rm@joyent.com>
    Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
    Reviewed by: Randy Fishel <randyf@sibernet.com>
    Approved by: Garrett D'Amore <garrett@damore.org>

Also available in: Atom PDF