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

Reply via email to