linux_dsm_epyc7002/drivers/net/ethernet
Avinash Dayanand c27eac4816 i40e: Enable ADq and create queue channel/s on VF
This patch enables ADq and creates queue channels on a VF. An ADq
enabled VF can have up to 4 VSIs and each one of them represents
a traffic class and this is termed as a queue channel. Each of these
VSIs can have up to 4 queues. This patch services the request for
enabling ADq and adds queue channel based on the TC mqprio info
provided by the user in the VF.

Initially a check is made to see if spoof check is OFF, if not ADq
will not be enabled. PF notifies VF for a reset in order to complete
the creation of ADq resources i.e. creation of additional VSIs and
allocation of queues as per TC information, all in the reset path.

Steps:
======
1. Turn off the spoof check
2. Enable ADq using tc mqprio command with or without rate limit.
3. Pass traffic.

Example:
========
% ip link set dev eth0 vf 0 spoofchk off
% tc qdisc add dev $iface root mqprio num_tc 4 map\
	0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 queues\
	4@0 4@4 4@8 4@8 hw 1 mode channel

Expected results:
=================
1. Total number of queues for the VF should be sum of queues of all TCs.
2. Traffic flow should be normal without errors.

Signed-off-by: Avinash Dayanand <avinash.dayanand@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-02-14 09:43:22 -08:00
..
3com 3c59x: fix missing dma_mapping_error check and bad ring refill logic 2018-01-03 13:44:14 -05:00
8390 nubus: Adopt standard linked list implementation 2018-01-16 16:47:29 +01:00
adaptec
adi
aeroflex
agere
alacritech
allwinner
alteon net: alteon: acenic: clean up indentation issue 2017-12-15 13:28:30 -05:00
altera
amazon Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-09 10:37:00 -05:00
amd net: amd-xgbe: fix comparison to bitshift when dealing with a mask 2018-02-06 11:24:51 -05:00
apm
apple
aquantia net: aquantia: make symbol hw_atl_boards static 2018-01-23 10:59:42 -05:00
arc net: arc_emac: restart stalled EMAC 2017-12-19 13:25:52 -05:00
atheros
aurora
broadcom pci-v4.16-changes 2018-02-06 09:59:40 -08:00
brocade
cadence net: macb: Handle HRESP error 2018-01-29 14:25:47 -05:00
calxeda
cavium net: thunder: change q_len's type to handle max ring size 2018-02-08 15:34:23 -05:00
chelsio cxgb4: Fix error handling path in 'init_one()' 2018-02-07 21:46:06 -05:00
cirrus m68k updates for 4.16 2018-01-29 16:37:15 -08:00
cisco enic: add wq clean up budget 2017-12-26 13:10:07 -05:00
cortina net: gemini: Depend on HAS_IOMEM 2018-01-21 18:05:30 -05:00
davicom
dec
dlink
emulex be2net: Handle transmit completion errors in Lancer 2018-02-06 11:48:33 -05:00
ezchip
faraday
freescale dpaa_eth: fix incorrect comment 2018-02-13 12:06:11 -05:00
fujitsu
hisilicon net: hns3: add int_gl_idx setup for VF 2018-01-26 10:58:30 -05:00
hp
huawei hinic: Replace PCI pool old API 2018-01-02 16:14:49 -06:00
i825xx
ibm ibmvnic: Remove skb->protocol checks in ibmvnic_xmit 2018-02-09 14:47:00 -05:00
intel i40e: Enable ADq and create queue channel/s on VF 2018-02-14 09:43:22 -08:00
marvell net: pxa168_eth: add netconsole support 2018-02-01 14:58:37 -05:00
mediatek net: mediatek: Explicitly include pinctrl headers 2018-02-05 09:41:54 -08:00
mellanox mlxsw: spectrum: Use NL_SET_ERR_MSG_MOD 2018-02-13 12:27:20 -05:00
micrel net: ks8851: Support DT-provided MAC address 2017-12-19 13:52:39 -05:00
microchip
moxa
myricom
natsemi nubus: Add expansion_type values for various Mac models 2018-01-16 16:47:29 +01:00
neterion
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 2018-02-09 14:05:10 -05:00
nuvoton
nvidia forcedeth: remove duplicate structure member in rx 2018-01-23 11:11:41 -05:00
nxp
oki-semi pch_gbe: Deprecate pci_get_bus_and_slot() 2018-01-17 08:16:46 -06:00
packetengines
pasemi net: pasemi: Replace mac address parsing 2017-12-20 12:47:46 -05:00
qlogic net: qlge: use memmove instead of skb_copy_to_linear_data 2018-02-02 19:44:34 -05:00
qualcomm net: qcom/emac: extend DMA mask to 46bits 2018-01-24 16:32:29 -05:00
rdc
realtek r8169: fix RTL8168EP take too long to complete driver initialization. 2018-01-31 10:26:30 -05:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-17 00:10:42 -05:00
rocker rocker: fix possible null pointer dereference in rocker_router_fib_event_work 2018-02-01 09:50:52 -05:00
samsung
seeq
sfc sfc: mark some unexported symbols as static 2018-01-28 21:59:18 -05:00
sgi
silan
sis
smsc
socionext net: netsec: use dma_addr_t for storing dma address 2018-01-14 12:00:23 -05:00
stmicro net: stmmac: remove redundant enable of PMT irq 2018-02-09 14:23:04 -05:00
sun sun: Add SPDX license tags to Sun network drivers 2018-02-07 21:51:02 -05:00
synopsys net: dwc-xlgmac: Get rid of custom hex_dump_to_buffer() 2017-12-21 15:05:33 -05:00
tehuti
ti net: ethernet: ti: cpsw: fix net watchdog timeout 2018-02-07 21:57:10 -05:00
tile
toshiba
tundra net: tsi108: Use DMA API properly 2018-01-17 18:04:43 -06:00
via
wiznet
xilinx
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: jme: remove unused initialization of 'rxdesc' 2018-02-01 14:54:28 -05:00
jme.h
Kconfig net: ethernet: Add a driver for Gemini gigabit ethernet 2018-01-15 14:38:55 -05:00
korina.c
lantiq_etop.c
Makefile net: ethernet: Add a driver for Gemini gigabit ethernet 2018-01-15 14:38:55 -05:00
netx-eth.c