summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorAmit Cohen <amitc@mellanox.com>2019-11-07 17:42:14 +0100
committerDavid S. Miller <davem@davemloft.net>2019-11-08 04:51:40 +0100
commit3b063ae57bdfec5e574ace440e6c3f34c4115a92 (patch)
treedee48d3e5b30c2df1b8781e78c32f1ecf044e80e /net/core
parentselftests: mlxsw: Add test cases for devlink-trap layer 3 drops (diff)
downloadlinux-3b063ae57bdfec5e574ace440e6c3f34c4115a92.tar.xz
linux-3b063ae57bdfec5e574ace440e6c3f34c4115a92.zip
devlink: Add layer 3 generic packet exception traps
Add layer 3 generic packet exception traps that can report trapped packets and documentation of the traps. Unlike drop traps, these exception traps also need to inject the packet to the kernel's receive path. For example, a packet that was trapped due to unreachable neighbour need to be injected into the kernel so that it will trigger an ARP request or a neighbour solicitation message. 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>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/devlink.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/core/devlink.c b/net/core/devlink.c
index 9bbe2162f22f..ff53f7d29dea 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -7611,6 +7611,12 @@ static const struct devlink_trap devlink_trap_generic[] = {
DEVLINK_TRAP(IPV4_SIP_BC, DROP),
DEVLINK_TRAP(IPV6_MC_DIP_RESERVED_SCOPE, DROP),
DEVLINK_TRAP(IPV6_MC_DIP_INTERFACE_LOCAL_SCOPE, DROP),
+ DEVLINK_TRAP(MTU_ERROR, EXCEPTION),
+ DEVLINK_TRAP(UNRESOLVED_NEIGH, EXCEPTION),
+ DEVLINK_TRAP(RPF, EXCEPTION),
+ DEVLINK_TRAP(REJECT_ROUTE, EXCEPTION),
+ DEVLINK_TRAP(IPV4_LPM_UNICAST_MISS, EXCEPTION),
+ DEVLINK_TRAP(IPV6_LPM_UNICAST_MISS, EXCEPTION),
};
#define DEVLINK_TRAP_GROUP(_id) \