linux/drivers/net/ethernet/intel
Andre Guedes 05f9d3e1ae igb: Add support for CBS offload
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: Andre Guedes <andre.guedes@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Tested-by: Henrik Austad <henrik@austad.us>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-10-27 09:49:36 -07:00
..
e1000 networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
e1000e ethernet/intel: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
fm10k ethernet/intel: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
i40e Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-22 13:39:14 +01:00
i40evf Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 2017-10-19 11:44:36 +01:00
igb igb: Add support for CBS offload 2017-10-27 09:49:36 -07:00
igbvf ethernet/intel: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
ixgb ethernet/intel: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
ixgbe net: sched: avoid ndo_setup_tc calls for TC_SETUP_CLS* 2017-10-21 03:04:08 +01:00
ixgbevf ethernet/intel: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
e100.c ethernet/intel: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
Kconfig i40evf: Add support for Adaptive Virtual Function 2017-06-01 14:30:02 -07:00
Makefile