aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@mellanox.com>2018-12-04 08:15:12 +0000
committerDavid S. Miller <davem@davemloft.net>2018-12-04 08:36:36 -0800
commit2f4f44946b748918de6345dd12d0c418c0206002 (patch)
tree07c00148d4ade5ddd79a68c315eb608313276b85 /tools
parentnet: Do not route unicast IP packets twice (diff)
downloadlinux-dev-2f4f44946b748918de6345dd12d0c418c0206002.tar.xz
linux-dev-2f4f44946b748918de6345dd12d0c418c0206002.zip
mlxsw: spectrum: Mirror loopbacked packets instead of trapping them
When the ASIC detects that a unicast packet is routed through the same router interface (RIF) from which it ingressed (iRIF == eRIF), it raises a trap called loopback error (LBERROR). Thus far, this trap was configured to send a sole copy of the packet to the CPU so that ICMP redirect packets could be potentially generated by the kernel. This is problematic as the CPU cannot forward packets at 3.2Tb/s and there are scenarios (e.g., "one-armed router") where iRIF == eRIF is not an exception. Solve this by changing the trap to send a copy of the packet to the CPU. To prevent the kernel from forwarding the packet again, it is marked with 'offload_l3_fwd_mark'. The trap is configured in a trap group of its own with a dedicated policer in order not to prevent packets trapped by other traps from reaching the CPU. Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions