mlxsw: spectrum: Disable SIP_DIP check in hardware pipeline
authorAmit Cohen <amitc@mellanox.com>
Sun, 5 Jan 2020 16:20:54 +0000 (18:20 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Jan 2020 21:38:36 +0000 (13:38 -0800)
The check drops packets if they need to be routed and their source IP
equals to their destination IP.

Disable the check since the kernel forwards such packets and does not
drop them.

Signed-off-by: Amit Cohen <amitc@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
drivers/net/ethernet/mellanox/mlxsw/trap.h

index 114122b..0214252 100644 (file)
@@ -4549,6 +4549,8 @@ static const struct mlxsw_listener mlxsw_sp_listener[] = {
                             ROUTER_EXP, false),
        MLXSW_SP_RXL_NO_MARK(DISCARD_ING_ROUTER_MC_DMAC, FORWARD,
                             ROUTER_EXP, false),
+       MLXSW_SP_RXL_NO_MARK(DISCARD_ING_ROUTER_SIP_DIP, FORWARD,
+                            ROUTER_EXP, false),
        /* PKT Sample trap */
        MLXSW_RXL(mlxsw_sp_rx_listener_sample_func, PKT_SAMPLE, MIRROR_TO_CPU,
                  false, SP_IP2ME, DISCARD),
index 7ccec9e..02c6882 100644 (file)
@@ -84,6 +84,7 @@ enum {
        MLXSW_TRAP_ID_DISCARD_ING_ROUTER_SIP_LB = 0x165,
        MLXSW_TRAP_ID_DISCARD_ING_ROUTER_CORRUPTED_IP_HDR = 0x167,
        MLXSW_TRAP_ID_DISCARD_ING_ROUTER_MC_DMAC = 0x168,
+       MLXSW_TRAP_ID_DISCARD_ING_ROUTER_SIP_DIP = 0x169,
        MLXSW_TRAP_ID_DISCARD_ING_ROUTER_IPV4_SIP_BC = 0x16A,
        MLXSW_TRAP_ID_DISCARD_ING_ROUTER_IPV4_DIP_LOCAL_NET = 0x16B,
        MLXSW_TRAP_ID_DISCARD_ROUTER_LPM4 = 0x17B,