<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 absolutely agree that there are many standards to choose from. The point I am trying to make is that there are common integration methods that map into certain standards. If we diverge from these, it is likely that integration into brownfield networks will become an issue.<div><br></div><div><div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><p class="MsoNormal" style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-weight: normal; ">Regards,</p><p class="MsoNormal" style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-weight: normal; ">Colin</p><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-weight: normal; "><b style="font-family: Calibri, sans-serif; font-size: 15px; "><span style="font-size: 12pt; color: navy; font-family: Arial, sans-serif; ">Colin McNamara</span></b><br></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; "><span style="font-family: Calibri, sans-serif; font-size: 15px; "><span style="font-size: 12pt; color: navy; font-family: Arial, sans-serif; ">People | Process | Technology</span></span></div><div><font color="#000080" face="Arial, sans-serif"><span style="font-size: 16px; ">--------------------------------------------</span></font></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-weight: normal; "><div style="font-family: Calibri, sans-serif; font-size: 11pt; margin: 0in 0in 0.0001pt; "><b><span style="font-size: 10pt; color: rgb(31, 73, 125); font-family: Arial, sans-serif; ">Mobile</span></b><span style="font-size: 10pt; color: rgb(31, 73, 125); font-family: Arial, sans-serif; ">: <span class="Apple-tab-span" style="white-space: pre; "> </span>858-208-8105</span></div><div style="margin: 0in 0in 0.0001pt; "><font color="#1f497d" face="Arial, sans-serif"><span style="font-size: 13px; "><b>Twitter:<span class="Apple-tab-span" style="white-space: pre; ">  </span></b></span></font><a href="http://www.twitter.com/colinmcnamara">@colinmcnamara</a></div><div style="font-family: Calibri, sans-serif; font-size: 11pt; margin: 0in 0in 0.0001pt; "><span style="color: rgb(31, 73, 125); font-family: Arial, sans-serif; font-size: 13px; "><b>Linkedin</b>:<span class="Apple-tab-span" style="white-space: pre; ">  </span></span><a href="http://www.linkedin.com/colinmcnamara" style="font-family: Arial, sans-serif; font-size: 13px; ">www.</a><a href="http://www.linkedin.com/colinmcnamara" style="font-family: Arial, sans-serif; font-size: 13px; ">linkedin.com/colinmcnamara</a></div><div style="font-family: Calibri, sans-serif; font-size: 11pt; margin: 0in 0in 0.0001pt; "><b style="color: rgb(31, 73, 125); font-family: Arial, sans-serif; font-size: 13px; ">Blog</b><span style="color: rgb(31, 73, 125); font-family: Arial, sans-serif; font-size: 13px; ">:<span class="Apple-tab-span" style="white-space: pre; ">     </span></span><a href="http://www.colinmcnamara.com/" style="font-family: Arial, sans-serif; font-size: 13px; ">www.colinmcnamara.com</a></div><div style="font-family: Calibri, sans-serif; font-size: 11pt; margin: 0in 0in 0.0001pt; "><b style="color: rgb(31, 73, 125); font-family: Arial, sans-serif; font-size: 13px; ">Email</b><span style="color: rgb(31, 73, 125); font-family: Arial, sans-serif; font-size: 13px; ">:</span><span class="Apple-tab-span" style="color: rgb(31, 73, 125); font-family: Arial, sans-serif; font-size: 13px; white-space: pre; ">    </span><a href="mailto://colin@2cups.com">colin@2cups.com</a><span class="Apple-tab-span" style="color: rgb(31, 73, 125); font-family: Arial, sans-serif; font-size: 13px; white-space: pre; ">   </span></div><div style="font-family: Calibri, sans-serif; font-size: 11pt; margin: 0in 0in 0.0001pt; "><br></div></div></div></div></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br><div><div>On Nov 8, 2013, at 2:18 PM, Nachi Ueno <<a href="mailto:nachi@ntti3.com">nachi@ntti3.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi folks<br><br>let's use #openstack-meeting on the meetings.<br><br>I have also created an etherpad for this discussion<br>(If you have any slide, please link to the page)<br><br><a href="https://etherpad.openstack.org/p/NeutronDynamicRoutingIceHouse">https://etherpad.openstack.org/p/NeutronDynamicRoutingIceHouse</a><br><br>Best<br>Nachi<br><br><br><br>2013/11/8 Pedro Roque Marques <pedro.r.marques@gmail.com>:<br><blockquote type="cite">What about an IRC meeting on this topic 11/19 at 9 p.m. PST ? This is 2 p.m<br>in Japan and 6 a.m CET on the 20th.<br>It is not ideal but i suspect we will have interest in participating from<br>both Europe and Asia.<br>I volunteer myself and Nachi Ueno nachi@ntti3.com (the author of the BGP<br>MPLS blueprint) as agenda organizers; please drop us a note if you intend to<br>attend and wether you would like to present something to the group.<br><br>  Pedro.<br><br>On Nov 7, 2013, at 11:27 AM, Rochelle.Grober <Rochelle.Grober@huawei.com><br>wrote:<br><br><br><br>From: Pedro Roque Marques [mailto:pedro.r.marques@gmail.com]<br>Colin,<br>"The nice thing about standards is that there are so many of them to choose<br>from."<br><br>For instance, if you take this Internet Draft:<br>http://tools.ietf.org/html/draft-ietf-l3vpn-end-system-02 which is based on<br>RFC4364.<br><br>It has already been implemented as a Neutron plugin via OpenContrail<br>(http://juniper.github.io/contrail-vnc/README.html); With this<br>implementation each OpenStack cluster can be configured as its own<br>Autonomous System.<br><br>There is a blueprint<br>https://blueprints.launchpad.net/neutron/+spec/neutron-bgp-mpls-vpn<br>that is discussing adding the provisioning of the autonomous system and<br>peering to Neutron.<br><br>Please note that the work above does interoperate with 4364 using option B.<br>Option C is possible but not that practical (as an operator you probably<br>don't want to expose your internal topology between clusters).<br><br>If you want to give it a try you can use this devstack fork:<br>https://github.com/dsetia/devstack.<br>You can use it to interoperate with a standard router that implements 4364<br>and support MPLS over GRE. Products from cisco/juniper/ALU/huwawei etc do.<br><br>I believe that the work i'm referencing implements interoperability while<br>having very minimal changes to Neutron. It is based on the same concept of<br>neutron virtual network and it hides the BGP/MPLS functionality from the<br>user by translating policies that establish connectivity between virtual<br>networks into RFC 4364 concepts.<br>Please refer to:<br>https://blueprints.launchpad.net/neutron/+spec/policy-extensions-for-neutron<br><br>Would it make sense to have an IRC/Web meeting around interoperability with<br>RFC4364 an OpenStack managed clusters ? I believe that there is a lot of<br>work that has already been done there by multiple vendors as well as some<br>carriers.<br><br>+1  And it should be scheduled and announced a reasonable time in advance<br>developers can plan to participate.<br><br>--Rocky<br><br>  Pedro.<br><br>On Nov 7, 2013, at 12:35 AM, Colin McNamara <colin@2cups.com> wrote:<br><br>I have a couple concerns that I don’t feel I clearly communicated during the<br>L3 advanced features session. I’d like to take this opportunity to both<br>clearly communicate my thoughts, as well as start a discussion around them.<br><br><br>Building to the edge of the "autonomous system"<br><br>The current state of neutron implementation is functionally the l2 domain<br>and simple l3 services that are part of a larger autonomous system. The<br>routers and switches northbound of the OpenStack networking layer handled<br>the abstraction and integration of the components.<br><br>Note, I use the term “Autonomous System” to describe more then the notion of<br>BGP AS, but more broadly in the term of a system that is controlled within a<br>common framework and methodology, and integrates with a peer system that<br>doesn’t not share that same scope or method of control<br><br>These components that composed the autonomous system boundary implement<br>protocols and standards that map into IETF and IEEE standards. The reasoning<br>for this is interoperability. Before vendors utilize IETF for<br>interoperability at this layer, the provider experience was horrible (this<br>was my personal experience in the late 90’s).<br><br><br><br>Wednesdays discussions in the Neutron Design Sessions<br><br>A couple of the discussions, most notably the extension of l3 functionality<br>fell within the scope of starting the process of extending Neutron with<br>functionality that will result (eventually) in the ability for an OpenStack<br>installation to operate as it’s own Autonomous System.<br><br>The discussions that occurred to support L3 advanced functionality<br>(northbound boundary), and the QOS extension functionality both fell into<br>the scope of Northbound and Southbound boundaries of this system.<br><br>My comments in the session<br><br>My comments in the session, while clouded with jet-lag were specifically<br>around two concepts that are used when integrating other types of systems<br><br>1. In a simple (1-8) tenant environment integration with a northbound AS is<br>normally done in a PE-CE model that generally centers around mapping dot1q<br>tags into the appropriate northbound l3 segments and then handling the<br>availability of the L2 path that traverses with port channeling, MLAG, STP,<br>Etc.<br><br>2. In a complex environment (8+ for discussion) different Carrier Supporting<br>Carrier (CSC) methods defined in IETF RFC 4364 Section 10 type A, B or C are<br>used. These allow the mapping of segregated tenant networks together and<br>synchronizing between distributed systems. This normally extends the tagging<br>or tunneling mechanism and then allows for BGP to synchronize NLRI<br>information between AS’s.<br><br>These are the standard ways of integrating between carriers, but also<br>components of these implementations are used to integrate and scale inside<br>of a single web scale data center. Commonly when you scale beyond a certain<br>physical port boundary (1000is edge ports in many implementations, much<br>larger in current implementations) the same designs for C2C integrations are<br>used to create network availability zones inside a web scale data center.<br><br>Support of these IETF and IEEE standard integrations are necessary for brown<br>field installations<br><br>In a green field installation, diverging from IETF and IEEE standards on the<br>north bound edge while not a great idea, can result in a functional<br>implementation. In a brown field implementation where OpenStack Neutron will<br>be integrated into an existing network core. This boundary layer is where we<br>move from a controlled system into a distributed system. The cleanly<br>integrate into this system, IETF and IEEE protocols and standards have to be<br>followed.<br><br><br><br><8DB71B56-CDE5-42D5-870E-CF94157510F8.png>When we diverge from this<br>standards based integration at the north edge of our autonomous system we<br>lose the ability to integrate without introducing major changes (and risk),<br>into our core. In my experience this is sufficient to either slow or stall<br>adoption. This is a major risk, that I believe can be mitigated.<br><br>My thoughts on mitigating this risk<br><br>We need to at least map and track the relevant IETF RFC’s that define the<br>internet standards for integration at the AS boundary. I know that many of<br>the network vendor developers that contribute to Neutron have access to<br>people who both have deep knowledge of these standards, and also participate<br>in the IETF working groups. I would hope that these resources could be<br>leveraged to at least give a sanity check, at best ensure a compliant<br>northbound interface to other systems.<br><br>Side benefit of engaging IETF members in this discussion<br><br>The other side benefit of this is that inventions inside of Neutron can also<br>be communicated as standards to the rest of the world in the form of net new<br>RFC’s. In OVS this has already happened, as OVS has emerged to be a common<br>component in many network devices, and the need to establish and reference a<br>common standard has risen it’s head. I would think that inventions within<br>Neutron would follow this same path.<br><br><br>Regards,<br>Colin<br>Colin McNamara<br>People | Process | Technology<br>--------------------------------------------<br>Mobile:             858-208-8105<br>Twitter: @colinmcnamara<br>Linkedin:          www.linkedin.com/colinmcnamara<br>Blog:    www.colinmcnamara.com<br>Email:  colin@2cups.com<br><br><br><br><br><br><br><br>_______________________________________________<br>OpenStack-dev mailing list<br>OpenStack-dev@lists.openstack.org<br>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<br><br><br>_______________________________________________<br>OpenStack-dev mailing list<br>OpenStack-dev@lists.openstack.org<br>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<br><br><br><br>_______________________________________________<br>OpenStack-dev mailing list<br>OpenStack-dev@lists.openstack.org<br>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<br><br></blockquote><br>_______________________________________________<br>OpenStack-dev mailing list<br>OpenStack-dev@lists.openstack.org<br>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<br></blockquote></div><br></div></body></html>