<div dir="ltr">Hi, Miguel. <div><br></div><div>Thanks for your reply.<div><br></div><div>This is my thought about routed network. Please review it and give me some comments, thanks.</div></div><div><br></div><div>In general L2 provider network, maybe one network to one subnet. If in real deployment, we has to create many provider networks because one network to one subnets. But in routed network, one network can contain more than one subnet. So in real deployment, we can create only one network, this network we created can contain many many subnets. Does my thought was right?</div><div><br></div><div>According to your reply,  I think that if we create a routed network with two subnets, one is <a href="http://10.1.0.0/24">10.1.0.0/24</a> and the other is <a href="http://10.1.1.0/24">10.1.1.0/24</a>. Except your solution, in real deployment, we need to create two gateway (10.1.0.1 and 10.1.1.1)  in physical network, isn't it?</div><div><br></div><div>Hope for your reply. :)</div><div><br></div><div><br></div><div>Thanks</div><div>Zhi Chang</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-11-02 22:49 GMT+08:00 Miguel Lavalle <span dir="ltr"><<a href="mailto:miguel@mlavalle.com" target="_blank">miguel@mlavalle.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi Zhi,<br><br></div>In routed networks, the routing among the segments has to be provided by a router external to Neutron. It has to be provided by the deployment's networking infrastructure. In the summit presentation you watched, I used this Vagrant environment for the demo portion: <a href="https://github.com/miguellavalle/routednetworksvagrant" target="_blank">https://github.com/<wbr>miguellavalle/<wbr>routednetworksvagrant</a>. Specifically, look here: <a href="https://github.com/miguellavalle/routednetworksvagrant/blob/master/Vagrantfile#L188" target="_blank">https://github.com/<wbr>miguellavalle/<wbr>routednetworksvagrant/blob/<wbr>master/Vagrantfile#L188</a>. As you can see, I create a VM, "iprouter", to act as the router between the two segments I use in the demo: one segment on vlan tag 2016 in physnet1 and another segment on vlan tag 2016 in physnet2. Please also look here how I enable the routing in the "iprouter" Linux: <a href="https://github.com/miguellavalle/routednetworksvagrant/blob/master/provisioning/setup-iprouter.sh" target="_blank">https://github.com/<wbr>miguellavalle/<wbr>routednetworksvagrant/blob/<wbr>master/provisioning/setup-<wbr>iprouter.sh</a>.<br><br></div>Of course, in a real deployment you would use a hardware router connected to all the network's segments<br><br></div>Hope this helps<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888">Miguel<br></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 1, 2016 at 4:42 AM, zhi <span dir="ltr"><<a href="mailto:changzhi1990@gmail.com" target="_blank">changzhi1990@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 dir="ltr">Hi, shihanzhang and Neil, Thanks for your comments.<div><br></div><div>In your comments. I think that Neutron router or physical network should provide routing these two subnets, doesn't it? Does my thought was right?</div><div><div><br></div><div>I tried to connect these two subnets with a Neutron router but I met a strange problem. I did some operations like this:</div><div><br></div><div><div>stack@devstack:~$ neutron net-list</div><div>+-----------------------------<wbr>----------------------------+-<wbr>----------+-------------------<wbr>------------------------------<wbr>---------------------------+</div><div>| id                                                                  | name     |                             subnets                                                  |</div><div>+-----------------------------<wbr>----------------------------+-<wbr>----------+-------------------<wbr>------------------------------<wbr>---------------------------+</div><div>| 6596da30-d7c6-4c39-b87c-295daa<wbr>d44123 | multinet | a998ac2b-2f50-44f1-9c1a-f4f368<wbr>4ef63c <a href="http://10.1.1.0/24" target="_blank">10.1.1.0/24</a>        |</div><div>|                                                                       |              | 26bcdfd3-6393-425e-963e-1ace6e<wbr>f74e0c <a href="http://10.1.0.0/24" target="_blank">10.1.0.0/24</a>     |</div><div>| 662de35c-f7a7-47cd-ba18-e5a247<wbr>0935f0    | net       | 9754dfe9-be48-4a38-b690-5c48cf<wbr>371ba3 <a href="http://10.10.10.0/24" target="_blank">10.10.10.0/24</a>  |</div><div>+-----------------------------<wbr>-----------------------------+<wbr>----------+-------------------<wbr>------------------------------<wbr>---------------------------+</div><div>stack@devstack:~$ neutron router-port-list c488238d-06d7-4b85-9fa1-e0913e<wbr>5bcf13</div><div><br></div><div><font color="#000000">stack@devstack:~$</font><font color="#ff0000"> neutron router-interface-add c488238d-06d7-4b85-9fa1-e0913e<wbr>5bcf13 a998ac2b-2f50-44f1-9c1a-f4f368<wbr>4ef63c</font></div><div>Added interface 680eb2b6-b445-4790-9610-80154d<wbr>d6d909 to router c488238d-06d7-4b85-9fa1-e0913e<wbr>5bcf13.</div><div>stack@devstack:~$ neutron router-port-list c488238d-06d7-4b85-9fa1-e0913e<wbr>5bcf13</div><div>+-----------------------------<wbr>-----------------------------+<wbr>--------+---------------------<wbr>--+---------------------------<wbr>------------------------------<wbr>--------------------------+</div><div>| id                                                                   | name | mac_address       | fixed_ips                                                                                     |</div><div>+-----------------------------<wbr>-----------------------------+<wbr>--------+---------------------<wbr>---+--------------------------<wbr>------------------------------<wbr>--------------------------+</div><div>| 680eb2b6-b445-4790-9610-80154d<wbr>d6d909 |           | fa:16:3e:47:2e:8f | {"subnet_id": "26bcdfd3-6393-425e-963e-1ace6<wbr>ef74e0c", "ip_address": "<font color="#ff0000">10.1.0.10</font>"} |</div><div>+-----------------------------<wbr>-----------------------------+<wbr>---------+--------------------<wbr>--+---------------------------<wbr>------------------------------<wbr>--------------------------+</div></div><div><br></div><div><br></div><div>After adding a port interface ( subnet <a href="http://10.1.1.0/24" target="_blank">10.1.1.0/24</a>  ) to the router, Why does the port's IP address was 10.1.0.10 ? Why not it should be 10.1.1.x/24 ?</div></div><div><br></div><div><br></div><div><br></div><div>Thanks</div><div>Zhi Chang</div></div><div class="m_-8806698644577316761HOEnZb"><div class="m_-8806698644577316761h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-11-01 17:19 GMT+08:00 shihanzhang <span dir="ltr"><<a href="mailto:ayshihanzhang@126.com" target="_blank">ayshihanzhang@126.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>agree with Neil.</div><div><br></div><div>thanks</div><span class="m_-8806698644577316761m_7458803737317660728HOEnZb"><font color="#888888"><div>shihanzhang</div></font></span><div><div class="m_-8806698644577316761m_7458803737317660728h5"><br><br><div style="zoom:1"></div><div id="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134divNeteaseMailCard"></div><br>在 2016-11-01 17:13:54,"Neil Jerram" <<a href="mailto:neil@tigera.io" target="_blank">neil@tigera.io</a>> 写道:<br> <blockquote id="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134isReplyContent" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:#ccc 1px solid">                                                                                      <div style="width:100%;font-size:initial;font-family:Calibri,'Slate Pro',sans-serif,sans-serif;color:rgb(31,73,125);text-align:initial;background-color:rgb(255,255,255)">Hi Zhi Chang,</div><div style="width:100%;font-size:initial;font-family:Calibri,'Slate Pro',sans-serif,sans-serif;color:rgb(31,73,125);text-align:initial;background-color:rgb(255,255,255)"><br></div><div style="width:100%;font-size:initial;font-family:Calibri,'Slate Pro',sans-serif,sans-serif;color:rgb(31,73,125);text-align:initial;background-color:rgb(255,255,255)">I believe the answer is that the physical network (aka fabric) should provide routing between those two subnets. This routing between segments is implicit in the idea of a multi-segment network, and is entirely independent of routing between virtual _networks_ (which is done by a Neutron router object connecting those networks).</div><div style="width:100%;font-size:initial;font-family:Calibri,'Slate Pro',sans-serif,sans-serif;color:rgb(31,73,125);text-align:initial;background-color:rgb(255,255,255)"><br></div><div style="width:100%;font-size:initial;font-family:Calibri,'Slate Pro',sans-serif,sans-serif;color:rgb(31,73,125);text-align:initial;background-color:rgb(255,255,255)">Hope that helps! </div><div style="width:100%;font-size:initial;font-family:Calibri,'Slate Pro',sans-serif,sans-serif;color:rgb(31,73,125);text-align:initial;background-color:rgb(255,255,255)">    Neil </div><div style="width:100%;font-size:initial;font-family:Calibri,'Slate Pro',sans-serif,sans-serif;color:rgb(31,73,125);text-align:initial;background-color:rgb(255,255,255)">  </div>                                                                                                                                     <div style="width:100%;font-size:initial;font-family:Calibri,'Slate Pro',sans-serif,sans-serif;color:rgb(31,73,125);text-align:initial;background-color:rgb(255,255,255)"><br style="display:initial"></div>                                                                                                                                                                                                   <div style="font-size:initial;font-family:Calibri,'Slate Pro',sans-serif,sans-serif;color:rgb(31,73,125);text-align:initial;background-color:rgb(255,255,255)"></div>                                                                                                                                                                                  <table style="background-color:white;border-spacing:0px" width="100%"> <tbody><tr><td colspan="2" style="font-size:initial;text-align:initial;background-color:rgb(255,255,255)">                           <div style="border-style:solid none none;border-top-color:rgb(181,196,223);border-top-width:1pt;padding:3pt 0in 0in;font-family:Tahoma,'BB Alpha Sans','Slate Pro';font-size:10pt">  <div><b>From: </b>zhi</div><div><b>Sent: </b>Tuesday, 1 November 2016 07:50</div><div><b>To: </b>OpenStack Development Mailing List (not for usage questions)</div><div><b>Reply To: </b>OpenStack Development Mailing List (not for usage questions)</div><div><b>Subject: </b>Re: [openstack-dev] [neutron][routed-network] Host doesn't connected any segments when creating port</div></div></td></tr></tbody></table><div style="border-style:solid none none;border-top-color:rgb(186,188,209);border-top-width:1pt;font-size:initial;text-align:initial;background-color:rgb(255,255,255)"></div><br><div id="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134_originalContent"><div dir="ltr">Hi, shihanzhang.<div><br></div><div>I still have a question about routed network. I have two subnets. One is <a href="http://10.1.0.0/24" target="_blank">10.1.0.0/24</a> and the other is <a href="http://10.1.1.0/24" target="_blank">10.1.1.0/24</a>. I create two instances in each host.</div><div>Such as 10.1.0.10 and 10.1.1.10.</div><div><br></div><div>My question is, how does 10.1.0.10 connect to 10.1.1.10 ?  There is no any gateway( 10.1.0.1 and 10.1.1.1 ) in each subnet.</div><div><br></div><div><br></div><div>Hope four your reply. ;-)</div><div><br></div><div><br></div><div>Thanks</div><div>Zhi Chang</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-11-01 14:31 GMT+08:00 zhi <span dir="ltr"><<a href="mailto:changzhi1990@gmail.com" target="_blank">changzhi1990@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi, shihanzhang.<div><br></div><div>Thanks for your advice. Now I can created ports successfully by your advice. </div><div><br></div><div><br></div><div><br></div><div>Thanks</div><div>Zhi Chang</div><div><div><br></div></div></div><div class="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134HOEnZb"><div class="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-11-01 12:50 GMT+08:00 shihanzhang <span dir="ltr"><<a href="mailto:ayshihanzhang@126.com" target="_blank">ayshihanzhang@126.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>Hi Zhi Chang,</div><div>Maybe you should add a config option in [ovs] section: bridge_mappings = public:br-ex, physnet1:br-physnet1 to handle the provider network 'physnet1'.</div><div><br></div><div>Thanks,</div><div>shihanzhang</div><div><div class="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134m_7380656009919871439h5"><div style="zoom:1"></div><div id="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134m_7380656009919871439m_3173725327476540673divNeteaseMailCard"></div><br>At 2016-11-01 11:56:33, "zhi" <<a href="mailto:changzhi1990@gmail.com" target="_blank">changzhi1990@gmail.com</a>> wrote:<br> <blockquote id="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134m_7380656009919871439m_3173725327476540673isReplyContent" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:#ccc 1px solid"><div dir="ltr">hi shihanzhang.<div><br></div><div>Below is configuration in ml2_conf.ini. Please review it. :)</div><div><br></div><div><div>stack@devstack:~/neutron/neutr<wbr>on$ cat /etc/neutron/plugins/ml2/ml2_c<wbr>onf.ini |grep -v "#"|grep -v ^$</div><div>[DEFAULT]</div><div>[ml2]</div><div>tenant_network_types = vxlan</div><div>extension_drivers = port_security</div><div>mechanism_drivers = openvswitch,linuxbridge</div><div>tenant_network_types = vxlan</div><div>[ml2_type_flat]</div><div>flat_networks = public,public,</div><div>[ml2_type_geneve]</div><div>vni_ranges = 1:1000</div><div>[ml2_type_gre]</div><div>tunnel_id_ranges = 1:1000</div><div>[ml2_type_vlan]</div><div>network_vlan_ranges = physnet1,physnet2</div><div>[ml2_type_vxlan]</div><div>vni_ranges = 1:1000</div><div>[securitygroup]</div><div>firewall_driver = neutron.agent.linux.iptables_f<wbr>irewall.OVSHybridIptablesFirew<wbr>allDriver</div><div>[agent]</div><div>tunnel_types = vxlan</div><div>root_helper_daemon = sudo /usr/local/bin/neutron-rootwra<wbr>p-daemon /etc/neutron/rootwrap.conf</div><div>root_helper = sudo /usr/local/bin/neutron-rootwra<wbr>p /etc/neutron/rootwrap.conf</div><div>[ovs]</div><div>datapath_type = system</div><div>bridge_mappings = public:br-ex</div><div>tunnel_bridge = br-tun</div><div>local_ip = 192.168.10.20</div></div><div><br></div><div><br></div><div><br></div><div>Thanks</div><div>Zhi Chang</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-11-01 9:15 GMT+08:00 shihanzhang <span dir="ltr"><<a href="mailto:ayshihanzhang@126.com" target="_blank">ayshihanzhang@126.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial">hi Zhi chang,<br><div>Could you provide your ml2_conf.ini for ovs agent, I guess the reason is that your ovs-agent on host devstack can't handle the related segment id.</div><br><div style="zoom:1"></div><div id="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134m_7380656009919871439m_3173725327476540673m_3678170977224185101divNeteaseMailCard"></div><div>Thanks,</div><div>shihanzhang</div><div><div class="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134m_7380656009919871439m_3173725327476540673h5"><div><br></div>在 2016-10-31 18:43:36,"zhi" <<a href="mailto:changzhi1990@gmail.com" target="_blank">changzhi1990@gmail.com</a>> 写道:<br> <blockquote id="m_-8806698644577316761m_7458803737317660728m_-5369731613940237134m_7380656009919871439m_3173725327476540673m_3678170977224185101isReplyContent" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:#ccc 1px solid"><div dir="ltr">Hi, all.<div><br></div><div>Recently, I watch the OpenStack Summit video named ' Scaling Up OpenStack Networking with Routed Networks '.  Carl and Miguel made this topic.  I learned a lot of your topic. Thanks. </div><div><br></div><div>But I have some questions about the demo in the topic. </div><div><br></div><div>I do some steps according to the topic. </div><div><br></div><div>First, creating two networks like this:</div><div><br></div><div><div>neutron net-create multinet --shared --segments type=dict list=true     provider:physical_network=phys<wbr>net1,provider:segmentation_id=<wbr>2016,provider:network_type=vla<wbr>n     provider:physical_network=phys<wbr>net2,provider:segmentation_id=<wbr>2016,provider:network_type=vla<wbr>n</div></div><div><br></div><div><br></div><div>Second, I get two segments after creating this network. I get these segments by using " openstack network segment list ". </div><div><br></div><div>Third, I create two subnets by these segments by using this command " </div><div><br></div><div><div>neutron subnet-create --ip_version 4 --name multi-segment1-subnet [net-id] <a href="http://10.1.0.0/24" target="_blank">10.1.0.0/24</a> --segment_id [segment-id]</div><div>neutron subnet-create --ip_version 4 --name multi-segment2-subnet [net-id] <a href="http://10.1.1.0/24" target="_blank">10.1.1.0/24</a> --segment_id [segment-id]</div></div><div> "</div><div><br></div><div>At last, I want to create a port with host_id. My local environment contains two compute nodes, one is named "devstack"  and the other is "devstack2". So I use this command "  neutron port-create --binding:host_id=devstack [net-id] ". </div><div><br></div><div>Exception happens in neutron server. The exception says "</div><div><br></div><div>Host devstack is not connected to any segments on routed provider network [net-id].  It should be connected to one." I can not get this exact point about this exception. </div><div><br></div><div>Why does the "routed network" have relationship with host? </div><div><br></div><div>How they work together between "host info (compute node ?)" and "routed network"?</div><div><br></div><div>What should I do if I want to get rid of this exception?</div><div><br></div><div><br></div><div>Hope for your reply. Especially Carl and Miguel. ;-)</div><div><br></div><div><br></div><div><br></div><div>Many Thanks</div><div>Zhi Chang</div></div>
</blockquote></div></div></div><br><br><span title="neteasefooter"><p> </p></span><br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><br>
<br></blockquote></div><br></div>
</blockquote></div></div></div><br><br><span title="neteasefooter"><p> </p></span><br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
<br></div>

</blockquote></div></div></div><br><br><span title="neteasefooter"><p> </p></span><br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><br>
<br></blockquote></div><br></div>
</div></div><br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><br>
<br></blockquote></div><br></div>
</div></div><br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
<br></blockquote></div><br></div>