Disregard this patch. I have more changes on this. Thanks, Sairam
On 5/6/16, 2:21 PM, "Sairam Venugopal" <vsai...@vmware.com> wrote: >Pass down the right sendFlags for re-init fwdCtx. Remove the redundant >call to ExtractFlow. It resets the flowKey causing failure in tunnel >context. > >Signed-off-by: Sairam Venugopal <vsai...@vmware.com> >--- > datapath-windows/ovsext/Actions.c | 15 +++++++-------- > datapath-windows/ovsext/Actions.h | 1 + > datapath-windows/ovsext/Recirc.c | 1 + > 3 files changed, 9 insertions(+), 8 deletions(-) > >diff --git a/datapath-windows/ovsext/Actions.c >b/datapath-windows/ovsext/Actions.c >index 5ad29ee..5ee9f17 100644 >--- a/datapath-windows/ovsext/Actions.c >+++ b/datapath-windows/ovsext/Actions.c >@@ -1976,6 +1976,7 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT switchContext, > PNET_BUFFER_LIST curNbl, > OvsFlowKey *key, > UINT32 srcPortNo, >+ ULONG sendFlags, > OVS_PACKET_HDR_INFO *layers) > { > NDIS_STATUS status; >@@ -1983,17 +1984,15 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT switchContext, > OvsForwardingContext ovsFwdCtx = { 0 }; > UINT64 hash = 0; > ASSERT(layers); >+ PNDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO fwdDetail = >+ NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL(curNbl); > >- OvsInitForwardingCtx(&ovsFwdCtx, switchContext, curNbl, >- srcPortNo, 0, >- >NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL(curNbl), >- completionList, layers, TRUE); >- >- status = OvsExtractFlow(ovsFwdCtx.curNbl, ovsFwdCtx.srcVportNo, key, >- &ovsFwdCtx.layers, NULL); >+ status = OvsInitForwardingCtx(&ovsFwdCtx, switchContext, curNbl, >+ srcPortNo, sendFlags, fwdDetail, >+ completionList, layers, TRUE); > if (status != NDIS_STATUS_SUCCESS) { > OvsCompleteNBLForwardingCtx(&ovsFwdCtx, >- L"OVS-Dropped due to extract flow failure"); >+ L"OVS-initing destination port list failed at recirc"); > ovsActionStats.failedFlowMiss++; > return NDIS_STATUS_FAILURE; > } >diff --git a/datapath-windows/ovsext/Actions.h >b/datapath-windows/ovsext/Actions.h >index c56c260..e80ac4a 100644 >--- a/datapath-windows/ovsext/Actions.h >+++ b/datapath-windows/ovsext/Actions.h >@@ -50,6 +50,7 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT switchContext, > PNET_BUFFER_LIST curNbl, > OvsFlowKey *key, > UINT32 srcPortNo, >+ ULONG sendFlags, > OVS_PACKET_HDR_INFO *layers); > > #endif /* __ACTIONS_H_ */ >diff --git a/datapath-windows/ovsext/Recirc.c >b/datapath-windows/ovsext/Recirc.c >index 2febf06..733e105 100644 >--- a/datapath-windows/ovsext/Recirc.c >+++ b/datapath-windows/ovsext/Recirc.c >@@ -327,6 +327,7 @@ OvsProcessDeferredActions(POVS_SWITCH_CONTEXT >switchContext, > deferredAction->nbl, > &deferredAction->key, > portNo, >+ sendFlags, > layers); > } > } >-- >2.5.0.windows.1 > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev