linux_dsm_epyc7002/drivers/net
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
..
appletalk
arcnet
bonding
caif net: caif: remove redundant re-assignment of pointer pfrm 2018-01-22 10:51:56 -05:00
can can: migrate documentation to restructured text 2018-01-26 10:46:44 +01:00
cris
dsa net: dsa: mv88e6xxx: Free ATU/VTU irq only when there is chip irq 2018-01-19 15:57:02 -05:00
ethernet i40e: Enable ADq and create queue channel/s on VF 2018-02-14 09:43:22 -08:00
fddi
fjes
hamradio
hippi
hyperv hv_netvsc: Use the num_online_cpus() for channel limit 2018-01-22 16:24:08 -05:00
ieee802154 vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
ipvlan
netdevsim netdevsim: fix overflow on the error path 2018-02-01 11:22:51 +01:00
phy net: phy: fix phy_start to consider PHY_IGNORE_INTERRUPT 2018-02-08 15:35:51 -05:00
plip
ppp net: make getname() functions return length rather than use int* parameter 2018-02-12 14:15:04 -05:00
slip
team
usb r8152: set rx mode early when linking on 2018-02-02 19:19:00 -05:00
vmxnet3 vmxnet3: remove redundant initialization of pointer 'rq' 2018-02-01 14:54:28 -05:00
wan Merge branch 'misc.poll' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-01-30 17:58:07 -08:00
wimax treewide: Use DEVICE_ATTR_WO 2018-01-09 16:34:35 +01:00
wireless vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
xen-netback
dummy.c
eql.c
geneve.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-29 10:15:51 -05:00
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c net: Convert loopback_net_ops 2018-02-13 10:36:09 -05:00
macsec.c macsec: restore uAPI after addition of GCM-AES-256 2018-01-22 15:40:16 -05:00
macvlan.c
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
thunderbolt.c
tun.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
veth.c
virtio_net.c virtio_net: Add ethtool stats 2018-01-22 15:25:37 -05:00
vrf.c net: vrf: Add support for sends to local broadcast address 2018-01-25 21:51:03 -05:00
vsockmon.c
vxlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-29 10:15:51 -05:00
xen-netfront.c xen-netfront: Fix race between device setup and open 2018-02-06 09:55:40 +01:00