linux/drivers/net/ethernet
Petr Machata b2b1dab688 mlxsw: spectrum: Support ieee_setapp, ieee_delapp
The APP TLVs are used for communicating priority-to-protocol ID maps for
a given netdevice. Support the following APP TLVs:

- DSCP (selector 5) to configure priority-to-DSCP code point maps. Use
  these maps to configure packet priority on ingress, and DSCP code
  point rewrite on egress.

- Default priority (selector 1, PID 0) to configure priority for the
  DSCP code points that don't have one assigned by the DSCP selector. In
  future this could also be used for assigning default port priority
  when a packet arrives without DSCP tagging.

Besides setting up the maps themselves, also configure port trust level
and rewrite bits.

Port trust level determines whether, for a packet arriving through a
certain port, the priority should be determined based on PCP or DSCP
header fields. So far, mlxsw kept the device default of trust-PCP. Now,
as soon as the first DSCP APP TLV is configured, switch to trust-DSCP.
Only when all DSCP APP TLVs are removed, switch back to trust-PCP again.
Note that the default priority APP TLV doesn't impact the trust level
configuration.

Rewrite bits determine whether DSCP and PCP fields of egressing packets
should be updated according to switch priority. When port trust is
switched to DSCP, enable rewrite of DSCP field.

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-07-27 13:17:50 -07:00
..
3com net: prevent ISA drivers from building on PPC32 2018-07-22 11:12:29 -07:00
8390
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 net: allow fallback function to pass netdev 2018-07-09 13:57:25 -07:00
amd amd-xgbe: use dma_mapping_error to check map errors 2018-07-25 21:17:17 -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 Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-07-24 19:21:58 -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 Merge ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux 2018-07-20 21:17:12 -07:00
chelsio cxgb4: move Tx/Rx free pages collection to common code 2018-07-24 10:12:22 -07:00
cirrus net: prevent ISA drivers from building on PPC32 2018-07-22 11:12:29 -07:00
cisco enic: do not overwrite error code 2018-06-20 08:10:13 +09:00
cortina net: gemini: Indicate that we can handle jumboframes 2018-07-12 17:39:15 -07:00
davicom
dec
dlink
emulex be2net: move rss_flags field in rss_info to ensure proper alignment 2018-07-12 00:03:31 -07:00
ezchip
faraday net/ncsi: Silence debug messages 2018-06-20 07:26:58 +09:00
freescale net: ethernet: fs-enet: Use generic CRC32 implementation 2018-07-25 13:40:39 -07:00
fujitsu
hisilicon net: hns: make hns_dsaf_roce_reset non static 2018-07-26 21:19:31 -07:00
hp
huawei Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-07-24 19:21:58 -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: mvpp2: debugfs: fix incorrect bitwise operator 2018-07-18 10:55:42 -07:00
mediatek net: mediatek: use dma_zalloc_coherent instead of allocator/memset 2018-07-22 20:51:40 -07:00
mellanox mlxsw: spectrum: Support ieee_setapp, ieee_delapp 2018-07-27 13:17:50 -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
neterion vxge: Remove unnecessary include of <linux/pci_hotplug.h> 2018-07-25 13:52:38 -07:00
netronome nfp: protect from theoretical size overflows on HW descriptor ring 2018-07-25 22:17:44 -07:00
ni treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
nuvoton
nvidia treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -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 Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-07-24 19:21:58 -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
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/torvalds/linux 2018-07-20 21:17:12 -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: restore shaper configuration while down/up 2018-07-23 20:34:36 -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
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 treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
jme.h
Kconfig
korina.c
lantiq_etop.c net: Add generic ndo_select_queue functions 2018-07-09 13:15:34 -07:00
Makefile net: ethernet: sfc: Make subdir logic consistent with other vendors 2018-07-05 20:05:54 +09:00
netx-eth.c