summaryrefslogtreecommitdiff
path: root/net/openvswitch
diff options
context:
space:
mode:
authorAdrian Moreno <amorenoz@redhat.com>2023-08-11 16:12:51 +0200
committerDavid S. Miller <davem@davemloft.net>2023-08-14 08:01:06 +0100
commitf329d1bc1a4580e0f8a402b14a6fd024ec8e5c7b (patch)
tree75d4268875f81e0d1bf7d38aa16f08a612ebaaf9 /net/openvswitch
parente7bc7db9ba463e763ac6113279cade19da9cb939 (diff)
net: openvswitch: add meter drop reason
By using an independent drop reason it makes it easy to distinguish between QoS-triggered or flow-triggered drop. Acked-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch')
-rw-r--r--net/openvswitch/actions.c2
-rw-r--r--net/openvswitch/drop.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c
index e188f32ea96f..122211478606 100644
--- a/net/openvswitch/actions.c
+++ b/net/openvswitch/actions.c
@@ -1454,7 +1454,7 @@ static int do_execute_actions(struct datapath *dp, struct sk_buff *skb,
case OVS_ACTION_ATTR_METER:
if (ovs_meter_execute(dp, skb, key, nla_get_u32(a))) {
- consume_skb(skb);
+ ovs_kfree_skb_reason(skb, OVS_DROP_METER);
return 0;
}
break;
diff --git a/net/openvswitch/drop.h b/net/openvswitch/drop.h
index 22e66d28c0ca..a35e63d71094 100644
--- a/net/openvswitch/drop.h
+++ b/net/openvswitch/drop.h
@@ -13,6 +13,7 @@
R(OVS_DROP_ACTION_ERROR) \
R(OVS_DROP_EXPLICIT) \
R(OVS_DROP_EXPLICIT_WITH_ERROR) \
+ R(OVS_DROP_METER) \
/* deliberate comment for trailing \ */
enum ovs_drop_reason {