diff options
author | Nithin Raju <nithin@vmware.com> | 2014-10-23 17:33:10 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2014-10-28 08:39:13 -0700 |
commit | 7434992b73bbcbc9d1f9cbe6a74f270ad434a7fb (patch) | |
tree | a994be4f073f333665344a86fae890edc44d0433 /datapath-windows/ovsext/Actions.c | |
parent | 25e39a6047f19b84612bfa8bb28b573c7a3f02bc (diff) | |
download | openvswitch-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.c | 13 |
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; } |