On Fri, Jul 29, 2016 at 05:21:32PM +0800, Zong Kai Li wrote: > On Thu, Jul 28, 2016 at 2:04 PM, Ben Pfaff <b...@ovn.org> wrote: > > On Wed, Jul 27, 2016 at 04:02:11PM +0800, Zong Kai LI wrote: > >> This patch introduces(from north to south): > >> - OVN NB DB: > >> * mtu(integer) column for Logical_Switch, used by Router Advertisement > >> (RA) message MTU option. > >> * slaac(bool) column for Logical_Router_Port to specify the IPv6 networks > >> on a rotuer port is in SLAAC mode or not, if it has IPv6 networks. [1] > >> - ovn-northd: > >> New table ls_in_ra_rsp to install RA responder flows, which matching > >> Router Solicitation (RS) packets and have actions such as: > >> action=(ra(fd80:1234::/64,2001:db8::/64,1450,fa:16:3e:12:34:56); > >> outport = inport; inport = ""; output;) [2] > >> while 'ra' is new action. The RA responder flows are built on logical > >> switch pipeline per each logical switch. [3] > >> - ovn-controller: > >> New action 'ra' has ordered parameters and uses 'continuation'.[4] > >> The ordered parameters including: at least 1 IPv6 prefix, 1 MTU, > >> and 1 ether address. They will be used in prefix information option(s), > >> MTU option, SLL option for RA packet. > >> - lib/packet: > >> * compose_ra to compose a RA packet with 1 prefix information > >> option, 1 MTU option and 1 SLL option. > >> * insert_ra_prefix_opt insert a prefix information option into a RA > >> packet. > >> > >> [1] A logical switch may have different IPv6 subnets using DHCPv6 or SLAAC, > >> so set 'slaac' as Logical_Switch column will not work well. Adding 'slaac' > >> as Logical_Router_Port may not be a good solution, but it works for now. > >> > >> [2] SLAAC is the first aim of this patch, but not RA responder. So it wont > >> take care of lots of flags or options in RA packet. > >> A further work will try to support those flags or options. > >> > >> [3] This works for case (a) all logical switch IPv6 subnets attached onto > >> the > >> same router port, which OpenStack Neutron using this way. And it won't need > >> flows to route RS packets to router ports which is necessary for installing > >> RA responder flows on logical router pipeline. > >> A further work will replace this by installing RA responder flows on > >> logical > >> router pipeline, which will support case (b) logical switch have IPv6 > >> subnets > >> in SLAAC mode attached onto different router ports. > >> > >> [4] Ordered parameters isn't a friendly way to use 'ra' action, it will be > >> fixed with [2]. > >> From my side, it's fine to use 'continuation' for case (a) in [3]. But for > >> case (b) in [3], since RS packet will be dispatched several router ports, > >> which means ovn-controller will compose several RA packets for one RS > >> packet, > >> I'm not sure whether it's good to keep use 'continuation'. > >> > >> Signed-off-by: Zong Kai LI <zealo...@gmail.com> > > > > The commit message here is so detailed that I can't figure out what the > > actual goal is. What is SLAAC and how does it benefit the user or > > administrator? > > > > Justin has been working on IPv6 support so I'm adding him in case he has > > comments. > > > > Thanks, > > > > Ben. > > Hi, Ben. > Sorry for unclear commit message, I've fixed some details of this RFC > patch, and will try to rewrite the commit message, to make it clear > and easy to get. > > SLAAC is short for stateless address autoconfiguration, it's one the > address configuration method for IPv6 (another is DHCPv6). > > SLAAC is simpler than DHCPv6. After configure an IPv6 prefix/CIDR for > a subnet, people can attach the subnet onto a router, then all > VMs/VIFs on subnet can get IPv6 address under the IPv6 prefix/CIDR. By > this people may not need DHCPv6. This is helpful and friendly for > people who is not familiar with IPv6. > > SLAAC need router advertisement, so I implement it in this patch, but > just a basic version, not like what Numan did in native DHCP, many > options get supported there.
Thanks. I'll look forward to the next version. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev