2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 14:25:26 +00:00

ofproto-dpif-xlate: Add a drop action for native tunnel failure.

Upon tunnel output failure, due to routing failure for example, add an
explicit drop action, so it will appear in the dp-flows for better
visibility for that case.
For those, add additional drop reasons.

Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Eli Britstein <elibr@nvidia.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
This commit is contained in:
Eli Britstein
2025-04-14 10:31:05 +03:00
committed by Ilya Maximets
parent a53d67bf93
commit 1015b13f05
4 changed files with 81 additions and 0 deletions

View File

@@ -56,6 +56,10 @@ COVERAGE_DEFINE(drop_action_invalid_tunnel_metadata);
COVERAGE_DEFINE(drop_action_unsupported_packet_type);
COVERAGE_DEFINE(drop_action_congestion);
COVERAGE_DEFINE(drop_action_forwarding_disabled);
COVERAGE_DEFINE(drop_action_tunnel_routing_failed);
COVERAGE_DEFINE(drop_action_tunnel_output_no_ethernet);
COVERAGE_DEFINE(drop_action_tunnel_neigh_cache_miss);
COVERAGE_DEFINE(drop_action_tunnel_header_build_failed);
static void
dp_update_drop_action_counter(enum xlate_error drop_reason,
@@ -100,6 +104,18 @@ dp_update_drop_action_counter(enum xlate_error drop_reason,
case XLATE_FORWARDING_DISABLED:
COVERAGE_ADD(drop_action_forwarding_disabled, delta);
break;
case XLATE_TUNNEL_ROUTING_FAILED:
COVERAGE_ADD(drop_action_tunnel_routing_failed, delta);
break;
case XLATE_TUNNEL_OUTPUT_NO_ETHERNET:
COVERAGE_ADD(drop_action_tunnel_output_no_ethernet, delta);
break;
case XLATE_TUNNEL_NEIGH_CACHE_MISS:
COVERAGE_ADD(drop_action_tunnel_neigh_cache_miss, delta);
break;
case XLATE_TUNNEL_HEADER_BUILD_FAILED:
COVERAGE_ADD(drop_action_tunnel_header_build_failed, delta);
break;
case XLATE_MAX:
default:
VLOG_ERR_RL(&rl, "Invalid Drop reason type: %d", drop_reason);