OpenCloudOS-Kernel/drivers/net/ethernet/mellanox/mlxsw
Ido Schimmel 4aafc368da mlxsw: spectrum: Set port's mode according to FID mappings
We currently transition the port to "Virtual mode" upon the creation of
its first VLAN upper, as we need to classify incoming packets to a FID
using {Port, VID} and not only the VID.

However, it's more appropriate to transition the port to this mode when
the {Port, VID} are actually mapped to a FID. Either during the
enslavement of the VLAN upper to a VLAN-unaware bridge or the
configuration of a router port.

Do this change now in preparation for the introduction of the FID core,
where this operation will be encapsulated.

To prevent regressions, this patch also explicitly configures an OVS
slave to "Virtual mode". Otherwise, a packet that didn't hit an ACL rule
could be classified to an existing FID based on a global VID-to-FID
mapping, thus not incurring a FID mis-classification, which would
otherwise trap the packet to the CPU to be processed by the OVS daemon.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-26 15:18:45 -04:00
..
Kconfig mlxsw: spectrum: Validate firmware revision on init 2017-05-25 17:46:17 -04:00
Makefile mlxsw: spectrum: Add placeholder for dpipe 2017-03-28 17:11:54 -07:00
cmd.h mlxsw: pci: Remove unused bit 2017-03-08 23:17:38 -08:00
core.c mlxsw: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
core.h mlxsw: core: Create the mlxsw_fw_rev struct 2017-05-25 17:46:17 -04:00
core_acl_flex_actions.c mlxsw: spectrum: Implement action to set FID 2017-04-20 15:32:30 -04:00
core_acl_flex_actions.h mlxsw: spectrum: Implement action to set FID 2017-04-20 15:32:30 -04:00
core_acl_flex_keys.c mlxsw: core: Introduce flexible keys support 2017-02-03 16:35:41 -05:00
core_acl_flex_keys.h mlxsw: acl: Add tcp flags acl element 2017-05-24 16:22:11 -04:00
core_hwmon.c mlxsw: core: Zero payload buffers for couple of registers 2016-10-30 16:50:17 -04:00
core_thermal.c mlxsw: core: Implement thermal zone 2016-11-22 10:04:19 -05:00
emad.h mlxsw: Add interface to access registers and process events 2015-07-30 00:05:00 -07:00
i2c.c mlxsw: Fix mlxsw_i2c_write return value 2017-01-09 14:35:13 -05:00
i2c.h mlxsw: Introduce support for I2C bus 2016-11-16 23:29:04 -05:00
ib.h mlxsw: switchx2: Add IB port support 2016-10-30 16:50:17 -04:00
item.h mlxsw: item: Add helpers for getting pointer into payload for char buffer item 2017-02-03 16:35:38 -05:00
minimal.c mlxsw: minimal: Add I2C support for Mellanox ASICs 2016-11-16 23:29:04 -05:00
pci.c mlxsw: convert to pci_alloc_irq_vectors 2017-04-11 11:16:03 -04:00
pci.h mlxsw: switchib: Introduce SwitchIB and SwitchIB silicon driver 2016-10-30 16:50:17 -04:00
pci_hw.h mlxsw: pci: Fix EQE structure definition 2017-01-12 09:25:55 -05:00
port.h mlxsw: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
reg.h mlxsw: reg: Add Management Component Data Access register 2017-05-25 17:46:17 -04:00
resources.h mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum.c mlxsw: spectrum: Set port's mode according to FID mappings 2017-05-26 15:18:45 -04:00
spectrum.h mlxsw: spectrum: Set port's mode according to FID mappings 2017-05-26 15:18:45 -04:00
spectrum_acl.c mlxsw: spectrum: Implement action to set FID 2017-04-20 15:32:30 -04:00
spectrum_acl_flex_keys.h mlxsw: spectrum: Add acl block containing tcp flags for ipv4 2017-05-24 16:22:11 -04:00
spectrum_acl_tcam.c mlxsw: spectrum_flower: Add support for tcp flags 2017-05-24 16:22:11 -04:00
spectrum_buffers.c mlxsw: spectrum_buffer: Reduce scope of shared buffer struct 2017-05-17 14:06:54 -04:00
spectrum_cnt.c mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum_cnt.h mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum_dcb.c mlxsw: spectrum: Do not override PAUSE settings 2016-08-08 12:57:27 -07:00
spectrum_dpipe.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-05-18 16:11:32 -04:00
spectrum_dpipe.h mlxsw: spectrum: Add definition for egress rif table 2017-03-28 17:11:54 -07:00
spectrum_flower.c mlxsw: spectrum_flower: Add support for tcp flags 2017-05-24 16:22:11 -04:00
spectrum_kvdl.c mlxsw: spectrum_kvdl: Cosmetic kvdl allocator API change 2017-03-25 19:56:15 -07:00
spectrum_router.c mlxsw: spectrum: Set port's mode according to FID mappings 2017-05-26 15:18:45 -04:00
spectrum_router.h mlxsw: spectrum_router: Move RIFs array to its rightful place 2017-05-17 14:06:54 -04:00
spectrum_switchdev.c mlxsw: spectrum: Set port's mode according to FID mappings 2017-05-26 15:18:45 -04:00
switchib.c mlxsw: Change trap groups setting 2016-11-25 21:22:14 -05:00
switchx2.c mlxsw: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
trap.h mlxsw: spectrum: Add FID miss trap 2017-04-20 15:32:31 -04:00
txheader.h mlxsw: spectrum: Add initial support for Spectrum ASIC 2015-10-16 07:15:23 -07:00