On Fri, May 05, 2017 at 09:59:02AM +0530, Numan Siddique wrote: > On Fri, May 5, 2017 at 5:21 AM, Ben Pfaff <[email protected]> wrote: > > > On Thu, May 04, 2017 at 08:43:26PM +0530, [email protected] wrote: > > > From: Zong Kai LI <[email protected]> > > > > > > This patch updates symbols in logical-fields for ND, such as "nd", > > > "nd.target", "nd.sll", "nd.tll", to describe more clear about > > "icmp6.type" > > > predicate. > > > It adds new symbols: > > > - "nd_rs" stands for Router Solicitation message, > > > - "nd_ra" stands for Router Advertisement message, > > > > > > Signed-off-by: Zongkai LI <[email protected]> > > > Signed-off-by: Numan Siddique <[email protected]> > > > --- > > > ovn/lib/logical-fields.c | 18 ++++++++++++++---- > > > ovn/ovn-sb.xml | 4 +++- > > > tests/ovn.at | 2 +- > > > 3 files changed, 18 insertions(+), 6 deletions(-) > > > > > > diff --git a/ovn/lib/logical-fields.c b/ovn/lib/logical-fields.c > > > index 26e336f..f8837f2 100644 > > > --- a/ovn/lib/logical-fields.c > > > +++ b/ovn/lib/logical-fields.c > > > @@ -178,14 +178,24 @@ ovn_init_symtab(struct shash *symtab) > > > expr_symtab_add_field(symtab, "arp.tha", MFF_ARP_THA, "arp", false); > > > > > > expr_symtab_add_predicate(symtab, "nd", > > > - "icmp6.type == {135, 136} && icmp6.code == 0 && ip.ttl == > > 255"); > > > + "icmp6.type == {133, 134, 135, 136} " > > > + "&& icmp6.code == 0 && ip.ttl == 255"); > > > + expr_symtab_add_predicate(symtab, "nd_rs", > > > + "icmp6.type == 133 && icmp6.code == 0 && ip.ttl == 255"); > > > + expr_symtab_add_predicate(symtab, "nd_ra", > > > + "icmp6.type == 134 && icmp6.code == 0 && ip.ttl == 255"); > > > expr_symtab_add_predicate(symtab, "nd_ns", > > > "icmp6.type == 135 && icmp6.code == 0 && ip.ttl == 255"); > > > expr_symtab_add_predicate(symtab, "nd_na", > > > "icmp6.type == 136 && icmp6.code == 0 && ip.ttl == 255"); > > > - expr_symtab_add_field(symtab, "nd.target", MFF_ND_TARGET, "nd", > > false); > > > - expr_symtab_add_field(symtab, "nd.sll", MFF_ND_SLL, "nd_ns", false); > > > - expr_symtab_add_field(symtab, "nd.tll", MFF_ND_TLL, "nd_na", false); > > > + expr_symtab_add_field(symtab, "nd.target", MFF_ND_TARGET, > > > + "icmp6.type == {135, 136} " > > > + "&& icmp6.code == 0 && ip.ttl == 255", false); > > > + expr_symtab_add_field(symtab, "nd.sll", MFF_ND_SLL, > > > + "icmp6.type == {133, 134, 135} " > > > + "&& icmp6.code == 0 && ip.ttl == 255", false); > > > + expr_symtab_add_field(symtab, "nd.tll", MFF_ND_TLL, > > > + "icmp6.type == 136 && icmp6.code == 0 && ip.ttl == 255", > > false); > > > > This patch changes the meaning of existing logical flow tables: flows > > that previously matched on just "nd" previously matched only neighbor > > solicitation and neighbor announcement packets, but after this change > > they also match two new kinds of neighbor discovery packets. ovn-northd > > does actually use flows that match on just "nd", so I am concerned that > > this could have undesirable effects. Have you looked at the existing > > flow tables and determined how this will change their behavior? > > > > You are right. ovn-northd uses "nd" in 3 places - [1], [2] and [3] > > For [1], the match should be for neighbor solicitation packets. > For [2] and [3], the match can also be extended to neighbor advertisement > packets. > > I will update this patch to use "nd_ns" for [1]. Please let me know if you > have any concerns with this.
The OVN documentation recommends upgrading ovn-controller before ovn-northd, so I think that this approach will cause a temporary misinterpretation of flow tables. It might be better to introduce a new predicate, with a name different from "nd", that has the desired meaning. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
