summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext
diff options
context:
space:
mode:
authorShashank Ram <rams@vmware.com>2017-01-24 12:37:32 -0800
committerGurucharan Shetty <guru@ovn.org>2017-01-27 13:58:31 -0800
commited0ba9ff9e7b3e0ba5d0f613925aab8cc2409b2c (patch)
tree7dc97e3453b5ede5803f0e34179eca59718dfa96 /datapath-windows/ovsext
parenta9fee2f826b79507b60a9cf2c8eced6095a22e58 (diff)
downloadopenvswitch-ed0ba9ff9e7b3e0ba5d0f613925aab8cc2409b2c.tar.gz
datapath-windows: Add a wrapper to retreive external vport
This wrapper is to simplify readability. Signed-off-by: Shashank Ram <rams@vmware.com> Acked-by: Sairam Venugopal <vsairam@vmware.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Diffstat (limited to 'datapath-windows/ovsext')
-rw-r--r--datapath-windows/ovsext/Actions.c8
-rw-r--r--datapath-windows/ovsext/PacketIO.c6
-rw-r--r--datapath-windows/ovsext/Vport.c6
-rw-r--r--datapath-windows/ovsext/Vport.h2
4 files changed, 15 insertions, 7 deletions
diff --git a/datapath-windows/ovsext/Actions.c b/datapath-windows/ovsext/Actions.c
index bce37f8dc..fd952e86f 100644
--- a/datapath-windows/ovsext/Actions.c
+++ b/datapath-windows/ovsext/Actions.c
@@ -290,8 +290,8 @@ OvsDetectTunnelPkt(OvsForwardingContext *ovsFwdCtx,
* default port.
*/
BOOLEAN validSrcPort =
- (ovsFwdCtx->fwdDetail->SourcePortId ==
- ovsFwdCtx->switchContext->virtualExternalPortId) ||
+ (OvsIsExternalVportByPortId(ovsFwdCtx->switchContext,
+ ovsFwdCtx->fwdDetail->SourcePortId)) ||
(ovsFwdCtx->fwdDetail->SourcePortId ==
NDIS_SWITCH_DEFAULT_PORT_ID);
@@ -2252,8 +2252,8 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT switchContext,
}
status = OvsCreateAndAddPackets(NULL, 0, OVS_PACKET_CMD_MISS,
vport, key, ovsFwdCtx.curNbl,
- vport->portId ==
- switchContext->virtualExternalPortId,
+ OvsIsExternalVportByPortId(switchContext,
+ vport->portId),
&ovsFwdCtx.layers,
ovsFwdCtx.switchContext,
&missedPackets, &num);
diff --git a/datapath-windows/ovsext/PacketIO.c b/datapath-windows/ovsext/PacketIO.c
index 40055892b..a90b556d4 100644
--- a/datapath-windows/ovsext/PacketIO.c
+++ b/datapath-windows/ovsext/PacketIO.c
@@ -259,13 +259,13 @@ OvsStartNBLIngress(POVS_SWITCH_CONTEXT switchContext,
curNbl,
nextNativeForwardedNbl,
sendCompleteFlags,
- sourcePort == switchContext->virtualExternalPortId);
+ OvsIsExternalVportByPortId(switchContext, sourcePort));
continue;
}
#endif /* NDIS_SUPPORT_NDIS640 */
ctx = OvsInitExternalNBLContext(switchContext, curNbl,
- sourcePort == switchContext->virtualExternalPortId);
+ OvsIsExternalVportByPortId(switchContext, sourcePort));
if (ctx == NULL) {
RtlInitUnicodeString(&filterReason,
L"Cannot allocate external NBL context.");
@@ -345,7 +345,7 @@ OvsStartNBLIngress(POVS_SWITCH_CONTEXT switchContext,
datapath->misses++;
status = OvsCreateAndAddPackets(NULL, 0, OVS_PACKET_CMD_MISS,
vport, &key, curNbl,
- sourcePort == switchContext->virtualExternalPortId,
+ OvsIsExternalVportByPortId(switchContext, sourcePort),
&layers, switchContext, &missedPackets, &num);
if (status == NDIS_STATUS_SUCCESS) {
/* Complete the packet since it was copied to user
diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c
index e9e22aaeb..914293750 100644
--- a/datapath-windows/ovsext/Vport.c
+++ b/datapath-windows/ovsext/Vport.c
@@ -909,6 +909,12 @@ OvsFindVportByPortIdAndNicIndex(POVS_SWITCH_CONTEXT switchContext,
}
}
+BOOLEAN OvsIsExternalVportByPortId(POVS_SWITCH_CONTEXT switchContext,
+ NDIS_SWITCH_PORT_ID portId)
+{
+ return (portId == switchContext->virtualExternalPortId);
+}
+
POVS_VPORT_ENTRY
OvsAllocateVport(VOID)
{
diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h
index 4dc4e0094..7d88f86fb 100644
--- a/datapath-windows/ovsext/Vport.h
+++ b/datapath-windows/ovsext/Vport.h
@@ -134,6 +134,8 @@ POVS_VPORT_ENTRY OvsFindVportByHvNameW(POVS_SWITCH_CONTEXT switchContext,
POVS_VPORT_ENTRY OvsFindVportByPortIdAndNicIndex(POVS_SWITCH_CONTEXT switchContext,
NDIS_SWITCH_PORT_ID portId,
NDIS_SWITCH_NIC_INDEX index);
+BOOLEAN OvsIsExternalVportByPortId(POVS_SWITCH_CONTEXT switchContext,
+ NDIS_SWITCH_PORT_ID portId);
POVS_VPORT_ENTRY OvsFindTunnelVportByDstPortAndType(POVS_SWITCH_CONTEXT switchContext,
UINT16 dstPort,
OVS_VPORT_TYPE ovsPortType);