summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Actions.c
diff options
context:
space:
mode:
Diffstat (limited to 'datapath-windows/ovsext/Actions.c')
-rw-r--r--datapath-windows/ovsext/Actions.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/datapath-windows/ovsext/Actions.c b/datapath-windows/ovsext/Actions.c
index 884fce4e3..2f44086b4 100644
--- a/datapath-windows/ovsext/Actions.c
+++ b/datapath-windows/ovsext/Actions.c
@@ -23,6 +23,7 @@
#include "Flow.h"
#include "Gre.h"
#include "Jhash.h"
+#include "Meter.h"
#include "Mpls.h"
#include "NetProto.h"
#include "Offload.h"
@@ -2503,6 +2504,15 @@ OvsDoExecuteActions(POVS_SWITCH_CONTEXT switchContext,
}
break;
}
+ case OVS_ACTION_ATTR_METER: {
+ if (OvsMeterExecute(&ovsFwdCtx, NlAttrGetU32(a))) {
+ OVS_LOG_INFO("Drop packet");
+ dropReason = L"Ovs-meter exceed max rate";
+ goto dropit;
+ }
+
+ break;
+ }
case OVS_ACTION_ATTR_SAMPLE:
{
if (ovsFwdCtx.destPortsSizeOut > 0 || ovsFwdCtx.tunnelTxNic != NULL