linux/drivers/net/ethernet
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
..
3com drivers/net: 3com/3c515: Convert timers to use timer_setup() 2017-10-27 12:09:15 +09:00
8390
adaptec
adi drivers: net: adi: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
aeroflex
agere drivers: net: et131x: use setup_timer() helper. 2017-09-21 11:44:39 -07:00
alacritech
allwinner
alteon
altera
amazon Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-22 13:39:14 +01:00
amd net: amd8111e: Convert timers to use timer_setup() 2017-10-18 12:39:38 +01:00
apm drivers: net: xgene: Remove return statement from void function 2017-09-05 14:58:25 -07:00
apple net: ethernet: apple: Convert timers to use timer_setup() 2017-10-18 12:40:25 +01:00
aquantia net: aquantia: Bad udp rate on default interrupt coalescing 2017-10-21 12:32:24 +01:00
arc
atheros
aurora
broadcom bnxt_en: alloc tc_info{} struct only when tc flower is enabled 2017-10-28 00:02:45 +09:00
brocade bna: Convert timers to use timer_setup() 2017-10-18 12:39:38 +01:00
cadence
calxeda
cavium liquidio: xmit_more support 2017-10-28 00:35:23 +09:00
chelsio cxgb4: collect hardware misc dumps 2017-10-27 23:48:30 +09:00
cirrus
cisco drivers: net: enic: use setup_timer() helper. 2017-09-21 11:44:44 -07:00
davicom davicom: Display proper debug level up to 6 2017-09-08 20:53:10 -07:00
dec net: tulip: Convert timers to use timer_setup() 2017-10-18 12:39:38 +01:00
dlink net: dl2k: Convert timers to use timer_setup() 2017-10-18 12:39:39 +01:00
emulex be2net: fix TSO6/GSO issue causing TX-stall on Lancer/BEx 2017-09-13 09:28:18 -07:00
ezchip
faraday net: faraday: ftmac100: Use BUG_ON instead of if condition followed by BUG. 2017-10-27 23:53:14 +09:00
freescale dpaa_eth: remove obsolete comment 2017-10-18 13:44:47 +01:00
fujitsu
hisilicon net: hns3: fix the bug when reuse command description in hclge_add_mac_vlan_tbl 2017-10-26 17:25:35 +09:00
hp
huawei net-next/hinic: Fix a case of Tx Queue is Stopped forever 2017-09-28 10:26:50 -07:00
i825xx dma-mapping updates for 4.14: 2017-09-12 13:30:06 -07:00
ibm ibmvnic: Fix failover error path for non-fatal resets 2017-10-28 00:23:58 +09:00
intel igb: Add support for CBS offload 2017-10-27 09:49:36 -07:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-05 18:19:22 -07:00
mediatek drivers, net, ethernet: convert mtk_eth.dma_refcnt from atomic_t to refcount_t 2017-10-22 02:22:38 +01:00
mellanox mlxsw: reg: Avoid magic number in PPCNT 2017-10-27 23:25:55 +09:00
micrel net: ksz884x: Convert timers to use timer_setup() 2017-10-18 12:39:39 +01:00
microchip
moxa
myricom
natsemi drivers: net: natsemi: use setup_timer() helper. 2017-09-21 11:44:40 -07:00
neterion net: neterion: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
netronome drivers/net: netronome: Convert timers to use timer_setup() 2017-10-27 12:09:15 +09:00
nuvoton drivers/net: nuvoton: Convert timers to use timer_setup() 2017-10-27 12:09:15 +09:00
nvidia forcedeth: Convert timers to use timer_setup() 2017-10-18 12:39:39 +01:00
nxp
oki-semi pch_gbe: Switch to new PCI IRQ allocation API 2017-10-16 21:12:32 +01:00
packetengines drivers: net: packetengines: use setup_timer() helper. 2017-09-21 11:44:44 -07:00
pasemi
qlogic qed: Fix iWARP out of order flow 2017-10-19 12:46:43 +01:00
qualcomm net: qualcomm: rmnet: Add support for GRO 2017-10-28 00:10:23 +09:00
rdc
realtek drivers/net: realtek: Convert timers to use timer_setup() 2017-10-27 12:09:16 +09:00
renesas net: sh_eth: implement R-Car Gen[12] fallback compatibility strings 2017-10-20 08:32:24 +01:00
rocker rocker: fix rocker_tlv_put_* functions for KASAN 2017-09-25 20:18:27 -07:00
samsung drivers/net: sxgbe: Convert timers to use timer_setup() 2017-10-27 12:09:16 +09:00
seeq net: seeq: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
sfc net: ethernet/sfc: Convert timers to use timer_setup() 2017-10-25 12:57:33 +09:00
sgi net/ethernet/sgi: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
silan
sis drivers/net: sis: Convert timers to use timer_setup() 2017-10-25 13:09:47 +09:00
smsc drivers: net: smsc: use setup_timer() helper. 2017-09-21 11:44:41 -07:00
stmicro net: stmmac: sun8i: Restore the compatibles 2017-10-27 11:58:49 +09:00
sun net: ethernet: sun: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
synopsys
tehuti
ti net/ti/tlan: Convert timers to use timer_setup() 2017-10-18 12:39:36 +01:00
tile
toshiba drivers: net: spider_net: use setup_timer() helper. 2017-09-21 11:44:40 -07:00
tundra
via dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
wiznet
xilinx
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c drivers: net: fealnx: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
jme.c
jme.h
Kconfig
korina.c net: korina: bump version 2017-09-18 16:50:07 -07:00
lantiq_etop.c
Makefile
netx-eth.c