linux/drivers/net/ethernet/mellanox/mlxsw
Ido Schimmel 10d3757fcb mlxsw: spectrum_router: Allow programming link-local prefix routes
The device has a trap for IPv6 packets that need be routed and have a
unicast link-local destination IP (i.e., fe80::/10). This allows mlxsw
to ignore link-local routes, as the packets will be trapped to the CPU
in any case.

However, since link-local routes are not programmed, it is possible for
routed packets to hit the default route which might also be programmed
to trap packets. This means that packets with a link-local destination
IP might be trapped for the wrong reason.

To overcome this, allow programming link-local prefix routes (usually
one fe80::/64 per-table), so that the packets will be forwarded until
reaching the link-local trap.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-26 20:33:58 -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_acl_flex_actions.c mlxsw: Fix some IS_ERR() vs NULL bugs 2020-04-23 12:34:43 -07:00
core_acl_flex_actions.h mlxsw: spectrum_flower: Offload FLOW_ACTION_MANGLE 2020-03-26 11:55:40 -07:00
core_acl_flex_keys.c mlxsw: core_acl: Avoid defining static variable in header file 2020-03-27 15:06:43 -07:00
core_acl_flex_keys.h mlxsw: core_acl: Avoid defining static variable in header file 2020-03-27 15:06:43 -07:00
core_env.c mlxsw: core: Extend QSFP EEPROM size for ethtool 2019-10-22 10:30:41 -07:00
core_env.h
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
core.c mlxsw: spectrum_trap: Add support for setting of packet trap group parameters 2020-03-30 17:54:59 -07:00
core.h mlxsw: spectrum_trap: Add support for setting of packet trap group parameters 2020-03-30 17:54:59 -07:00
emad.h mlxsw: core: Add EMAD string TLV 2019-11-12 10:54:02 -08:00
i2c.c mlxsw: i2c: Add missing field documentation 2020-03-27 15:06:43 -07:00
i2c.h
ib.h
item.h
Kconfig mlxsw: spectrum: Extend to support Spectrum-3 ASIC 2019-08-08 22:27:09 -07:00
Makefile mlxsw: spectrum: Push matchall bits into a separate file 2020-04-27 12:43:29 -07:00
minimal.c mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()' 2020-01-27 11:13:53 +01:00
pci_hw.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-02-27 18:31:39 -08:00
pci.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-25 18:58:11 -07:00
pci.h mlxsw: spectrum: Extend to support Spectrum-3 ASIC 2019-08-08 22:27:09 -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: spectrum: Add packet traps for BFD packets 2020-05-26 20:33:58 -07:00
resources.h mlxsw: spectrum_cnt: Query bank size from FW resources 2020-03-18 16:46:19 -07:00
spectrum1_acl_tcam.c
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: Fix some IS_ERR() vs NULL bugs 2020-04-23 12:34:43 -07: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: Rename acl_block to flow_block 2020-04-27 12:43:29 -07:00
spectrum_acl_atcam.c
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
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 mlxsw: spectrum_acl: Convert flower-based mirroring to new SPAN API 2020-04-30 13:02:32 -07:00
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: spectrum_flower: Expose a function to get min and max rule priority 2020-05-09 16:02:43 -07:00
spectrum_acl_tcam.h mlxsw: spectrum_flower: Expose a function to get min and max rule priority 2020-05-09 16:02:43 -07:00
spectrum_acl.c mlxsw: spectrum_flower: Expose a function to get min and max rule priority 2020-05-09 16:02:43 -07:00
spectrum_buffers.c mlxsw: spectrum_buffers: Assign non-zero quotas to TC 0 of the CPU port 2020-05-24 19:32:23 -07:00
spectrum_cnt.c mlxsw: spectrum_cnt: Fix 64-bit division in mlxsw_sp_counter_resources_register 2020-03-23 20:57:16 -07:00
spectrum_cnt.h mlxsw: spectrum_cnt: Expose subpool sizes over devlink resources 2020-03-18 16:46:19 -07:00
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: Remove RTNL where possible 2020-02-22 21:24:51 -08:00
spectrum_dpipe.h
spectrum_fid.c mlxsw: spectrum: Remove unused RIF and FID families 2020-03-27 15:06:43 -07:00
spectrum_flow.c mlxsw: spectrum_matchall: Forbid to insert matchall rules in collision with flower rules 2020-05-09 16:02:43 -07:00
spectrum_flower.c net: flow_offload: simplify hw stats check handling 2020-05-22 15:52:08 -07: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_matchall.c mlxsw: spectrum_matchall: Forbid to insert matchall rules in collision with flower rules 2020-05-09 16:02:43 -07:00
spectrum_mr_tcam.c mlxsw: Fix some IS_ERR() vs NULL bugs 2020-04-23 12:34:43 -07:00
spectrum_mr_tcam.h
spectrum_mr.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2020-03-29 21:25:29 -07:00
spectrum_mr.h
spectrum_nve_vxlan.c mlxsw: spectrum_ptp: Increase parsing depth when PTP is enabled 2019-07-29 13:55:05 -07:00
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_ptp.c mlxsw: spectrum_ptp: Fix build warnings 2020-03-30 11:20:33 -07: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: Offload RED ECN nodrop mode 2020-03-14 21:03:46 -07:00
spectrum_router.c mlxsw: spectrum_router: Allow programming link-local prefix routes 2020-05-26 20:33:58 -07:00
spectrum_router.h mlxsw: spectrum_router: Introduce router lock 2020-02-22 21:24:51 -08:00
spectrum_span.c mlxsw: spectrum_span: Remove old SPAN API 2020-04-30 13:02:32 -07:00
spectrum_span.h mlxsw: spectrum_span: Remove old SPAN API 2020-04-30 13:02:32 -07:00
spectrum_switchdev.c mlxsw: spectrum_switchdev: Optimize SFN records processing 2020-02-26 20:44:42 -08:00
spectrum_switchdev.h
spectrum_trap.c mlxsw: spectrum_trap: Do not hard code "thin" policer identifier 2020-05-26 20:33:58 -07:00
spectrum_trap.h mlxsw: spectrum_trap: Do not hard code "thin" policer identifier 2020-05-26 20:33:58 -07:00
spectrum.c mlxsw: spectrum: Add packet traps for BFD packets 2020-05-26 20:33:58 -07:00
spectrum.h mlxsw: spectrum_matchall: Forbid to insert matchall rules in collision with flower rules 2020-05-09 16:02:43 -07:00
switchib.c mlxsw: Propagate extack down to register_fib_notifier() 2019-10-04 11:10:56 -07:00
switchx2.c mlxsw: switchx2: Move SwitchX-2 trap groups out of main enum 2020-05-26 20:33:58 -07:00
trap.h mlxsw: spectrum: Add packet traps for BFD packets 2020-05-26 20:33:58 -07:00
txheader.h