summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Actions.c
diff options
context:
space:
mode:
authorNithin Raju <nithin@vmware.com>2014-10-23 17:33:10 -0700
committerBen Pfaff <blp@nicira.com>2014-10-28 08:39:13 -0700
commit7434992b73bbcbc9d1f9cbe6a74f270ad434a7fb (patch)
treea994be4f073f333665344a86fae890edc44d0433 /datapath-windows/ovsext/Actions.c
parent25e39a6047f19b84612bfa8bb28b573c7a3f02bc (diff)
downloadopenvswitch-7434992b73bbcbc9d1f9cbe6a74f270ad434a7fb.tar.gz
datapath-windows: Introduce bridge-internal ports.
In this patch, we provide explanation and the reasoning for bridge-internal ports. The code to add such a port in come in later patch in the series. We also fix some formatting issues in PacketIO.c. Signed-off-by: Nithin Raju <nithin@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Tested-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Acked-by: Ankur Sharma <ankursharma@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'datapath-windows/ovsext/Actions.c')
-rw-r--r--datapath-windows/ovsext/Actions.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/datapath-windows/ovsext/Actions.c b/datapath-windows/ovsext/Actions.c
index 3f8c35159..14d1f8f6f 100644
--- a/datapath-windows/ovsext/Actions.c
+++ b/datapath-windows/ovsext/Actions.c
@@ -248,10 +248,11 @@ OvsDetectTunnelPkt(OvsForwardingContext *ovsFwdCtx,
* port or if it is being executed from userspace, the source port is
* default port.
*/
- BOOLEAN validSrcPort = (ovsFwdCtx->fwdDetail->SourcePortId ==
- ovsFwdCtx->switchContext->virtualExternalPortId) ||
- (ovsFwdCtx->fwdDetail->SourcePortId ==
- NDIS_SWITCH_DEFAULT_PORT_ID);
+ BOOLEAN validSrcPort =
+ (ovsFwdCtx->fwdDetail->SourcePortId ==
+ ovsFwdCtx->switchContext->virtualExternalPortId) ||
+ (ovsFwdCtx->fwdDetail->SourcePortId ==
+ NDIS_SWITCH_DEFAULT_PORT_ID);
if (validSrcPort && OvsDetectTunnelRxPkt(ovsFwdCtx, flowKey)) {
ASSERT(ovsFwdCtx->tunnelTxNic == NULL);
@@ -343,6 +344,10 @@ OvsAddPorts(OvsForwardingContext *ovsFwdCtx,
vport->stats.txBytes +=
NET_BUFFER_DATA_LENGTH(NET_BUFFER_LIST_FIRST_NB(ovsFwdCtx->curNbl));
+ if (OvsIsBridgeInternalVport(vport)) {
+ return NDIS_STATUS_SUCCESS;
+ }
+
if (OvsDetectTunnelPkt(ovsFwdCtx, vport, flowKey)) {
return NDIS_STATUS_SUCCESS;
}