OpenCloudOS-Kernel/drivers/net/ethernet
Petr Machata 7b81953066 mlxsw: spectrum: Configure MC-aware mode on mlxsw ports
In order to give unicast traffic precedence over BUM traffic, configure
multicast-aware mode on all ports.

Under multicast-aware regime, when assigning traffic class to a packet,
the switch doesn't merely take the value prescribed by the QTCT
register. For BUM traffic, it instead assigns that value plus 8.

ETS elements for TCs 8..15 thus need to be configured as well. Extend
mlxsw_sp_port_ets_init() so that it maps each of them to the same
subgroup as their corresponding TC from the range 0..7, such that TCs X
and X+8 map to the same subgroup.

The existing code configures TCs with strict priority. So far this was
immaterial, because each TC had its own subgroup. Now that two TCs share
a subgroup it becomes important. TCs are prioritized in order of 7, 6,
..., 0, 15, 14, ..., 8: the higher TCs used for BUM traffic end up being
deprioritized. Since that's what's needed, keep that configuration as it
is, and configure the new TCs likewise.

Finally in mlxsw_sp_port_create(), invoke configuration of QTCTM to
enable MC-aware mode on each port.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-08-05 17:28:21 -07:00
..
3com net: prevent ISA drivers from building on PPC32 2018-07-22 11:12:29 -07:00
8390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-21 16:01:54 -04:00
adaptec net: adaptec: Replace mdelay() with msleep() in starfire_init_one() 2018-07-26 21:24:23 -07:00
aeroflex
agere
alacritech
allwinner
alteon net: alteon: acenic: remove redundant pointer rxdesc 2018-07-04 22:39:10 +09:00
altera
amazon Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
amd Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
apm net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
apple
aquantia Merge ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux 2018-07-20 21:17:12 -07:00
arc net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
atheros Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-07-24 19:21:58 -07:00
aurora net: ethernet: Make NET_VENDOR_AURORA default to yes 2018-07-05 20:05:54 +09:00
broadcom bnxt_en: Do not use the CNP CoS queue for networking traffic. 2018-08-05 17:08:26 -07:00
brocade treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
cadence Merge ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux 2018-07-20 21:17:12 -07:00
calxeda net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
cavium liquidio: remove redundant function cn23xx_dump_iq_regs 2018-07-30 09:27:21 -07:00
chelsio Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
cirrus net: prevent ISA drivers from building on PPC32 2018-07-22 11:12:29 -07:00
cisco net: cisco: enic: Replace GFP_ATOMIC with GFP_KERNEL 2018-08-04 13:08:06 -07:00
cortina net: gemini: Indicate that we can handle jumboframes 2018-07-12 17:39:15 -07:00
davicom
dec
dlink
emulex be2net: fix spelling mistake "seqence" -> "sequence" 2018-08-02 10:43:11 -07:00
ezchip
faraday net/ncsi: Silence debug messages 2018-06-20 07:26:58 +09:00
freescale net: fec: check DMA addressing limitations 2018-08-02 10:19:24 -07:00
fujitsu
hisilicon net: hns3: Refine the MSIX allocation for PF 2018-08-03 09:53:24 -07:00
hp
huawei Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
i825xx
ibm ibmvnic: Fix error recovery on login failure 2018-07-16 14:39:47 -07:00
intel ixgbe: Refactor queue disable logic to take completion time into account 2018-07-26 09:04:06 -07:00
marvell net: mvneta: Improve the buffer allocation method for SWBM 2018-07-28 22:12:55 -07:00
mediatek net-next: mediatek: cleanup unnecessary get chip id and its user 2018-07-29 13:15:57 -07:00
mellanox mlxsw: spectrum: Configure MC-aware mode on mlxsw ports 2018-08-05 17:28:21 -07:00
micrel ethernet: micrel: remove redundant pointer 'info' 2018-07-04 22:39:11 +09:00
microchip lan743x: Make symbol lan743x_pm_ops static 2018-07-25 16:37:55 -07:00
moxa treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
mscc net: mscc: simplify retrieving the tag type from the frame header 2018-07-16 13:43:31 -07:00
myricom
natsemi net/sonic: Use dma_mapping_error() 2018-05-31 14:17:33 -04:00
neterion net: change Exar/Neterion menu items to be alphabetical 2018-08-01 09:49:02 -07:00
netronome Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
ni treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
nuvoton
nvidia net: nvidia: forcedeth: Replace GFP_ATOMIC with GFP_KERNEL in nv_probe() 2018-07-27 13:45:14 -07:00
nxp
oki-semi net: pch_gbe: Clean up pch_gbe_set_multi 2018-06-23 20:52:09 +09:00
packetengines net: ethernet: Add missing VENDOR to Cadence and Packet Engines symbols 2018-07-05 20:05:54 +09:00
pasemi treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
qlogic qed: Make some functions static 2018-08-01 09:37:15 -07:00
qualcomm Merge ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux 2018-07-20 21:17:12 -07:00
rdc
realtek Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-07-24 19:21:58 -07:00
renesas sh_eth: make sh_eth_tsu_{read|write}_entry() prototypes symmetric 2018-07-23 12:34:50 -07:00
rocker rocker: rocker_main: Ignore bridge VLAN events 2018-05-31 14:13:43 -04:00
samsung
seeq
sfc Merge ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux 2018-07-20 21:17:12 -07:00
sgi
silan
sis
smsc epic100: remove redundant variable 'irq' 2018-07-04 22:39:11 +09:00
socionext net: socionext: remove redundant pointer ndev 2018-07-05 19:30:26 +09:00
stmicro Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
sun net: allow ndo_select_queue to pass netdev 2018-07-09 13:41:34 -07:00
synopsys
tehuti net: tehuti: remove redundant pointer skb 2018-07-05 19:33:39 +09:00
ti net: ethernet: ti: cpsw: replace unnecessarily macroses on functions 2018-08-01 09:29:24 -07:00
toshiba treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
tundra
via
wiznet
xilinx Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-07-24 19:21:58 -07:00
xircom
xscale
Kconfig net: change Exar/Neterion menu items to be alphabetical 2018-08-01 09:49:02 -07:00
Makefile net: change Exar/Neterion menu items to be alphabetical 2018-08-01 09:49:02 -07:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
fealnx.c
jme.c net: jme: Replace mdelay() with msleep() and usleep_range() in jme_wait_link() 2018-07-27 13:45:14 -07:00
jme.h
korina.c
lantiq_etop.c net: Add generic ndo_select_queue functions 2018-07-09 13:15:34 -07:00
netx-eth.c