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,
Zongkai, LI
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to