From: Petr Machata <pe...@nvidia.com> Add the packet trap that can report packets that were ECN marked due to RED AQM.
Signed-off-by: Amit Cohen <amco...@nvidia.com> Reviewed-by: Jiri Pirko <j...@nvidia.com> Signed-off-by: Petr Machata <pe...@nvidia.com> Signed-off-by: Ido Schimmel <ido...@nvidia.com> --- Documentation/networking/devlink/devlink-trap.rst | 4 ++++ include/net/devlink.h | 3 +++ net/core/devlink.c | 1 + 3 files changed, 8 insertions(+) diff --git a/Documentation/networking/devlink/devlink-trap.rst b/Documentation/networking/devlink/devlink-trap.rst index d875f3e1e9cf..c6026b44617e 100644 --- a/Documentation/networking/devlink/devlink-trap.rst +++ b/Documentation/networking/devlink/devlink-trap.rst @@ -480,6 +480,10 @@ be added to the following table: - ``drop`` - Traps packets that the device decided to drop in case they hit a blackhole nexthop + * - ``ecn_mark`` + - ``drop`` + - Traps ECN-capable packets that were marked with CE (Congestion + Encountered) code point by RED algorithm instead of being dropped Driver-specific Packet Traps ============================ diff --git a/include/net/devlink.h b/include/net/devlink.h index f466819cc477..dd0c0b8fba6e 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -836,6 +836,7 @@ enum devlink_trap_generic_id { DEVLINK_TRAP_GENERIC_ID_GTP_PARSING, DEVLINK_TRAP_GENERIC_ID_ESP_PARSING, DEVLINK_TRAP_GENERIC_ID_BLACKHOLE_NEXTHOP, + DEVLINK_TRAP_GENERIC_ID_ECN_MARK, /* Add new generic trap IDs above */ __DEVLINK_TRAP_GENERIC_ID_MAX, @@ -1061,6 +1062,8 @@ enum devlink_trap_group_generic_id { "esp_parsing" #define DEVLINK_TRAP_GENERIC_NAME_BLACKHOLE_NEXTHOP \ "blackhole_nexthop" +#define DEVLINK_TRAP_GENERIC_NAME_ECN_MARK \ + "ecn_mark" #define DEVLINK_TRAP_GROUP_GENERIC_NAME_L2_DROPS \ "l2_drops" diff --git a/net/core/devlink.c b/net/core/devlink.c index ee828e4b1007..f86688bfad46 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -9508,6 +9508,7 @@ static const struct devlink_trap devlink_trap_generic[] = { DEVLINK_TRAP(GTP_PARSING, DROP), DEVLINK_TRAP(ESP_PARSING, DROP), DEVLINK_TRAP(BLACKHOLE_NEXTHOP, DROP), + DEVLINK_TRAP(ECN_MARK, DROP), }; #define DEVLINK_TRAP_GROUP(_id) \ -- 2.29.2