OpenCloudOS-Kernel/drivers/net/ethernet/mellanox/mlxsw
Ido Schimmel 8e18d85eab mlxsw: spectrum_router: Store NVE decapsulation configuration in router
When a host route is added, the driver checks if the route needs to be
promoted to perform NVE decapsulation based on the current NVE
configuration. If so, the index of the decapsulation entry is retrieved
and associated with the route.

Currently, this information is stored in the NVE module which the router
module consults. Since the information is protected under RTNL and since
route insertion happens with RTNL held, there is no problem to retrieve
the information from the NVE module.

However, this is going to change and route insertion will no longer
happen under RTNL. Instead, a dedicated lock will be introduced for the
router module.

Therefore, store this information in the router module and change the
router module to consult this copy.

The validity of the information is set / cleared whenever an NVE tunnel
is initialized / de-initialized. When this happens the NVE module calls
into the router module to promote / demote the relevant host route.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-02-22 21:24:51 -08:00
..
Kconfig mlxsw: spectrum: Extend to support Spectrum-3 ASIC 2019-08-08 22:27:09 -07:00
Makefile mlxsw: spectrum: Add devlink-trap support 2019-08-21 12:58:39 -07:00
cmd.h mlxsw: cmd: Free running clock PCI BAR and offsets via query firmware 2019-06-13 22:34:55 -07:00
core.c mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
core.h mlxsw: core: Add support for using EMAD string TLV 2019-11-12 10:54:02 -08:00
core_acl_flex_actions.c
core_acl_flex_actions.h
core_acl_flex_keys.c mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
core_acl_flex_keys.h mlxsw: spectrum_acl: Fix SRC_SYS_PORT element size 2019-06-19 10:09:22 -04:00
core_env.c mlxsw: core: Extend QSFP EEPROM size for ethtool 2019-10-22 10:30:41 -07:00
core_env.h mlxsw: core: Move ethtool module callbacks to a common location 2019-03-03 22:23:00 -08:00
core_hwmon.c mlxsw: core: Add validation of hardware device types for MGPIR register 2020-02-07 18:47:01 +01:00
core_thermal.c mlxsw: core: Add validation of hardware device types for MGPIR register 2020-02-07 18:47:01 +01:00
emad.h mlxsw: core: Add EMAD string TLV 2019-11-12 10:54:02 -08:00
i2c.c mlxsw: Propagate extack down to register_fib_notifier() 2019-10-04 11:10:56 -07:00
i2c.h
ib.h
item.h
minimal.c mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()' 2020-01-27 11:13:53 +01:00
pci.c mlxsw: Propagate extack down to register_fib_notifier() 2019-10-04 11:10:56 -07:00
pci.h mlxsw: spectrum: Extend to support Spectrum-3 ASIC 2019-08-08 22:27:09 -07:00
pci_hw.h mlxsw: pci: Increase PCI reset timeout for SN3800 systems 2019-10-30 12:07:05 -07:00
port.h mlxsw: spectrum: Use PMTM register to get max module width 2019-10-31 10:54:46 -07:00
reg.h mlxsw: reg: Increase MLXSW_REG_QEEC_MAS_DIS 2020-01-25 10:56:31 +01:00
resources.h mlxsw: spectrum: Introduce resource for getting offset of 4 lanes split port 2019-10-31 10:54:47 -07:00
spectrum.c net/mlxfw: Generic mlx FW flash status notify 2020-02-21 15:41:10 -08:00
spectrum.h mlxsw: spectrum_router: Store NVE decapsulation configuration in router 2020-02-22 21:24:51 -08:00
spectrum1_acl_tcam.c mlxsw: spectrum_acl: Pass hints priv all the way to ERP code 2019-02-08 15:02:50 -08:00
spectrum1_kvdl.c mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
spectrum1_mr_tcam.c
spectrum2_acl_tcam.c mlxsw: spectrum_acl: Pass hints priv all the way to ERP code 2019-02-08 15:02:50 -08:00
spectrum2_kvdl.c mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
spectrum2_mr_tcam.c mlxsw: spectrum_router: Add Multicast routing support for Spectrum-2 2018-12-11 23:01:33 -08:00
spectrum_acl.c mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
spectrum_acl_atcam.c mlxsw: spectrum_acl: Pass hints priv all the way to ERP code 2019-02-08 15:02:50 -08:00
spectrum_acl_bloom_filter.c mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
spectrum_acl_ctcam.c mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call path 2019-01-28 10:43:15 -08:00
spectrum_acl_erp.c mlxsw: spectrum_acl: Avoid warning after identical rules insertion 2019-05-30 12:30:47 -07:00
spectrum_acl_flex_actions.c
spectrum_acl_flex_actions.h
spectrum_acl_flex_keys.c mlxsw: spectrum_acl: Fix SRC_SYS_PORT element size 2019-06-19 10:09:22 -04:00
spectrum_acl_tcam.c mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
spectrum_acl_tcam.h mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
spectrum_buffers.c mlxsw: Fix 64-bit division in mlxsw_sp_sb_prs_init 2019-10-31 13:55:34 -07:00
spectrum_cnt.c mlxsw: spectrum: Protect counter pool with a lock 2020-02-20 10:04:33 -08:00
spectrum_cnt.h
spectrum_dcb.c mlxsw: spectrum: Configure shaper rate and burst size together 2020-01-25 10:56:31 +01:00
spectrum_dpipe.c mlxsw: spectrum_dpipe: Add missing error path 2020-02-07 18:47:01 +01:00
spectrum_dpipe.h mlxsw: spectrum: Assume CONFIG_NET_DEVLINK is always enabled 2019-04-19 15:03:55 -07:00
spectrum_fid.c mlxsw: spectrum_fid: Use 'refcount_t' for FID reference counting 2020-02-17 14:42:53 -08:00
spectrum_flower.c mlxsw: spectrum_flower: Fail in case user specifies multiple mirror actions 2019-09-27 20:33:19 +02:00
spectrum_ipip.c mlxsw: Add ECN configurations with IPinIP tunnels 2020-01-19 16:23:52 +01:00
spectrum_ipip.h
spectrum_kvdl.c mlxsw: spectrum_kvdl: Protect allocations with a lock 2020-02-20 10:04:33 -08:00
spectrum_mr.c mlxsw: spectrum_mr: Protect multicast route list with a lock 2020-02-22 21:24:51 -08:00
spectrum_mr.h
spectrum_mr_tcam.c
spectrum_mr_tcam.h
spectrum_nve.c mlxsw: spectrum_router: Store NVE decapsulation configuration in router 2020-02-22 21:24:51 -08:00
spectrum_nve.h mlxsw: spectrum_ptp: Increase parsing depth when PTP is enabled 2019-07-29 13:55:05 -07:00
spectrum_nve_vxlan.c mlxsw: spectrum_ptp: Increase parsing depth when PTP is enabled 2019-07-29 13:55:05 -07:00
spectrum_ptp.c mlxsw: spectrum: Push code getting port speed into a helper 2020-01-20 13:25:45 +01:00
spectrum_ptp.h mlxsw: spectrum_ptp: Add counters for GC events 2019-08-28 18:24:04 -07:00
spectrum_qdisc.c mlxsw: spectrum_qdisc: Fix 64-bit division error in mlxsw_sp_qdisc_tbf_rate_kbps 2020-01-31 08:52:41 -08:00
spectrum_router.c mlxsw: spectrum_router: Store NVE decapsulation configuration in router 2020-02-22 21:24:51 -08:00
spectrum_router.h mlxsw: spectrum_router: Store NVE decapsulation configuration in router 2020-02-22 21:24:51 -08:00
spectrum_span.c mlxsw: spectrum_span: Only update mirroring agents if present 2020-02-20 10:04:34 -08:00
spectrum_span.h spectrum: Add a delayed work to update SPAN buffsize according to speed 2020-01-20 13:25:46 +01:00
spectrum_switchdev.c mlxsw: spectrum: Prevent RIF access outside of routing code 2020-02-20 10:04:34 -08:00
spectrum_switchdev.h
spectrum_trap.c mlxsw: Add OVERLAY_SMAC_MC trap 2020-01-19 16:23:52 +01:00
switchib.c mlxsw: Propagate extack down to register_fib_notifier() 2019-10-04 11:10:56 -07:00
switchx2.c mlxsw: switchx2: Do not modify cloned SKBs during xmit 2020-01-15 04:16:30 -08:00
trap.h mlxsw: Add OVERLAY_SMAC_MC trap 2020-01-19 16:23:52 +01:00
txheader.h