• Andre Guedes's avatar
    igb: Add support for CBS offload · 05f9d3e1
    Andre Guedes authored
    This patch adds support for Credit-Based Shaper (CBS) qdisc offload
    from Traffic Control system. This support enable us to leverage the
    Forwarding and Queuing for Time-Sensitive Streams (FQTSS) features
    from Intel i210 Ethernet Controller. FQTSS is the former 802.1Qav
    standard which was merged into 802.1Q in 2014. It enables traffic
    prioritization and bandwidth reservation via the Credit-Based Shaper
    which is implemented in hardware by i210 controller.
    
    The patch introduces the igb_setup_tc() function which implements the
    support for CBS qdisc hardware offload in the IGB driver. CBS offload
    is the only traffic control offload supported by the driver at the
    moment.
    
    FQTSS transmission mode from i210 controller is automatically enabled
    by the IGB driver when the CBS is enabled for the first hardware
    queue. Likewise, FQTSS mode is automatically disabled when CBS is
    disabled for the last hardware queue. Changing FQTSS mode requires NIC
    reset.
    
    FQTSS feature is supported by i210 controller only.
    Signed-off-by: default avatarAndre Guedes <andre.guedes@intel.com>
    Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
    Tested-by: default avatarHenrik Austad <henrik@austad.us>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    05f9d3e1
igb_main.c 244 KB