devlink: Add overlay source MAC is multicast trap
authorAmit Cohen <amitc@mellanox.com>
Sun, 19 Jan 2020 13:00:58 +0000 (15:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Jan 2020 15:23:52 +0000 (16:23 +0100)
Add packet trap that can report NVE packets that the device decided to
drop because their overlay source MAC is multicast.

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>
Documentation/networking/devlink/devlink-trap.rst
include/net/devlink.h
net/core/devlink.c

index 014f0a3..47a429b 100644 (file)
@@ -234,6 +234,10 @@ be added to the following table:
      - Traps NVE and IPinIP packets that the device decided to drop because of
        failure during decapsulation (e.g., packet being too short, reserved
        bits set in VXLAN header)
+   * - ``overlay_smac_is_mc``
+     - ``drop``
+     - Traps NVE packets that the device decided to drop because their overlay
+       source MAC is multicast
 
 Driver-specific Packet Traps
 ============================
index 455282a..2813fd0 100644 (file)
@@ -593,6 +593,7 @@ enum devlink_trap_generic_id {
        DEVLINK_TRAP_GENERIC_ID_IPV6_LPM_UNICAST_MISS,
        DEVLINK_TRAP_GENERIC_ID_NON_ROUTABLE,
        DEVLINK_TRAP_GENERIC_ID_DECAP_ERROR,
+       DEVLINK_TRAP_GENERIC_ID_OVERLAY_SMAC_MC,
 
        /* Add new generic trap IDs above */
        __DEVLINK_TRAP_GENERIC_ID_MAX,
@@ -666,6 +667,8 @@ enum devlink_trap_group_generic_id {
        "non_routable_packet"
 #define DEVLINK_TRAP_GENERIC_NAME_DECAP_ERROR \
        "decap_error"
+#define DEVLINK_TRAP_GENERIC_NAME_OVERLAY_SMAC_MC \
+       "overlay_smac_is_mc"
 
 #define DEVLINK_TRAP_GROUP_GENERIC_NAME_L2_DROPS \
        "l2_drops"
index af85fcd..e5b19bd 100644 (file)
@@ -7708,6 +7708,7 @@ static const struct devlink_trap devlink_trap_generic[] = {
        DEVLINK_TRAP(IPV6_LPM_UNICAST_MISS, EXCEPTION),
        DEVLINK_TRAP(NON_ROUTABLE, DROP),
        DEVLINK_TRAP(DECAP_ERROR, EXCEPTION),
+       DEVLINK_TRAP(OVERLAY_SMAC_MC, DROP),
 };
 
 #define DEVLINK_TRAP_GROUP(_id)                                                      \