summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/ovsext.vcxproj
diff options
context:
space:
mode:
authorldejing <ldejing@vmware.com>2022-08-18 19:11:00 +0800
committerAlin-Gabriel Serdean <aserdean@ovn.org>2022-09-20 02:48:44 +0300
commitb26015c33fe420399fff1c9f35d1e3204c441954 (patch)
tree7f5ea882a645a452a41da75e4834caf7bfe1fbd0 /datapath-windows/ovsext/ovsext.vcxproj
parent7af5c33c1629b309cbcbe3b6c9c3bd6d3b4c0abf (diff)
downloadopenvswitch-b26015c33fe420399fff1c9f35d1e3204c441954.tar.gz
datapath-windows: support meter action initial version
This patch implemented meter action, currently, meter only support drop method and only support one band. The overall implementation is, when a packet comes in, it will first lookup meter according to the meter id, then get the band->rates and delta time since last access the same meter from the meter struct. Add the multiply result(band->rates * delta_time) to bucket, finally bucket minus the packet size, if the result larger than zero, allow the packet go through, otherwise deny the packet go through. Test case: 1. Setting the size meter size 3M, then the bandwidth was limit around 3M; ovs-ofctl -O OpenFlow13 add-meter br-test meter=2,kbps,\ band=type=drop,rate=3000 ovs-ofctl add-flow br-test "table=0,priority=1,ip \ actions=meter:2,normal" -O OpenFlow13 2. Setting the meter size 8M, then the bandwidth was limit around 8M; ovs-ofctl -O OpenFlow13 add-meter br-test meter=2,\ kbps,band=type=drop,rate=8000 ovs-ofctl add-flow br-test "table=0,priority=1,ip\ actions=meter:2,normal" -O OpenFlow13 Signed-off-by: ldejing <ldejing@vmware.com> Signed-off-by: Alin-Gabriel Serdean <aserdean@ovn.org>
Diffstat (limited to 'datapath-windows/ovsext/ovsext.vcxproj')
-rw-r--r--datapath-windows/ovsext/ovsext.vcxproj2
1 files changed, 2 insertions, 0 deletions
diff --git a/datapath-windows/ovsext/ovsext.vcxproj b/datapath-windows/ovsext/ovsext.vcxproj
index 691a05706..8ee56aa00 100644
--- a/datapath-windows/ovsext/ovsext.vcxproj
+++ b/datapath-windows/ovsext/ovsext.vcxproj
@@ -165,6 +165,7 @@
<ClInclude Include="Ip6Fragment.h" />
<ClInclude Include="IpHelper.h" />
<ClInclude Include="Jhash.h" />
+ <ClInclude Include="Meter.h" />
<ClInclude Include="Mpls.h" />
<ClInclude Include="Netlink/Netlink.h" />
<ClInclude Include="Netlink/NetlinkBuf.h" />
@@ -410,6 +411,7 @@
<ClCompile Include="Ip6Fragment.c" />
<ClCompile Include="IpHelper.c" />
<ClCompile Include="Jhash.c" />
+ <ClCompile Include="Meter.c" />
<ClCompile Include="Netlink/Netlink.c" />
<ClCompile Include="Netlink/NetlinkBuf.c" />
<ClCompile Include="Datapath.c" />