linux/drivers/net
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
..
appletalk
arcnet
bonding Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
caif
can Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
dsa net: dsa: bcm_sf2: Disable learning while in WoL 2018-08-03 12:11:43 -07:00
ethernet mlxsw: spectrum: Configure MC-aware mode on mlxsw ports 2018-08-05 17:28:21 -07:00
fddi net: fddi: fix a possible null-ptr-deref 2018-06-08 18:47:46 -04:00
fjes fjes: use currently unused variable my_epid and max_epid 2018-07-05 19:34:21 +09:00
hamradio net/hamradio/6pack: remove redundant variable channel 2018-07-05 19:34:45 +09:00
hippi treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
hyperv hv_netvsc: Add per-cpu ethtool stats for netvsc 2018-07-30 12:35:04 -07:00
ieee802154 net: ieee802154: adf7242: Fix OCL calibration runs 2018-07-09 10:53:12 +02:00
ipvlan ipvlan: call dev_change_flags when ipvlan mode is reset 2018-07-02 20:38:09 +09:00
netdevsim Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
phy net: phy: Add pm support to Broadcom iProc mdio mux driver 2018-08-02 14:36:49 -07:00
plip
ppp ppp: mppe: Remove VLA usage 2018-08-03 12:54:54 -07:00
slip treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
team team: Publish team_port_get_rcu() 2018-07-11 23:10:19 -07:00
usb net:usb: Use ARRAY_SIZE instead of calculating the array size 2018-08-04 13:23:15 -07:00
vmxnet3
wan Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-05 13:04:31 -07:00
wimax wimax/i2400m: remove redundant variables ack_status, bcf and protocol 2018-07-11 22:54:25 -07:00
wireless Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00
xen-netback xen-netback: use true and false for boolean values 2018-08-02 14:43:04 -07:00
dummy.c
eql.c
geneve.c Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-07-03 10:29:26 +09:00
gtp.c gtp: constify nla_policy 2018-07-20 12:33:37 -07:00
ifb.c ifb: fix packets checksum 2018-05-28 23:02:22 -04:00
Kconfig virtio_net: Extend virtio to use VF datapath when available 2018-05-28 22:59:54 -04:00
LICENSE.SRC
loopback.c
macsec.c
macvlan.c macvlan: Change status when lower device goes down 2018-07-11 23:07:22 -07:00
macvtap.c
Makefile net: Introduce net_failover driver 2018-05-28 22:59:54 -04:00
mdio.c
mii.c
net_failover.c failover: change mtu has RTNL 2018-07-29 12:57:26 -07:00
netconsole.c
nlmon.c
ntb_netdev.c net: drivers/net: Convert random_ether_addr to eth_random_addr 2018-06-23 10:49:14 +09:00
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: in virtio_net_hdr only add VLAN_HLEN to csum_start if payload holds vlan 2018-06-07 16:15:38 -04:00
thunderbolt.c
tun.c tun: not use hardcoded mask value 2018-08-04 13:15:11 -07:00
veth.c
virtio_net.c virtio-net: mark expected switch fall-throughs 2018-08-05 17:26:43 -07:00
vrf.c vrf: add CRC32c offload to device features 2018-05-28 22:55:13 -04:00
vsockmon.c
vxlan.c vxlan: fix default fdb entry netlink notify ordering during netdev create 2018-07-22 10:52:37 -07:00
xen-netfront.c Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-02 10:55:32 -07:00