Vishal, I think Alon's [1] was not the new flow based SNAT coming up, but rather one of his "ugly" ideas. [1] is reversing the inbound/outbound flow installation order.
JamO On 02/28/2017 10:04 PM, Vishal Thapar wrote: > Hi Alon, > > > > If [1] is expected to fix this problem, then why do we need test change or > any other temp fix? Let this be a known failure, > we’ll see if it passes on [1] and if not then we can choose to work on > separate fix or fix it as part of [1] itself. > > > > Regards, > > Vishal. > > > > *From:*[email protected] > [mailto:[email protected]] *On Behalf Of *Chetan A G > *Sent:* 01 March 2017 10:53 > *To:* N Vivekanandan <[email protected]>; 'Kochba, Alon' > <[email protected]>; [email protected]; > 'openflowplugin-dev' <[email protected]>; > [email protected] > *Cc:* Karthikeyan Krishnan <[email protected]> > *Subject:* Re: [netvirt-dev] SNAT test UDP failure - race between flows being > written and packet out? > > > > Hi Alon, > > > > Can we somehow make step (c) to wait for onFlowAdded notifications of (a) and > (b) and then only execute (c) for UDP packets ? > > > > Thanks, > > Chetan > > > > *From:*N Vivekanandan [mailto:[email protected]] > *Sent:* 28 February 2017 21:41 > *To:* Kochba, Alon <[email protected] <mailto:[email protected]>>; > [email protected] > <mailto:[email protected]>; openflowplugin-dev > <[email protected] > <mailto:[email protected]>>; > [email protected] <mailto:[email protected]> > *Cc:* Yugandhar Sarraju <[email protected] > <mailto:[email protected]>>; Chetan Arakere Gowdru > <[email protected] > <mailto:[email protected]>>; Karthikeyan Krishnan > <[email protected] > <mailto:[email protected]>> > *Subject:* RE: [netvirt-dev] SNAT test UDP failure - race between flows being > written and packet out? > > > > ‘looped in Yugandhar/Chetan/Karthikeyan > > > > *From:*[email protected] > <mailto:[email protected]> > [mailto:[email protected]] *On Behalf Of *Kochba, > Alon > *Sent:* Tuesday, February 28, 2017 9:31 PM > *To:* [email protected] > <mailto:[email protected]>; openflowplugin-dev > <[email protected] > <mailto:[email protected]>>; > [email protected] <mailto:[email protected]> > *Subject:* [netvirt-dev] SNAT test UDP failure - race between flows being > written and packet out? > > > > Hi, > > > > We have a CSIT test in netvirt that tests UDP connectivity using netvirt's > SNAT feature, that's sporadically failing. > > The same test in TCP succeeds all the time. > > > > We debugged the flows and it seems there is a race between these three events > - ODL receives the initial packet, and then: > > 1. Installs an inbound flow using NaptEventHandler#buildAndInstallNatFlows() > 2. Installs an outbound flow using NaptEventHandler#buildAndInstallNatFlows() > 3. Sends the original packet as a packet out to OFPP_TABLE for re-processing > by pipeline. > > > > For the test to work properly, (c) must happen after (a) and (b) have been > programmed to the switch properly. > > The flows are written using genius' mdsalManager.syncInstallFlow(), which > does a synchronous write into the flows CONFIG data > store. > > The packet out is sent via openflowplugin > PacketProcessingService.transmitPacket() > > > > Is there a way to ensure (c) is triggered only after (a) and (b) are properly > configured? > > Perhaps delay the packet out somehow? Use barrier somehow? > > > > If this is not a possibility, we can try two things that are pretty ugly: > > 1. Reverse (a) and (b) - because then if only (a) is installed (which seems > more common), the request would have to be > re-punted to the ODL, delaying it. [1] will do that, but we need to run > it many times to verify it helps. > > This still won't fix anything if (c) happens before both (a) and (b). > > 2. Leave the entire bug, but try to fix this on a test level - add delay to > the server's response or use something other > than netcat that might retry UDP. > > > > The reason this might be ok, is that we have flow based SNAT coming up in > Carbon which should eliminate this race. > > > > [1] https://git.opendaylight.org/gerrit/#/c/52380 > > --alon > > > > > > _______________________________________________ > openflowplugin-dev mailing list > [email protected] > https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev > _______________________________________________ openflowplugin-dev mailing list [email protected] https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev
