[openstack-dev] [Neutron][IPv6] A pair of mode keywords
Shixiong Shang
sparkofwisdom.cloud at gmail.com
Tue Jan 21 14:07:40 UTC 2014
Begin forwarded message:
> From: Shixiong Shang <sparkofwisdom.cloud at gmail.com>
> Subject: Re: Cannot make it today at 4pm EST
> Date: January 17, 2014 at 3:09:56 PM EST
> To: "Veiga, Anthony" <Anthony_Veiga at cable.comcast.com>
> Cc: "Ian Wells (iawells)" <iawells at cisco.com>
>
> Hi, Anthony and Ian:
>
> Not sure how the API discussion is going with Neutron team. Please let me know what I can help from my side.
>
> Last night, I put together this slide to summarize the possible combinations of RA mode and “enable_dhcp” keyword. It is quite clear that the current on/off boolean value won’t be sufficient. However, I think it is still possible to support this pair of keywords within IceHouse timeline while negotiating with Neutron team for more flexible approach in the next major release.
>
> If you are thinking along the same line, would you please let me know what I overlooked?
>
> Thanks!
>
> Shixiong
>
>
>
>
>
>
>
>
>
>
>
>
>
> On Jan 14, 2014, at 4:47 PM, Veiga, Anthony <Anthony_Veiga at cable.comcast.com> wrote:
>
>>
>>
>>> OK, I see that we're back to splitting the RA and DHCP modes, though I'm not sure why - enable_dhcp is bugger all use for anything other than a flat-out disable flag, since it's a boolean, so it's not like we can make much use of it. Otherwise are we talking about whether we have an external router and/or DHCP server?
>>
>>
>> Precisely this. We determined multiple times previously that there is a chance of either of these items being external to OpenStack. Where appropriate, we need to also be able to get out of the way.
>>
>>> --
>>> Ian.
>>>
>>>
>>> From: <Veiga>, Anthony <Anthony_Veiga at cable.comcast.com>
>>> Date: Tuesday, 14 January 2014 21:34
>>> To: Ian Wells <iawells at cisco.com>, Shixiong Shang <sparkofwisdom.cloud at gmail.com>
>>> Subject: Re: Cannot make it today at 4pm EST
>>>
>>>> You missed the first part of the meeting this morning. Addressing should be either off, stateful or stateless and routing should be the 4 modes. If enable_dhcp is there, then it's boolean and cuts off our stateful/stateless determination. Unless you think we should provide everything to dnsmasq and hope the clients are smart enough to only send the options flag?
>>>>
>>>>> I don't think so.
>>>>>
>>>>> Given the two attrs below we have 6 permutations of values. Three of those are simply 'off'. The other three are our three settings that weren't 'off'. We monitor changes to either value.
>>>>>
>>>>> What are you seeing that I'm not?
>>>>> --
>>>>> Ian.
>>>>>
>>>>>
>>>>> From: <Veiga>, Anthony <Anthony_Veiga at cable.comcast.com>
>>>>> Date: Tuesday, 14 January 2014 21:28
>>>>> To: Ian Wells <iawells at cisco.com>, Shixiong Shang <sparkofwisdom.cloud at gmail.com>
>>>>> Subject: Re: Cannot make it today at 4pm EST
>>>>>
>>>>>> So now we need 3 attributes. One is enable_dhcp, one is dhcp_mode, and one is ra_mode. We can't do permutations, because some of them would be dependent on enable_dhcp, which our routines would no longer control.
>>>>>>
>>>>>>
>>>>>>> OK, I tracked Mark down and asked about what he was on with. I'm not saying I like the result of it though.
>>>>>>>
>>>>>>> The point they're making is that enable_dhcp exists on a v6 subnet and should enable or disable DHCP if no-one touches anything else there, because that's what it used to do (and apparently it even worked with NVP). So instead of one value, we need two:
>>>>>>>
>>>>>>> enable_dhcp = false (our 'off') or true (anything else)
>>>>>>> ipv6_addr_mode = slaac, dhcpv6-stateless, dhcpv6-stateful (which, because it was the default in the old world, wants to remain as DHCP providing the address as default in the new one) - obviously if enable_dhcp is off this is ignored.
>>>>>>>
>>>>>>> It's a matter of API compatibility so they're not going to move on this. It's not as nice as what we had but it's what we have to do, I think.
>>>>>>> --
>>>>>>> Ian.
>>>>>>>
>>>>>>>
>>>>>>> From: <Veiga>, Anthony <Anthony_Veiga at cable.comcast.com>
>>>>>>> Date: Monday, 13 January 2014 23:48
>>>>>>> To: Ian Wells <iawells at cisco.com>, Shixiong Shang <sparkofwisdom.cloud at gmail.com>
>>>>>>> Subject: Re: Cannot make it today at 4pm EST
>>>>>>>
>>>>>>>>
>>>>>>>> See below.
>>>>>>>>>>> I am curios as to why stateless is the default. Shouldn't SLAAC be default for all /64's and stateless be default for everything else?
>>>>>>>>>>
>>>>>>>>>> [SHSHANG] I like this proposal better.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> If nothing lese stateless in all cases is easier to document. In the (perhaps unlikely) event that things work in all cases stateless is more flexible, too.
>>>>>>>>>
>>>>>>>>>>> Just to be ABSOLUTELY, 100% CLEAR, this section is for the RA definition only, correct? I want to make sure we're still decoupling the RA configuration and the Addressing configuration. There are still use cases for OpenStack provisioning via DHCPv6, but the router being an external device. We absolutely have to decouple these.
>>>>>>>>>>
>>>>>>>>>> [SHSHANG] Good point. In your case, can user adopt “off” mode, so external router will send RA to trigger VM provisioning with DHCPv6? In case that OpenStack Neutron router sending RA and VM provisioning with DHCPv6 (via dnsmasq), then user can use our dhcpv6-stateful and dhcpv6-stateless.
>>>>>>>>>>
>>>>>>>>>> Currently the way I coded the dhcp client is, if user choose dhcpv6-stateful or dhcpv6-stateless, the dnsmasq also acts as DHCPv6 server for the subnet. This behavior should not conflict with the case as you mentioned previously.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> If the gateway is set and there's no router attached then the external router would be expected to provide the right sort of RA's, I guess? A little weird, but flexible.
>>>>>>>>
>>>>>>>>
>>>>>>>> No, the issue here is that we still want Stateful DHCPv6. I just don't want dnsmasq issuing the RA. I want Addressing from OpenStack, but not routing (I.e. No RA)
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140121/01451d3e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PastedGraphic-1.png
Type: image/png
Size: 119595 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140121/01451d3e/attachment.png>
More information about the OpenStack-dev
mailing list