From: Shashank Ram Date: Tue, 24 Jan 2017 20:37:32 +0000 (-0800) Subject: datapath-windows: Add a wrapper to retreive external vport X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=ed0ba9ff9e7b3e0ba5d0f613925aab8cc2409b2c;p=ovs.git datapath-windows: Add a wrapper to retreive external vport This wrapper is to simplify readability. Signed-off-by: Shashank Ram Acked-by: Sairam Venugopal Signed-off-by: Gurucharan Shetty --- 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);