<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I created a new PDF file to show two parameters (i.e. not referring “enable_dhcp”). Here is the link. I also updated BP too.<div><br></div><div><a href="https://www.dropbox.com/s/rq8xmbruqthef38/IPv6%20Two%20Modes%20v2.0.pdf">https://www.dropbox.com/s/rq8xmbruqthef38/IPv6%20Two%20Modes%20v2.0.pdf</a></div><div><br></div><div>Shixiong</div><div><br></div><div><br></div><div><br><div><div>On Jan 21, 2014, at 6:31 PM, Shixiong Shang <<a href="mailto:sparkofwisdom.cloud@gmail.com">sparkofwisdom.cloud@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="content-type" content="text/html; charset=utf-8"><div dir="auto"><div>Hi, Anthony:</div><div><br></div><div>I think we are saying the same thing. Yes, there must be two parameters, and they are independent. What I mean of "simplifying" referred to the CLI. If user provides RA mode, then the 2nd parameter will have default value if user doesn't specify it.  However, user can also indicate different value explicitly. </div><div><br></div><div>The use cases you pointed out are also called out in the table attached to the end of the email. Anything caught your eyes?</div><div><br></div><div>Thanks, Anthony!</div><div><br></div><div>Shixiong</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br>On Jan 21, 2014, at 4:46 PM, "Veiga, Anthony" <<a href="mailto:Anthony_Veiga@cable.comcast.com">Anthony_Veiga@cable.comcast.com</a>> wrote:<br><br></div><blockquote type="cite">

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">


<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0 0 0 5;">
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div>Hi, Sean and Xuhan:</div>
<div><br>
</div>
<div>I totally agree. This is not the ultimate solution with the assumption that we had to use “enable_dhcp”.</div>
<div><br>
</div>
<div>We haven’t decided the name of another parameter, however, we are open to any suggestions. As we mentioned during the meeting, the second parameter should highlight the need of addressing. If so, it should have at least four values:</div>
<div><br>
</div>
<div>1) off (i.e. address is assigned by external devices out of OpenStack control)</div>
<div>2) slaac (i.e. address is calculated based on RA sent by OpenStack dnsmasq)</div>
<div>3) dhcpv6-stateful (i.e. address is obtained from OpenStack dnsmasq acting as DHCPv6 stateful server)</div>
<div>4) dhcpv6-stateless (i.e. address is calculated based on RA sent from either OpenStack dnsmasq, or external router, and optional information is retrieved from OpenStack dnsmasq acting as DHCPv6 stateless server)</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>This I agree with.</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0 0 0 5;">
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div><br>
</div>
<div>In other words, the original “on” mode captured in “enable_dhcp" should provide more granularity. Since the bits in RA will trigger VM to take certain actions (calculate address, solicit DHCPv6, etc.), I think we can simplify it by saying, if OpenStack
 RA Mode is slacc/dhcpv6-stateful/dhcpv6-stateless, then by default, the 2nd parameters shares the same value. </div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>Absolutely not.  The reason for separating routing and addressing is because you can't assume that because one piece is present, that the other is too.  If I want OpenStack to assign addresses via DHCPv6, then I set the addressing parameter to stateful.
  But maybe I want the RA to come from my provider network router.  In that case, the RA mode is OFF.  We MUST separate these, as there are other permutations as well.</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0 0 0 5;">
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div><br>
</div>
<div>Thanks!</div>
<div><br>
</div>
<div>Shixiong</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><PastedGraphic-1.png></div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<div>
<div>On Jan 21, 2014, at 10:42 AM, Xuhan Peng <<a href="mailto:pengxuhan@gmail.com">pengxuhan@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div dir="ltr">I think what will confuse openstack end user/admin will be the difference between the combination of "RA mode=slaac, enable_dhcp=off" and "RA mode=dhcpv6_stateless, enable_dhcp=off". The only difference will be if getting optional info from
<b>external</b> DHCPv6 server using DHCPv6 stateless but it's hard to tell from the RA mode unless the admin is very familiar with dnsmasq. I think we are trying to isolate the detail of dnsmasq configuration from the API attribute here based on our previous
 discussion, but I could not figure out a better mode name here too. 
<div><br>
</div>
<div style="">Just want to point out this before going to bed. Will be back tomorrow and check on other ones' input on this. <br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Tue, Jan 21, 2014 at 10:07 PM, Shixiong Shang <span dir="ltr">
<<a href="mailto:sparkofwisdom.cloud@gmail.com" target="_blank">sparkofwisdom.cloud@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><br>
<div><br>
<div>Begin forwarded message:</div>
<br>
<blockquote type="cite">
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family: Helvetica;"><b>From:
</b></span><span style="font-family:'Helvetica'">Shixiong Shang <<a href="mailto:sparkofwisdom.cloud@gmail.com" target="_blank">sparkofwisdom.cloud@gmail.com</a>><br>
</span></div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family: Helvetica;"><b>Subject:
</b></span><span style="font-family:'Helvetica'"><b>Re: Cannot make it today at 4pm EST</b><br>
</span></div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family: Helvetica;"><b>Date:
</b></span><span style="font-family:'Helvetica'">January 17, 2014 at 3:09:56 PM EST<br>
</span></div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family: Helvetica;"><b>To:
</b></span><span style="font-family:'Helvetica'">"Veiga, Anthony" <<a href="mailto:Anthony_Veiga@cable.comcast.com" target="_blank">Anthony_Veiga@cable.comcast.com</a>><br>
</span></div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family: Helvetica;"><b>Cc:
</b></span><span style="font-family:'Helvetica'">"Ian Wells (iawells)" <<a href="mailto:iawells@cisco.com" target="_blank">iawells@cisco.com</a>><br>
</span></div>
<br>
<div>
<div style="word-wrap:break-word">
<div>Hi, Anthony and Ian:</div>
<div><br>
</div>
<div>Not sure how the API discussion is going with Neutron team. Please let me know what I can help from my side.</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>If you are thinking along the same line, would you please let me know what I overlooked?</div>
<div><br>
</div>
<div>Thanks!</div>
<div><br>
</div>
<div>Shixiong</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><span><PastedGraphic-1.png></span></div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<div>
<div>On Jan 14, 2014, at 4:47 PM, Veiga, Anthony <<a href="mailto:Anthony_Veiga@cable.comcast.com" target="_blank">Anthony_Veiga@cable.comcast.com</a>> wrote:</div>
<br>
<blockquote type="cite">
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div><br>
</div>
<span>
<div><br>
</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div>
<div>
<div>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?</div>
</div>
</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div>
<div>
<div>
<div>-- </div>
<div>Ian.</div>
<div><br>
</div>
</div>
</div>
</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)">
<span style="font-weight:bold">From: </span><Veiga>, Anthony <<a href="mailto:Anthony_Veiga@cable.comcast.com" target="_blank">Anthony_Veiga@cable.comcast.com</a>><br>
<span style="font-weight:bold">Date: </span>Tuesday, 14 January 2014 21:34<br>
<span style="font-weight:bold">To: </span>Ian Wells <<a href="mailto:iawells@cisco.com" target="_blank">iawells@cisco.com</a>>, Shixiong Shang <<a href="mailto:sparkofwisdom.cloud@gmail.com" target="_blank">sparkofwisdom.cloud@gmail.com</a>><br>
<span style="font-weight:bold">Subject: </span>Re: Cannot make it today at 4pm EST<br>
</div>
<div><br>
</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div>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?</div>
<div><br>
</div>
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div>
<div>I don't think so.</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>What are you seeing that I'm not?</div>
<div>
<div>-- </div>
<div>Ian.</div>
<div><br>
</div>
</div>
</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)">
<span style="font-weight:bold">From: </span><Veiga>, Anthony <<a href="mailto:Anthony_Veiga@cable.comcast.com" target="_blank">Anthony_Veiga@cable.comcast.com</a>><br>
<span style="font-weight:bold">Date: </span>Tuesday, 14 January 2014 21:28<br>
<span style="font-weight:bold">To: </span>Ian Wells <<a href="mailto:iawells@cisco.com" target="_blank">iawells@cisco.com</a>>, Shixiong Shang <<a href="mailto:sparkofwisdom.cloud@gmail.com" target="_blank">sparkofwisdom.cloud@gmail.com</a>><br>
<span style="font-weight:bold">Subject: </span>Re: Cannot make it today at 4pm EST<br>
</div>
<div><br>
</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div>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.</div>
<div><br>
</div>
<span>
<div><br>
</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div>
<div>
<div>OK, I tracked Mark down and asked about what he was on with.  I'm not saying I like the result of it though.</div>
<div><br>
</div>
<div>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:</div>
<div><br>
</div>
<div>enable_dhcp = false (our 'off') or true (anything else)</div>
<div>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.</div>
<div><br>
</div>
<div>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.</div>
<div>
<div>-- </div>
<div>Ian.</div>
<div><br>
</div>
</div>
</div>
</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)">
<span style="font-weight:bold">From: </span><Veiga>, Anthony <<a href="mailto:Anthony_Veiga@cable.comcast.com" target="_blank">Anthony_Veiga@cable.comcast.com</a>><br>
<span style="font-weight:bold">Date: </span>Monday, 13 January 2014 23:48<br>
<span style="font-weight:bold">To: </span>Ian Wells <<a href="mailto:iawells@cisco.com" target="_blank">iawells@cisco.com</a>>, Shixiong Shang <<a href="mailto:sparkofwisdom.cloud@gmail.com" target="_blank">sparkofwisdom.cloud@gmail.com</a>><br>
<span style="font-weight:bold">Subject: </span>Re: Cannot make it today at 4pm EST<br>
</div>
<div><br>
</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div><br>
</div>
<span>
<div>See below.</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif"><span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word">
<div>
<div>
<blockquote type="cite">
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div>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?</div>
</div>
</blockquote>
<div><br>
</div>
<div>[SHSHANG] I like this proposal better.</div>
</div>
</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word">
<div>
<div>
<blockquote type="cite">
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div>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.</div>
</div>
</blockquote>
<div><br>
</div>
<div>[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. </div>
<div><br>
</div>
<div>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.</div>
</div>
</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>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.</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>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)</div>
<div><br>
</div>
<div><br>
</div>
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5" type="cite">
<div>
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif"><span>
<div>
<div style="word-wrap:break-word">
<div><br>
</div>
</div>
</div>
</span></div>
</div>
</blockquote>
</span></div>
</div>
</blockquote>
</span></div>
</div>
</blockquote>
</span></div>
</div>
</blockquote>
</span></div>
</div>
</blockquote>
</span></div>
</div>
</blockquote>
</span></div>
</div>
</blockquote>
</span></div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</span>


</blockquote><blockquote type="cite"><PastedGraphic-1.png></blockquote><blockquote type="cite"><span>_______________________________________________</span><br><span>OpenStack-dev mailing list</span><br><span><a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a></span><br><span><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></span><br></blockquote></div></blockquote></div><br></div></body></html>