From patchwork Tue May 17 17:15:19 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nithin Raju X-Patchwork-Id: 623221 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from archives.nicira.com (archives.nicira.com [96.126.127.54]) by ozlabs.org (Postfix) with ESMTP id 3r8P992Z53z9sdQ for ; Wed, 18 May 2016 03:15:25 +1000 (AEST) Received: from archives.nicira.com (localhost [127.0.0.1]) by archives.nicira.com (Postfix) with ESMTP id DD0E3106D0; Tue, 17 May 2016 10:15:23 -0700 (PDT) X-Original-To: dev@openvswitch.org Delivered-To: dev@openvswitch.org Received: from mx1e4.cudamail.com (mx1.cudamail.com [69.90.118.67]) by archives.nicira.com (Postfix) with ESMTPS id 5A5A3106CF for ; Tue, 17 May 2016 10:15:23 -0700 (PDT) Received: from bar5.cudamail.com (unknown [192.168.21.12]) by mx1e4.cudamail.com (Postfix) with ESMTPS id AE05C1E0523 for ; Tue, 17 May 2016 11:15:22 -0600 (MDT) X-ASG-Debug-ID: 1463505321-09eadd62e416560001-byXFYA Received: from mx1-pf2.cudamail.com ([192.168.24.2]) by bar5.cudamail.com with ESMTP id rcRDbaT7aiTB7D6a (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 17 May 2016 11:15:21 -0600 (MDT) X-Barracuda-Envelope-From: nithin@vmware.com X-Barracuda-RBL-Trusted-Forwarder: 192.168.24.2 Received: from unknown (HELO smtp-outbound-2.vmware.com) (208.91.2.13) by mx1-pf2.cudamail.com with ESMTPS (DHE-RSA-AES256-SHA encrypted); 17 May 2016 17:15:21 -0000 Received-SPF: error (mx1-pf2.cudamail.com: error in processing during lookup of vmware.com: DNS problem) X-Barracuda-Apparent-Source-IP: 208.91.2.13 X-Barracuda-RBL-IP: 208.91.2.13 Received: from sc9-mailhost2.vmware.com (sc9-mailhost2.vmware.com [10.113.161.72]) by smtp-outbound-2.vmware.com (Postfix) with ESMTP id 0BEB598375 for ; Tue, 17 May 2016 10:15:19 -0700 (PDT) Received: from sc9-mailhost3.vmware.com (unknown [10.129.194.77]) by sc9-mailhost2.vmware.com (Postfix) with ESMTP id 45F2CB062A; Tue, 17 May 2016 10:15:19 -0700 (PDT) X-CudaMail-Envelope-Sender: nithin@vmware.com From: Nithin Raju To: dev@openvswitch.org X-CudaMail-Whitelist-To: dev@openvswitch.org X-CudaMail-MID: CM-E2-516057813 X-CudaMail-DTE: 051716 X-CudaMail-Originating-IP: 208.91.2.13 Date: Tue, 17 May 2016 10:15:19 -0700 X-ASG-Orig-Subj: [##CM-E2-516057813##][PATCH 1/4 v2] datapath-windows: add nlMsgHdr to OvsPacketExecute Message-Id: <1463505322-3008-1-git-send-email-nithin@vmware.com> X-Mailer: git-send-email 2.7.1.windows.1 X-Barracuda-Connect: UNKNOWN[192.168.24.2] X-Barracuda-Start-Time: 1463505321 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://web.cudamail.com:443/cgi-mod/mark.cgi X-ASG-Whitelist: Header =?UTF-8?B?eFwtY3VkYW1haWxcLXdoaXRlbGlzdFwtdG8=?= X-Virus-Scanned: by bsmtpd at cudamail.com X-Barracuda-BRTS-Status: 1 X-ASG-Whitelist: EmailCat (corporate) Subject: [ovs-dev] [PATCH 1/4 v2] datapath-windows: add nlMsgHdr to OvsPacketExecute X-BeenThere: dev@openvswitch.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dev-bounces@openvswitch.org Sender: "dev" We'll need this for parsing nested attributes. Signed-off-by: Nithin Raju Acked-by: Sairam Venugopal Acked-by: Alin Gabriel Serdean --- datapath-windows/ovsext/DpInternal.h | 1 + datapath-windows/ovsext/User.c | 13 ++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/datapath-windows/ovsext/DpInternal.h b/datapath-windows/ovsext/DpInternal.h index a3ce311..07bc180 100644 --- a/datapath-windows/ovsext/DpInternal.h +++ b/datapath-windows/ovsext/DpInternal.h @@ -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; diff --git a/datapath-windows/ovsext/User.c b/datapath-windows/ovsext/User.c index 34f38f4..3b3f662 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); @@ -363,12 +364,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]);