<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">https://github.com/miguellavalle/routednetworksvagrant</a>. Specifically, look here: <a href="https://github.com/miguellavalle/routednetworksvagrant/blob/master/Vagrantfile#L188">https://github.com/miguellavalle/routednetworksvagrant/blob/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">https://github.com/miguellavalle/routednetworksvagrant/blob/master/provisioning/setup-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<br><br></div>Miguel<br></div><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-<wbr>295daad44123 | multinet | a998ac2b-2f50-44f1-9c1a-<wbr>f4f3684ef63c <a href="http://10.1.1.0/24" target="_blank">10.1.1.0/24</a>        |</div><div>|                                                                       |              | 26bcdfd3-6393-425e-963e-<wbr>1ace6ef74e0c <a href="http://10.1.0.0/24" target="_blank">10.1.0.0/24</a>     |</div><div>| 662de35c-f7a7-47cd-ba18-<wbr>e5a2470935f0    | net       | 9754dfe9-be48-4a38-b690-<wbr>5c48cf371ba3 <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-<wbr>e0913e5bcf13</div><div><br></div><div><font color="#000000">stack@devstack:~$</font><font color="#ff0000"> neutron router-interface-add c488238d-06d7-4b85-9fa1-<wbr>e0913e5bcf13 a998ac2b-2f50-44f1-9c1a-<wbr>f4f3684ef63c</font></div><div>Added interface 680eb2b6-b445-4790-9610-<wbr>80154dd6d909 to router c488238d-06d7-4b85-9fa1-<wbr>e0913e5bcf13.</div><div>stack@devstack:~$ neutron router-port-list c488238d-06d7-4b85-9fa1-<wbr>e0913e5bcf13</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-<wbr>80154dd6d909 |           | fa:16:3e:47:2e:8f | {"subnet_id": "26bcdfd3-6393-425e-963e-<wbr>1ace6ef74e0c", "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="HOEnZb"><div class="h5"><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_7458803737317660728HOEnZb"><font color="#888888"><div>shihanzhang</div></font></span><div><div class="m_7458803737317660728h5"><br><br><div style="zoom:1"></div><div id="m_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_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_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_7458803737317660728m_-5369731613940237134HOEnZb"><div class="m_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_7458803737317660728m_-5369731613940237134m_7380656009919871439h5"><div style="zoom:1"></div><div id="m_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_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_7458803737317660728m_-5369731613940237134m_7380656009919871439m_3173725327476540673m_3678170977224185101divNeteaseMailCard"></div><div>Thanks,</div><div>shihanzhang</div><div><div class="m_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_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.<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>