linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlxsw
Ido Schimmel a110748725 mlxsw: spectrum: Implement common FID core
The device supports three types of FIDs. 802.1Q and 802.1D FIDs for
VLAN-aware and VLAN-unaware bridges (respectively) and rFIDs to
transport packets to the router block.

The different users (e.g., bridge, router, ACLs) of the FIDs
infrastructure need not know about the internal FIDs implementation and
can therefore interact with it using a restricted set of exported
functions.

By encapsulating the entire FID logic and hiding it from the rest of the
driver we get a code base that it much simpler and easier to work with
and extend.

For example, in the current Spectrum ASIC only 802.1D FIDs can be
assigned a VNI, but future ASICs will also support 802.1Q FIDs. With
this patch in place, support for future ASICs can be easily added by
implementing a new FID operations according to their capabilities.

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:49 -04:00
..
cmd.h mlxsw: pci: Remove unused bit 2017-03-08 23:17:38 -08: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
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
emad.h
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
Kconfig mlxsw: spectrum: Validate firmware revision on init 2017-05-25 17:46:17 -04:00
Makefile mlxsw: spectrum: Implement common FID core 2017-05-26 15:18:49 -04:00
minimal.c mlxsw: minimal: Add I2C support for Mellanox ASICs 2016-11-16 23:29:04 -05:00
pci_hw.h mlxsw: pci: Fix EQE structure definition 2017-01-12 09:25:55 -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
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_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_acl.c mlxsw: spectrum: Implement common FID core 2017-05-26 15:18:49 -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_fid.c mlxsw: spectrum: Implement common FID core 2017-05-26 15:18:49 -04:00
spectrum_flower.c mlxsw: spectrum: Implement common FID core 2017-05-26 15:18:49 -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: Implement common FID core 2017-05-26 15:18:49 -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: Implement common FID core 2017-05-26 15:18:49 -04:00
spectrum.c mlxsw: spectrum: Implement common FID core 2017-05-26 15:18:49 -04:00
spectrum.h mlxsw: spectrum: Implement common FID core 2017-05-26 15:18:49 -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