mirror of
https://github.com/openvswitch/ovs
synced 2025-08-22 01:51:26 +00:00
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>
101 lines
4.0 KiB
Makefile
101 lines
4.0 KiB
Makefile
EXTRA_DIST += \
|
|
datapath-windows/Package/package.VcxProj \
|
|
datapath-windows/Package/package.VcxProj.user \
|
|
datapath-windows/include/OvsDpInterfaceExt.h \
|
|
datapath-windows/include/OvsDpInterfaceCtExt.h \
|
|
datapath-windows/misc/DriverRecommendedRules.ruleset \
|
|
datapath-windows/misc/OVS.psm1 \
|
|
datapath-windows/misc/install.cmd \
|
|
datapath-windows/misc/uninstall.cmd \
|
|
datapath-windows/ovsext.sln \
|
|
datapath-windows/ovsext/Actions.c \
|
|
datapath-windows/ovsext/Actions.h \
|
|
datapath-windows/ovsext/Atomic.h \
|
|
datapath-windows/ovsext/BufferMgmt.c \
|
|
datapath-windows/ovsext/BufferMgmt.h \
|
|
datapath-windows/ovsext/Conntrack-ftp.c \
|
|
datapath-windows/ovsext/Conntrack-icmp.c \
|
|
datapath-windows/ovsext/Conntrack-other.c \
|
|
datapath-windows/ovsext/Conntrack-related.c \
|
|
datapath-windows/ovsext/Conntrack-nat.c \
|
|
datapath-windows/ovsext/Conntrack-tcp.c \
|
|
datapath-windows/ovsext/Conntrack-nat.h \
|
|
datapath-windows/ovsext/Conntrack.c \
|
|
datapath-windows/ovsext/Conntrack.h \
|
|
datapath-windows/ovsext/Datapath.c \
|
|
datapath-windows/ovsext/Datapath.h \
|
|
datapath-windows/ovsext/Debug.c \
|
|
datapath-windows/ovsext/Debug.h \
|
|
datapath-windows/ovsext/DpInternal.h\
|
|
datapath-windows/ovsext/Driver.c \
|
|
datapath-windows/ovsext/Ethernet.h \
|
|
datapath-windows/ovsext/Event.c \
|
|
datapath-windows/ovsext/Event.h \
|
|
datapath-windows/ovsext/Flow.c \
|
|
datapath-windows/ovsext/Flow.h \
|
|
datapath-windows/ovsext/Gre.h \
|
|
datapath-windows/ovsext/Gre.c \
|
|
datapath-windows/ovsext/IpFragment.c \
|
|
datapath-windows/ovsext/IpFragment.h \
|
|
datapath-windows/ovsext/Ip6Fragment.c \
|
|
datapath-windows/ovsext/Ip6Fragment.h \
|
|
datapath-windows/ovsext/IpHelper.c \
|
|
datapath-windows/ovsext/IpHelper.h \
|
|
datapath-windows/ovsext/Jhash.c \
|
|
datapath-windows/ovsext/Jhash.h \
|
|
datapath-windows/ovsext/Mpls.h \
|
|
datapath-windows/ovsext/Meter.c \
|
|
datapath-windows/ovsext/Meter.h \
|
|
datapath-windows/ovsext/NetProto.h \
|
|
datapath-windows/ovsext/Netlink/Netlink.c \
|
|
datapath-windows/ovsext/Netlink/Netlink.h \
|
|
datapath-windows/ovsext/Netlink/NetlinkBuf.c \
|
|
datapath-windows/ovsext/Netlink/NetlinkBuf.h \
|
|
datapath-windows/ovsext/Netlink/NetlinkError.h \
|
|
datapath-windows/ovsext/Netlink/NetlinkProto.h \
|
|
datapath-windows/ovsext/Offload.c \
|
|
datapath-windows/ovsext/Offload.h \
|
|
datapath-windows/ovsext/Oid.c \
|
|
datapath-windows/ovsext/Oid.h \
|
|
datapath-windows/ovsext/PacketIO.c \
|
|
datapath-windows/ovsext/PacketIO.h \
|
|
datapath-windows/ovsext/PacketParser.c \
|
|
datapath-windows/ovsext/PacketParser.h \
|
|
datapath-windows/ovsext/Recirc.c \
|
|
datapath-windows/ovsext/Recirc.h \
|
|
datapath-windows/ovsext/Stt.c \
|
|
datapath-windows/ovsext/Stt.h \
|
|
datapath-windows/ovsext/Switch.c \
|
|
datapath-windows/ovsext/Switch.h \
|
|
datapath-windows/ovsext/Tunnel.c \
|
|
datapath-windows/ovsext/Tunnel.h \
|
|
datapath-windows/ovsext/TunnelFilter.c \
|
|
datapath-windows/ovsext/TunnelIntf.h \
|
|
datapath-windows/ovsext/Types.h \
|
|
datapath-windows/ovsext/User.c \
|
|
datapath-windows/ovsext/User.h \
|
|
datapath-windows/ovsext/Util.c \
|
|
datapath-windows/ovsext/Util.h \
|
|
datapath-windows/ovsext/Vport.c \
|
|
datapath-windows/ovsext/Vport.h \
|
|
datapath-windows/ovsext/Vxlan.c \
|
|
datapath-windows/ovsext/Vxlan.h \
|
|
datapath-windows/ovsext/Geneve.c \
|
|
datapath-windows/ovsext/Geneve.h \
|
|
datapath-windows/ovsext/ovsext.inf \
|
|
datapath-windows/ovsext/ovsext.rc \
|
|
datapath-windows/ovsext/ovsext.vcxproj \
|
|
datapath-windows/ovsext/ovsext.vcxproj.user \
|
|
datapath-windows/ovsext/precomp.h \
|
|
datapath-windows/ovsext/precompsrc.c \
|
|
datapath-windows/ovsext/resource.h
|
|
|
|
datapath_windows_analyze: all
|
|
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win10Analyze"
|
|
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win8.1Analyze"
|
|
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win8Analyze"
|
|
|
|
datapath_windows: all
|
|
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win10Debug"
|
|
MSBuild.exe //nologo //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win10Release"
|