On 8/7/2018 8:31 PM, Justin Pettit wrote:
Thanks, Greg. I actually have this queued up with another patch that will
disable meters entirely on broken kernels. I plan to send that out tomorrow.
--Justin
Oops - perhaps I was a bit hasty. I was just trying to get caught up
with upstream.
Apologies if I interrupted your work flow.
- Greg
On Aug 7, 2018, at 4:45 PM, Greg Rose <[email protected]> wrote:
From: Justin Pettit <[email protected]>
Upstream commit:
From: Justin Pettit <[email protected]>
Date: Sat, 28 Jul 2018 15:26:01 -0700
Subject: [PATCH] openvswitch: meter: Fix setting meter id for new entries
The meter code would create an entry for each new meter. However, it
would not set the meter id in the new entry, so every meter would appear
to have a meter id of zero. This commit properly sets the meter id when
adding the entry.
Fixes: 96fbc13d7e77 ("openvswitch: Add meter infrastructure")
Signed-off-by: Justin Pettit <[email protected]>
Cc: Andy Zhou <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Cc: Justin Pettit <[email protected]>
Signed-off-by: Greg Rose <[email protected]>
---
datapath/meter.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/datapath/meter.c b/datapath/meter.c
index 1c2ed46..281d869 100644
--- a/datapath/meter.c
+++ b/datapath/meter.c
@@ -221,6 +221,7 @@ static struct dp_meter *dp_meter_create(struct nlattr **a)
if (!meter)
return ERR_PTR(-ENOMEM);
+ meter->id = nla_get_u32(a[OVS_METER_ATTR_ID]);
meter->used = div_u64(ktime_get_ns(), 1000 * 1000);
meter->kbps = a[OVS_METER_ATTR_KBPS] ? 1 : 0;
meter->keep_stats = !a[OVS_METER_ATTR_CLEAR];
@@ -290,6 +291,10 @@ static int ovs_meter_cmd_set(struct sk_buff *skb, struct
genl_info *info)
u32 meter_id;
bool failed;
+ if (!a[OVS_METER_ATTR_ID]) {
+ return -ENODEV;
+ }
+
meter = dp_meter_create(a);
if (IS_ERR_OR_NULL(meter))
return PTR_ERR(meter);
@@ -308,11 +313,6 @@ static int ovs_meter_cmd_set(struct sk_buff *skb, struct
genl_info *info)
goto exit_unlock;
}
- if (!a[OVS_METER_ATTR_ID]) {
- err = -ENODEV;
- goto exit_unlock;
- }
-
meter_id = nla_get_u32(a[OVS_METER_ATTR_ID]);
/* Cannot fail after this. */
--
1.8.3.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev