Skip to content

Commit

Permalink
datapath-windows: add nlMsgHdr to OvsPacketExecute
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
nithinrajub authored and joestringer committed May 25, 2016
1 parent 9509913 commit 3fd9ec0
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
1 change: 1 addition & 0 deletions datapath-windows/ovsext/DpInternal.h
Expand Up @@ -275,6 +275,7 @@ typedef struct OvsPacketExecute {

uint32_t packetLen;
uint32_t actionsLen;
PNL_MSG_HDR nlMsgHdr;
PCHAR packetBuf;
PNL_ATTR actions;
PNL_ATTR *keyAttrs;
Expand Down
13 changes: 8 additions & 5 deletions datapath-windows/ovsext/User.c
Expand Up @@ -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;

Expand Down Expand Up @@ -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);

Expand Down Expand Up @@ -364,12 +365,14 @@ OvsNlExecuteCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
*----------------------------------------------------------------------------
*/
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]);

Expand Down

0 comments on commit 3fd9ec0

Please sign in to comment.