mlxsw: spectrum: Add missing packet traps
Add the following traps: 1) MTU Error: Trap packets whose size is bigger than the egress RIF's MTU. If DF bit isn't set, traffic will continue to be routed in slow path. 2) TTL Error: Trap packets whose TTL expired. This allows traceroute to work properly. 3) OSPF packets. Fixes: 7b27ce7bb9cd ("mlxsw: spectrum: Add traps needed for router implementation") Signed-off-by: Elad Raz <eladr@mellanox.com> 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>
This commit is contained in:
parent
2f25844c23
commit
c20b80187a
@ -2648,6 +2648,21 @@ static const struct mlxsw_rx_listener mlxsw_sp_rx_listener[] = {
|
||||
.local_port = MLXSW_PORT_DONT_CARE,
|
||||
.trap_id = MLXSW_TRAP_ID_ARPUC,
|
||||
},
|
||||
{
|
||||
.func = mlxsw_sp_rx_listener_func,
|
||||
.local_port = MLXSW_PORT_DONT_CARE,
|
||||
.trap_id = MLXSW_TRAP_ID_MTUERROR,
|
||||
},
|
||||
{
|
||||
.func = mlxsw_sp_rx_listener_func,
|
||||
.local_port = MLXSW_PORT_DONT_CARE,
|
||||
.trap_id = MLXSW_TRAP_ID_TTLERROR,
|
||||
},
|
||||
{
|
||||
.func = mlxsw_sp_rx_listener_func,
|
||||
.local_port = MLXSW_PORT_DONT_CARE,
|
||||
.trap_id = MLXSW_TRAP_ID_OSPF,
|
||||
},
|
||||
{
|
||||
.func = mlxsw_sp_rx_listener_func,
|
||||
.local_port = MLXSW_PORT_DONT_CARE,
|
||||
|
@ -56,6 +56,9 @@ enum {
|
||||
MLXSW_TRAP_ID_IGMP_V3_REPORT = 0x34,
|
||||
MLXSW_TRAP_ID_ARPBC = 0x50,
|
||||
MLXSW_TRAP_ID_ARPUC = 0x51,
|
||||
MLXSW_TRAP_ID_MTUERROR = 0x52,
|
||||
MLXSW_TRAP_ID_TTLERROR = 0x53,
|
||||
MLXSW_TRAP_ID_OSPF = 0x55,
|
||||
MLXSW_TRAP_ID_IP2ME = 0x5F,
|
||||
MLXSW_TRAP_ID_RTR_INGRESS0 = 0x70,
|
||||
MLXSW_TRAP_ID_HOST_MISS_IPV4 = 0x90,
|
||||
|
Loading…
x
Reference in New Issue
Block a user