[ovs-git] [openvswitch/ovs] d9d8eb: dpif-netdev: Fix the meter buckets overflow.
NIC我是一张网卡
noreply at github.com
Tue Mar 30 20:51:27 UTC 2021
Branch: refs/heads/branch-2.13
Home: https://github.com/openvswitch/ovs
Commit: d9d8ebfa002a7021b72787880c7b518ff9fcf2b1
https://github.com/openvswitch/ovs/commit/d9d8ebfa002a7021b72787880c7b518ff9fcf2b1
Author: Tonghao Zhang <xiangxia.m.yue at gmail.com>
Date: 2021-03-30 (Tue, 30 Mar 2021)
Changed paths:
M lib/dpif-netdev.c
Log Message:
-----------
dpif-netdev: Fix the meter buckets overflow.
When setting the meter rate to 4.3+Gbps, there is an overflow, the
meters don't work as expected.
$ ovs-ofctl -O OpenFlow13 add-meter br-int "meter=1 kbps stats bands=type=drop rate=4294968"
It was overflow when we set the rate to 4294968, because "burst_size" in
the ofputil_meter_band is uint32_t type. This patch remove the "up"
in the dp_meter_band struction, and introduce "rate", "burst_size" and
"bucket" (uint64_t) to userspace datapath's meter band. This patch don't
change the public API and structure.
Signed-off-by: Tonghao Zhang <xiangxia.m.yue at gmail.com>
Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
Commit: a112239ff5f6a07852c445e49f3de293f21c6e7c
https://github.com/openvswitch/ovs/commit/a112239ff5f6a07852c445e49f3de293f21c6e7c
Author: Tonghao Zhang <xiangxia.m.yue at gmail.com>
Date: 2021-03-30 (Tue, 30 Mar 2021)
Changed paths:
M lib/dpif-netdev.c
M tests/dpif-netdev.at
M tests/ofproto-dpif.at
Log Message:
-----------
dpif-netdev: Refactor and fix the buckets calculation.
The way that "burst_size" was used as total buckets is
very strange. If user set the "burst_size" too smaller while
"rate" larger, that may affect the meter normal work.
This patch refactor the buckets calculation, and start
with a full buckets. It also makes the calculation equal
to what kernel datapath does.
Signed-off-by: Tonghao Zhang <xiangxia.m.yue at gmail.com>
Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
Compare: https://github.com/openvswitch/ovs/compare/fc8444fb1d7e...a112239ff5f6
More information about the git
mailing list