On Wed, Jun 08, 2016 at 03:28:58PM +0800, Zong Kai LI wrote: > This patch adds some lflows for 'na' action to support ND versus ARP. > > For ovn-northd, it will generate lflows per each IPv6 address on > echo lport, with lport mac and IPv6 addresss, with 'na' action. > e.g. match=(ip6 && nd && icmp6.type == 135 && > nd.target == fde3:f657:aac1:0:f816:3eff:fe13:8198), > action=(na{fa:16:3e:13:81:98; reg0 = 0x1; outport = inport; > inport = ""; output;};) > And new lflows will be set in tabel ls_in_arp_nd_rsp, which is renamed > from previous ls_in_arp_rsp. > > Setting reg0 = 0x1 to mention that such kind of NA packets are replied > by ovn-controller, and for these packets, dont do conntrack on them. > Also modfiy current table 32 and table 48, to make these packets > output directly. > > Signed-off-by: Zong Kai LI <zealo...@gmail.com>
I don't understand why it is necessary to have special-case code in ovn-controller physical_run() for neighbor advertisements. Nothing similar is needed for ARP. It would be much better to avoid special cases. Can you explain? At any rate, ovn-controller should definitely not have any knowledge of what purpose the logical flows use registers for. This adds a Linux-specific header file to physical.c, but that should not be necessary. None of these casts should be necessary: > + match_set_nw_proto(&match, (uint8_t)IPPROTO_ICMPV6); > + match_set_icmp_type(&match, (uint8_t)ND_NEIGHBOR_ADVERT); > + match_set_reg(&match, 0, (uint32_t)1); In ovn-northd, it seems like a really bad idea to use substrings searches on ACLs as a basis for making decisions. Thanks, Ben. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev