<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:宋体;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ZH-CN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri",sans-serif;color:#1F497D">Sam, Thanks, But I failed to install two compute nodes if tacker is enabled, I’m not sure if tacker depends on Netron L3, can you share local.conf
 for two compute nodes case with tacker enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></a></p>
<p class="MsoNormal"><a name="_____replyseparator"></a><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Sam Hague [mailto:shague@redhat.com]
<br>
<b>Sent:</b> Friday, November 20, 2015 9:19 PM<br>
<b>To:</b> Yang, Yi Y <yi.y.yang@intel.com><br>
<b>Cc:</b> openstack-dev@lists.openstack.org; Flavio Fernandes <ffernand@redhat.com>; Tim Rozet <trozet@redhat.com>; Andre Fredette <afredette@redhat.com><br>
<b>Subject:</b> Re: [openstack-dev] [Neutron] How are Tenant VMs' traffic routed to Service VMs<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">Yi,<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">yes, you just create a router and connect the two networks to it. The router will ensure traffic works between the two networks/subnets. Add the router and then just add each subnet to the router. Something like the below:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">neutron net-create vx-net --provider:network_type vxlan --provider:segmentation_id 1500<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">neutron net-create vx-net2 --provider:network_type vxlan --provider:segmentation_id 1501<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">neutron subnet-create vx-net <a href="http://10.100.5.0/24">
10.100.5.0/24</a> --name vx-subnet --dns-nameserver 8.8.8.8<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">neutron subnet-create vx-net2 <a href="http://10.100.6.0/24">
10.100.6.0/24</a> --name vx-subnet2 --dns-nameserver 8.8.8.8<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">neutron net-create ext-net<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">neutron router-interface-add ext-rtr vx-subnet<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">neutron router-interface-add ext-rtr vx-subnet2<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Thanks, Sam<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">On Fri, Nov 20, 2015 at 2:52 AM, Yang, Yi Y <<a href="mailto:yi.y.yang@intel.com" target="_blank">yi.y.yang@intel.com</a>> wrote:<o:p></o:p></span></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal"><span lang="EN-US">Hi, folks<br>
<br>
I'm trying tacker to start some service VMs as Service Function VNF by "heat" tenant user, service VMs have special Neutron net & subnet, other common tenant VMs will have their own Neutron net & subnet, my question is how to route the traffic to service VMs
 in Openstack environment, DVR or router?<br>
<br>
I integrated Opendaylight and used Opendaylight ML2 driver (<a href="https://github.com/openstack/networking-odl" target="_blank">https://github.com/openstack/networking-odl</a>), in that case, I used its L3 routing plugin instead of Neutron L3, I also integrated
 ovsdb, from ovsdb perspective, ARP response and L3 routing are done by openflow tables, so can openflow tables do the same thing to routing the traffic between tenant VMs and service VMs?<br>
<br>
Network topology looks like the below diagram.<br>
<br>
<br>
+--------------------------------------------------------------------------+                            +------------------------------------------------------------------------------+<br>
|Compute Node 1                             |                            |Compute Node 2                               |<br>
|                                           |                            |                                            |<br>
|                                           |                            |                                            |<br>
|                                           |                            |                                            |<br>
|                                           |                            |                                            |<br>
|                                           |                            |                                            |<br>
|       +--------------------+      +---------------------+   |                            |       +--------------------+       +-----------------+    |<br>
|       |Tenant VM1  |      |Service VMx  |   |                            |       |Tenant VM2  |       |Service VMy|    |<br>
|       | 10.0.0.3     |      | 11.0.0.3    |   |                            |       | 10.0.0.4     |       | 11.0.0.4   |    |<br>
|       |            |      |            |   |                            |       |            |       |          |    |<br>
|       |            |      |            |   |                            |       |            |       |          |    |<br>
|       |            |      |            |   |                            |       |            |       |          |    |<br>
|       +-------eth0-------+      +--------eth0------+   |                            |       +-------eth0-------+       +------eth0-----+    |<br>
|              |                   |         |                            |              |                   |         |<br>
|              |                   |         |                            |              |                   |         |<br>
|             tap0                tap1       |                            |             tap0                tap1        |<br>
|              |        ovs        |         |                            |               |        ovs        |         |<br>
|              +-------------br-int------------+         |                            |               +------------br-int------------+         |<br>
|                        |                   |                            |                         |                  |<br>
|              +----------------+---------------+         |                            |               +----------------+---------------+        |<br>
|              |                   |         |                            |               |                   |        |<br>
|            VxLAN1          VxLAN-gpe1      |                            |            VxLAN1            VxLAN-gpe1   |<br>
|                                            |                            |                                           |<br>
|-------------------------------------eth1---------------------------------+                            + ---------------------------------------eth1-----------------------------+<br>
            192.188.50.3|                                                                           | 192.168.50.4<br>
                       +===========================================================================+<o:p></o:p></span></p>
</blockquote>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</div>
</body>
</html>