Hello everyone, As discussed in the openflowplugin weekly meeting , and reviewing the openflow specifications, having no match in the request is entirely fine, because data store doesn't put any restriction, and hence we should handle it internally.
The gerrit patch for the same is https://git.opendaylight.org/gerrit/#/c/41605/ . I have re-opened Bug 6109 and Anil/Abhijit/Jozef/Muthu , please review the patch and do let me know your comments. Thanks Shuva From: [email protected] [mailto:[email protected]] On Behalf Of Shuva Jyoti Kar Sent: Thursday, July 07, 2016 1:30 PM To: Diego Jesus Granados Lopez; [email protected] Subject: Re: [openflowplugin-dev] Problems writing MatchAny flows Yes Diego. The current one is a lot stringent on having null match fields. But if we could provision empty match-fields it would go through. Thanks Shuva From: Diego Jesus Granados Lopez Sent: Thursday, July 07, 2016 1:11 PM To: Shuva Jyoti Kar; [email protected]<mailto:[email protected]> Subject: RE: [openflowplugin-dev] Problems writing MatchAny flows Hi Shuva, In other words: the version of openflowplugin from 06/12 did not fail when a flow without any match rule was written to the config datastore, but the current one does. So it's not the way on which the flow is written to the DS, but the way on which flows without matches are handled. (Once the former has been established this is not relevant, but I debugged into the part where the flows are written into the datastore and the ones for which the exception is later raised always have empty (i.e. non-null) match rules, which end up as flow entries without <Match> leafs in the DS) Br, Diego From: Shuva Jyoti Kar Sent: jueves, 07 de julio de 2016 8:43 To: Diego Jesus Granados Lopez <[email protected]<mailto:[email protected]>>; [email protected]<mailto:[email protected]> Subject: RE: [openflowplugin-dev] Problems writing MatchAny flows Hi Diego, As I mentioned in my earlier email, in the ofplugin we react to the DTCL of a flow being added to the config DS and then call the rpc, lets debug the part writing to the config DS then and find out where the empty match is converted to a null one. If the match is null in the config-DS(absent ) , then we will get that exception, since on the ofplugin we check for match being not-null prior to provisioning on the switch. Thanks Shuva From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Diego Jesus Granados Lopez Sent: Wednesday, July 06, 2016 11:00 PM To: [email protected]<mailto:[email protected]> Subject: Re: [openflowplugin-dev] Problems writing MatchAny flows Hi guys, Following up on Yi Yang's message (I don't think I'll be able to attach this mail to the thread correctly since I wasn't subscribed to the list) https://lists.opendaylight.org/pipermail/openflowplugin-dev/2016-July/005451.html I've confirmed that this issue is introduced because of some change in Openflowplugin project in the last ~3 weeks. What I did: reproduced the error (compiling latest version for SFC + snapshot version from openflowplugin). Then, I cloned openflowplugin repo, then checked out a version from ~3 weeks ago ( hash 1061cc9d6929e8bb2052f4562bedd7fdce5034ac; chosed that version for no particular reason, only that I commited a bugfix on SFC on that date and I checked the same chain config I'm rendering now was working then). Compiled openflowplugin version, then rebuild SFC on top of it, and the flows are rendered successfully (i.e. the "Match value must not be null" error disappears). So it must be some change in the openflowplugin since Jun 12th and now what is causing this error. Had a look at the openflowplugin changes since that date, but there has been a lot of merge activity and I saw nothing that is evident to me which could trigger this. In case it helps, on this test of mine (latest SFC, OpenflowPlugin from Jun 12th), flows in the config datastore do not contain any match rule, yet they're written successfully to the ovs switch. E.g: <flow><id>107</id><cookie_mask>20</cookie_mask><table_id>2</table_id><priority>5</priority><strict>false</strict><flags/><flow-name>MatchAny</flow-name><idle-timeout>0</idle-timeout><hard-timeout>0</hard-timeout><cookie>20</cookie><barrier>false</barrier><instructions><instruction><order>0</order><go-to-table><table_id>3</table_id></go-to-table></instruction></instructions></flow> BR, Diego
_______________________________________________ openflowplugin-dev mailing list [email protected] https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev
