Message ID | 1463505322-3008-4-git-send-email-nithin@vmware.com |
---|---|
State | Accepted |
Headers | show |
Acked-by: Sairam Venugopal <vsairam@vmware.com> On 5/17/16, 10:15 AM, "Nithin Raju" <nithin@vmware.com> wrote: >It is not necessary to do a flow extract in OvsDoRecirc(). >In fact, doing it would overwrite the tunnel key within >'key'. So, let's remove the call. > >Signed-off-by: Nithin Raju <nithin@vmware.com> >Signed-off-by: Sairam Venugopal <vsairam@vmware.com> >Co-Authored-by: Sairam Venugopal <vsairam@vmware.com> >--- > datapath-windows/ovsext/Actions.c | 9 --------- > 1 file changed, 9 deletions(-) > >diff --git a/datapath-windows/ovsext/Actions.c >b/datapath-windows/ovsext/Actions.c >index 5ad29ee..4edf7d0 100644 >--- a/datapath-windows/ovsext/Actions.c >+++ b/datapath-windows/ovsext/Actions.c >@@ -1989,15 +1989,6 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT switchContext, > >NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL(curNbl), > completionList, layers, TRUE); > >- status = OvsExtractFlow(ovsFwdCtx.curNbl, ovsFwdCtx.srcVportNo, key, >- &ovsFwdCtx.layers, NULL); >- if (status != NDIS_STATUS_SUCCESS) { >- OvsCompleteNBLForwardingCtx(&ovsFwdCtx, >- L"OVS-Dropped due to extract flow failure"); >- ovsActionStats.failedFlowMiss++; >- return NDIS_STATUS_FAILURE; >- } >- > flow = OvsLookupFlow(&ovsFwdCtx.switchContext->datapath, key, &hash, >FALSE); > if (flow) { > UINT32 level = OvsDeferredActionsLevelGet(); >-- >2.7.1.windows.1 >
Looks good to me. Acked-by: Paul-Daniel Boca <pboca@cloudbasesolutions.com> > -----Original Message----- > From: dev [mailto:dev-bounces@openvswitch.org] On Behalf Of Sairam > Venugopal > Sent: Tuesday, May 17, 2016 9:06 PM > To: Nithin Raju; dev@openvswitch.org > Subject: Re: [ovs-dev] [PATCH 4/4 v2] datapath-windows: remove extract flow > in OvsDoRecirc() > > Acked-by: Sairam Venugopal <vsairam@vmware.com> > > > On 5/17/16, 10:15 AM, "Nithin Raju" <nithin@vmware.com> wrote: > > >It is not necessary to do a flow extract in OvsDoRecirc(). > >In fact, doing it would overwrite the tunnel key within > >'key'. So, let's remove the call. > > > >Signed-off-by: Nithin Raju <nithin@vmware.com> > >Signed-off-by: Sairam Venugopal <vsairam@vmware.com> > >Co-Authored-by: Sairam Venugopal <vsairam@vmware.com> > >--- > > datapath-windows/ovsext/Actions.c | 9 --------- > > 1 file changed, 9 deletions(-) > > > >diff --git a/datapath-windows/ovsext/Actions.c > >b/datapath-windows/ovsext/Actions.c > >index 5ad29ee..4edf7d0 100644 > >--- a/datapath-windows/ovsext/Actions.c > >+++ b/datapath-windows/ovsext/Actions.c > >@@ -1989,15 +1989,6 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT > switchContext, > > > >NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL(curNbl), > > completionList, layers, TRUE); > > > >- status = OvsExtractFlow(ovsFwdCtx.curNbl, ovsFwdCtx.srcVportNo, key, > >- &ovsFwdCtx.layers, NULL); > >- if (status != NDIS_STATUS_SUCCESS) { > >- OvsCompleteNBLForwardingCtx(&ovsFwdCtx, > >- L"OVS-Dropped due to extract flow failure"); > >- ovsActionStats.failedFlowMiss++; > >- return NDIS_STATUS_FAILURE; > >- } > >- > > flow = OvsLookupFlow(&ovsFwdCtx.switchContext->datapath, key, &hash, > >FALSE); > > if (flow) { > > UINT32 level = OvsDeferredActionsLevelGet(); > >-- > >2.7.1.windows.1 > > > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev
Thanks all, applied. On 22 May 2016 at 23:02, Paul Boca <pboca@cloudbasesolutions.com> wrote: > Looks good to me. > > Acked-by: Paul-Daniel Boca <pboca@cloudbasesolutions.com> > >> -----Original Message----- >> From: dev [mailto:dev-bounces@openvswitch.org] On Behalf Of Sairam >> Venugopal >> Sent: Tuesday, May 17, 2016 9:06 PM >> To: Nithin Raju; dev@openvswitch.org >> Subject: Re: [ovs-dev] [PATCH 4/4 v2] datapath-windows: remove extract flow >> in OvsDoRecirc() >> >> Acked-by: Sairam Venugopal <vsairam@vmware.com> >> >> >> On 5/17/16, 10:15 AM, "Nithin Raju" <nithin@vmware.com> wrote: >> >> >It is not necessary to do a flow extract in OvsDoRecirc(). >> >In fact, doing it would overwrite the tunnel key within >> >'key'. So, let's remove the call. >> > >> >Signed-off-by: Nithin Raju <nithin@vmware.com> >> >Signed-off-by: Sairam Venugopal <vsairam@vmware.com> >> >Co-Authored-by: Sairam Venugopal <vsairam@vmware.com> >> >--- >> > datapath-windows/ovsext/Actions.c | 9 --------- >> > 1 file changed, 9 deletions(-) >> > >> >diff --git a/datapath-windows/ovsext/Actions.c >> >b/datapath-windows/ovsext/Actions.c >> >index 5ad29ee..4edf7d0 100644 >> >--- a/datapath-windows/ovsext/Actions.c >> >+++ b/datapath-windows/ovsext/Actions.c >> >@@ -1989,15 +1989,6 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT >> switchContext, >> > >> >NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL(curNbl), >> > completionList, layers, TRUE); >> > >> >- status = OvsExtractFlow(ovsFwdCtx.curNbl, ovsFwdCtx.srcVportNo, key, >> >- &ovsFwdCtx.layers, NULL); >> >- if (status != NDIS_STATUS_SUCCESS) { >> >- OvsCompleteNBLForwardingCtx(&ovsFwdCtx, >> >- L"OVS-Dropped due to extract flow failure"); >> >- ovsActionStats.failedFlowMiss++; >> >- return NDIS_STATUS_FAILURE; >> >- } >> >- >> > flow = OvsLookupFlow(&ovsFwdCtx.switchContext->datapath, key, &hash, >> >FALSE); >> > if (flow) { >> > UINT32 level = OvsDeferredActionsLevelGet(); >> >-- >> >2.7.1.windows.1 >> > >> >> _______________________________________________ >> dev mailing list >> dev@openvswitch.org >> http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev
We need to update the "layers" after an action. Think about the following scenario: Mpls_pop,recirc We do not update the "layers" after mpls_pop so we will have the initial values. That is why we did another flow extract just to update the layers. Alin. > -----Mesaj original----- > De la: dev [mailto:dev-bounces@openvswitch.org] În numele Nithin Raju > Trimis: Tuesday, May 17, 2016 8:15 PM > Către: dev@openvswitch.org > Subiect: [ovs-dev] [PATCH 4/4 v2] datapath-windows: remove extract flow in > OvsDoRecirc() > > It is not necessary to do a flow extract in OvsDoRecirc(). > In fact, doing it would overwrite the tunnel key within 'key'. So, let's remove > the call. > > Signed-off-by: Nithin Raju <nithin@vmware.com> > Signed-off-by: Sairam Venugopal <vsairam@vmware.com> > Co-Authored-by: Sairam Venugopal <vsairam@vmware.com> > --- > datapath-windows/ovsext/Actions.c | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/datapath-windows/ovsext/Actions.c b/datapath- > windows/ovsext/Actions.c > index 5ad29ee..4edf7d0 100644 > --- a/datapath-windows/ovsext/Actions.c > +++ b/datapath-windows/ovsext/Actions.c > @@ -1989,15 +1989,6 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT > switchContext, > NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL(curNbl), > completionList, layers, TRUE); > > - status = OvsExtractFlow(ovsFwdCtx.curNbl, ovsFwdCtx.srcVportNo, key, > - &ovsFwdCtx.layers, NULL); > - if (status != NDIS_STATUS_SUCCESS) { > - OvsCompleteNBLForwardingCtx(&ovsFwdCtx, > - L"OVS-Dropped due to extract flow failure"); > - ovsActionStats.failedFlowMiss++; > - return NDIS_STATUS_FAILURE; > - } > - > flow = OvsLookupFlow(&ovsFwdCtx.switchContext->datapath, key, > &hash, FALSE); > if (flow) { > UINT32 level = OvsDeferredActionsLevelGet(); > -- > 2.7.1.windows.1 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev
diff --git a/datapath-windows/ovsext/Actions.c b/datapath-windows/ovsext/Actions.c index 5ad29ee..4edf7d0 100644 --- a/datapath-windows/ovsext/Actions.c +++ b/datapath-windows/ovsext/Actions.c @@ -1989,15 +1989,6 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT switchContext, NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL(curNbl), completionList, layers, TRUE); - status = OvsExtractFlow(ovsFwdCtx.curNbl, ovsFwdCtx.srcVportNo, key, - &ovsFwdCtx.layers, NULL); - if (status != NDIS_STATUS_SUCCESS) { - OvsCompleteNBLForwardingCtx(&ovsFwdCtx, - L"OVS-Dropped due to extract flow failure"); - ovsActionStats.failedFlowMiss++; - return NDIS_STATUS_FAILURE; - } - flow = OvsLookupFlow(&ovsFwdCtx.switchContext->datapath, key, &hash, FALSE); if (flow) { UINT32 level = OvsDeferredActionsLevelGet();