summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Moreno <amorenoz@redhat.com>2023-08-11 17:12:51 +0300
committerDavid S. Miller <davem@davemloft.net>2023-08-14 10:01:06 +0300
commitf329d1bc1a4580e0f8a402b14a6fd024ec8e5c7b (patch)
tree75d4268875f81e0d1bf7d38aa16f08a612ebaaf9
parente7bc7db9ba463e763ac6113279cade19da9cb939 (diff)
downloadlinux-f329d1bc1a4580e0f8a402b14a6fd024ec8e5c7b.tar.xz
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>
-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 {