linux/drivers/net/ethernet/mellanox/mlxsw
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
..
cmd.h mlxsw: cmd: Handle error after reset gracefully 2018-05-29 10:10:03 -04:00
core_acl_flex_actions.c Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-05 13:04:31 -07:00
core_acl_flex_actions.h mlxsw: spectrum_acl: Propagate extack pointer 2018-07-24 10:10:33 -07:00
core_acl_flex_keys.c mlxsw: spectrum_acl: Allow encoding a partial key 2018-07-25 16:46:01 -07:00
core_acl_flex_keys.h mlxsw: spectrum_acl: Allow encoding a partial key 2018-07-25 16:46:01 -07:00
core_hwmon.c ethernet: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
core_thermal.c
core.c mlxsw: Add extack messages for port_{un, }split failures 2018-06-05 12:32:38 -04:00
core.h mlxsw: Add extack messages for port_{un, }split failures 2018-06-05 12:32:38 -04:00
emad.h
i2c.c mlxsw: core: Add support for reload 2018-01-16 14:15:35 -05:00
i2c.h
ib.h
item.h mlxsw: reg: add rdpm register 2018-01-14 12:21:11 -05:00
Kconfig mlxsw: spectrum_acl: Implement common eRP core 2018-07-25 16:46:01 -07:00
Makefile mlxsw: spectrum_acl: Implement common eRP core 2018-07-25 16:46:01 -07:00
minimal.c
pci_hw.h mlxsw: pci: Introduce helpers to work with multiple CQE versions 2018-05-03 13:44:42 -04:00
pci.c mlxsw: pci: Utilize MRSR register to perform FW reset 2018-05-29 10:10:03 -04:00
pci.h mlxsw: spectrum: Extend to support Spectrum-2 ASIC 2018-07-19 02:13:14 +09:00
port.h
reg.h mlxsw: reg: Add QoS Switch Traffic Class Table is Multicast-Aware Register 2018-08-05 17:28:21 -07:00
resources.h mlxsw: resources: Add Spectrum-2 eRP resources 2018-07-25 16:46:01 -07:00
spectrum1_acl_tcam.c mlxsw: spectrum_acl: Start using A-TCAM 2018-07-25 16:46:02 -07:00
spectrum1_kvdl.c mlxsw: spectrum_kvdl: Pass entry_count to free function 2018-07-09 16:24:16 -07:00
spectrum1_mr_tcam.c mlxsw: spectrum_mr_tcam: Push Spectrum-specific operations into a separate file 2018-07-09 16:24:17 -07:00
spectrum2_acl_tcam.c mlxsw: spectrum_acl: Start using A-TCAM 2018-07-25 16:46:02 -07:00
spectrum2_kvdl.c mlxsw: spectrum: Add KVDL manager implementation for Spectrum-2 2018-07-19 02:13:13 +09:00
spectrum2_mr_tcam.c mlxsw: spectrum_mr_tcam: Add Spectrum-2 stubs 2018-07-19 02:13:13 +09:00
spectrum_acl_atcam.c mlxsw: spectrum_acl: Start using A-TCAM 2018-07-25 16:46:02 -07:00
spectrum_acl_ctcam.c mlxsw: spectrum_acl: Start using A-TCAM 2018-07-25 16:46:02 -07:00
spectrum_acl_erp.c mlxsw: spectrum_acl: Start using A-TCAM 2018-07-25 16:46:02 -07:00
spectrum_acl_flex_actions.c mlxsw: acl: Introduce activity get operation for action block/set 2018-07-19 02:13:13 +09:00
spectrum_acl_flex_actions.h mlxsw: spectrum_acl: Fix flex actions header ifndef define construct 2018-04-01 10:56:41 -04:00
spectrum_acl_flex_keys.c mlxsw: spectrum_acl: Add support for Spectrum-2 block encoding 2018-07-19 02:13:14 +09:00
spectrum_acl_tcam.c mlxsw: spectrum_acl: Make global TCAM resources available to regions 2018-07-25 16:46:01 -07:00
spectrum_acl_tcam.h mlxsw: spectrum_acl: Start using A-TCAM 2018-07-25 16:46:02 -07:00
spectrum_acl.c mlxsw: spectrum_acl: Add extack messages 2018-07-24 10:10:33 -07:00
spectrum_buffers.c mlxsw: spectrum_buffers: Set a minimum quota for CPU port traffic 2018-03-17 17:34:54 -04:00
spectrum_cnt.c
spectrum_cnt.h
spectrum_dcb.c mlxsw: spectrum: Support ieee_setapp, ieee_delapp 2018-07-27 13:17:50 -07:00
spectrum_dpipe.c mlxsw: spectrum_dpipe: Connect dpipe tables to resources 2018-01-16 14:15:35 -05:00
spectrum_dpipe.h
spectrum_fid.c mlxsw: spectrum: Treat IPv6 unregistered multicast as broadcast 2018-02-28 12:32:36 -05:00
spectrum_flower.c mlxsw: spectrum_flower: Add extack messages 2018-07-24 10:10:33 -07:00
spectrum_ipip.c mlxsw: spectrum_ipip: Support decoding IPv6 tunnel addresses 2018-02-27 14:46:26 -05:00
spectrum_ipip.h mlxsw: spectrum_ipip: Support decoding IPv6 tunnel addresses 2018-02-27 14:46:26 -05:00
spectrum_kvdl.c mlxsw: spectrum_kvdl: Pass entry_count to free function 2018-07-09 16:24:16 -07:00
spectrum_mr_tcam.c mlxsw: spectrum_mr_tcam: Push Spectrum-specific operations into a separate file 2018-07-09 16:24:17 -07:00
spectrum_mr_tcam.h
spectrum_mr.c mlxsw: spectrum_mr_tcam: Push Spectrum-specific operations into a separate file 2018-07-09 16:24:17 -07:00
spectrum_mr.h mlxsw: spectrum_mr_tcam: Push Spectrum-specific operations into a separate file 2018-07-09 16:24:17 -07:00
spectrum_qdisc.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
spectrum_router.c mlxsw: spectrum_router: Handle sysctl_ip_fwd_update_priority 2018-08-01 09:52:30 -07:00
spectrum_router.h mlxsw: spectrum_router: Add mlxsw_sp_rif_fid() 2018-06-26 18:05:22 +09:00
spectrum_span.c mlxsw: spectrum_span: Change LAG lower selection 2018-07-11 23:10:19 -07:00
spectrum_span.h mlxsw: spectrum_span: Allow bridge for gretap mirror 2018-04-30 12:42:40 -04:00
spectrum_switchdev.c mlxsw: spectrum_switchdev: Ban PVID change if bridge has a RIF 2018-06-26 18:05:22 +09:00
spectrum_switchdev.h mlxsw: spectrum_switchdev: Publish two functions 2018-04-30 12:42:40 -04:00
spectrum.c mlxsw: spectrum: Configure MC-aware mode on mlxsw ports 2018-08-05 17:28:21 -07:00
spectrum.h mlxsw: spectrum: Support ieee_setapp, ieee_delapp 2018-07-27 13:17:50 -07:00
switchib.c mlxsw: Move "resources_query_enable" out of mlxsw_config_profile 2018-04-01 10:56:43 -04:00
switchx2.c mlxsw: use devlink helper to generate physical port name 2018-05-19 16:30:39 -04:00
trap.h mlxsw: spectrum: Add VRRP traps 2018-07-14 11:23:26 -07:00
txheader.h