From: Tonghao Zhang <[email protected]>
For now, the meter of the userspace datapath, don't include
the bucket burst size to buckets. This patch includes it now.
$ ovs-ofctl -O OpenFlow13 add-meter br0 \
'meter=1 pktps burst stats bands=type=drop rate=10000 burst_size=2000'
Cc: Ilya Maximets <[email protected]>
Cc: William Tu <[email protected]>
Cc: Jarno Rajahalme <[email protected]>
Cc: Ben Pfaff <[email protected]>
Cc: Andy Zhou <[email protected]>
Cc: Pravin Shelar <[email protected]>
Signed-off-by: Tonghao Zhang <[email protected]>
---
v2:
* burst size unit is kilobits. should x1000.
---
lib/dpif-netdev.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index b5deaab31eb0..36ecbfc728a9 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -6093,15 +6093,11 @@ dpif_netdev_meter_set(struct dpif *dpif,
ofproto_meter_id meter_id,
for (i = 0; i < config->n_bands; ++i) {
uint32_t band_max_delta_t;
- /* Set burst size to a workable value if none specified. */
- if (config->bands[i].burst_size == 0) {
- config->bands[i].burst_size = config->bands[i].rate;
- }
-
meter->bands[i].up = config->bands[i];
/* Convert burst size to the bucket units: */
/* pkts => 1/1000 packets, kilobits => bits. */
- meter->bands[i].up.burst_size *= 1000;
+ meter->bands[i].up.burst_size += config->bands[i].rate;
+ meter->bands[i].up.burst_size *= 1000ULL;
/* Initialize bucket to empty. */
meter->bands[i].bucket = 0;
--
2.26.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev