summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/User.c
diff options
context:
space:
mode:
authorNithin Raju <nithin@vmware.com>2016-05-17 10:15:19 -0700
committerJoe Stringer <joe@ovn.org>2016-05-25 10:24:59 -0700
commit3fd9ec0b81f37454ba91e6a8ae3605ecd85a71c5 (patch)
tree82c2657a6c67bfd1a8165e7e4205779753e2d95e /datapath-windows/ovsext/User.c
parent9509913aa722158472bebe0d38ddef15eb49729a (diff)
downloadopenvswitch-3fd9ec0b81f37454ba91e6a8ae3605ecd85a71c5.tar.gz
datapath-windows: add nlMsgHdr to OvsPacketExecute
We'll need this for parsing nested attributes. Signed-off-by: Nithin Raju <nithin@vmware.com> Acked-by: Sairam Venugopal <vsairam@vmware.com> Signed-off-by: Joe Stringer <joe@ovn.org>
Diffstat (limited to 'datapath-windows/ovsext/User.c')
-rw-r--r--datapath-windows/ovsext/User.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/datapath-windows/ovsext/User.c b/datapath-windows/ovsext/User.c
index f2e3c1791..87ac56aed 100644
--- a/datapath-windows/ovsext/User.c
+++ b/datapath-windows/ovsext/User.c
@@ -46,8 +46,9 @@ extern PNDIS_SPIN_LOCK gOvsCtrlLock;
extern POVS_SWITCH_CONTEXT gOvsSwitchContext;
OVS_USER_STATS ovsUserStats;
-static VOID _MapNlAttrToOvsPktExec(PNL_ATTR *nlAttrs, PNL_ATTR *keyAttrs,
- OvsPacketExecute *execute);
+static VOID _MapNlAttrToOvsPktExec(PNL_MSG_HDR nlMsgHdr, PNL_ATTR *nlAttrs,
+ PNL_ATTR *keyAttrs,
+ OvsPacketExecute *execute);
extern NL_POLICY nlFlowKeyPolicy[];
extern UINT32 nlFlowKeyPolicyLen;
@@ -311,7 +312,7 @@ OvsNlExecuteCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
execute.dpNo = ovsHdr->dp_ifindex;
- _MapNlAttrToOvsPktExec(nlAttrs, keyAttrs, &execute);
+ _MapNlAttrToOvsPktExec(nlMsgHdr, nlAttrs, keyAttrs, &execute);
status = OvsExecuteDpIoctl(&execute);
@@ -364,12 +365,14 @@ done:
*----------------------------------------------------------------------------
*/
static VOID
-_MapNlAttrToOvsPktExec(PNL_ATTR *nlAttrs, PNL_ATTR *keyAttrs,
- OvsPacketExecute *execute)
+_MapNlAttrToOvsPktExec(PNL_MSG_HDR nlMsgHdr, PNL_ATTR *nlAttrs,
+ PNL_ATTR *keyAttrs, OvsPacketExecute *execute)
{
execute->packetBuf = NlAttrGet(nlAttrs[OVS_PACKET_ATTR_PACKET]);
execute->packetLen = NlAttrGetSize(nlAttrs[OVS_PACKET_ATTR_PACKET]);
+ execute->nlMsgHdr = nlMsgHdr;
+
execute->actions = NlAttrGet(nlAttrs[OVS_PACKET_ATTR_ACTIONS]);
execute->actionsLen = NlAttrGetSize(nlAttrs[OVS_PACKET_ATTR_ACTIONS]);