<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:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" 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)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        text-align:justify;
        font-size:10.5pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin:0in;
        margin-bottom:.0001pt;
        text-align:justify;
        text-indent:21.0pt;
        font-size:10.5pt;
        font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle26
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle27
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle28
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle29
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:887647650;
        mso-list-type:hybrid;
        mso-list-template-ids:-1636242998 -291893980 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.25in;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%2\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:42.0pt;
        text-indent:-21.0pt;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:63.0pt;
        text-indent:-21.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:84.0pt;
        text-indent:-21.0pt;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%5\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:105.0pt;
        text-indent:-21.0pt;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:1.75in;
        text-indent:-21.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:147.0pt;
        text-indent:-21.0pt;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%8\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:168.0pt;
        text-indent:-21.0pt;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:189.0pt;
        text-indent:-21.0pt;}
@list l1
        {mso-list-id:2031448151;
        mso-list-type:hybrid;
        mso-list-template-ids:1172468620 855169680 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.25in;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%2\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:42.0pt;
        text-indent:-21.0pt;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:63.0pt;
        text-indent:-21.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:84.0pt;
        text-indent:-21.0pt;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%5\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:105.0pt;
        text-indent:-21.0pt;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:1.75in;
        text-indent:-21.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:147.0pt;
        text-indent:-21.0pt;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%8\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:168.0pt;
        text-indent:-21.0pt;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:189.0pt;
        text-indent:-21.0pt;}
@list l2
        {mso-list-id:2141026777;
        mso-list-type:hybrid;
        mso-list-template-ids:-1497080270 -561865658 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.25in;
        text-indent:-.25in;}
@list l2:level2
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%2\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:42.0pt;
        text-indent:-21.0pt;}
@list l2:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:63.0pt;
        text-indent:-21.0pt;}
@list l2:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:84.0pt;
        text-indent:-21.0pt;}
@list l2:level5
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%5\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:105.0pt;
        text-indent:-21.0pt;}
@list l2:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:1.75in;
        text-indent:-21.0pt;}
@list l2:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:147.0pt;
        text-indent:-21.0pt;}
@list l2:level8
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%8\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:168.0pt;
        text-indent:-21.0pt;}
@list l2:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:189.0pt;
        text-indent:-21.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Sorry, I think I confused things by mentioning the scenario of launching VM instances directly on an external network.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">The original scenario that was being discussed was two different VM instances, on two different tenant networks, communicating via their respective FIP address over the same external tenant network.
      In that scenario, it is the respective virtual routers of both VM instances that will be sending out ARP requests for the destination FIP addresses.   It is those broadcast ARP requests that need to be eliminated by using updated L2POP FDB information.
   Therefore, the FDB updates need to be generated properly at the neutron-server and received by the neutron-layer2-agent on the node which is hosting the virtual routers; not necessarily the nodes hosting the VM instances.   In the following diagram, that
 means that the FDB on network node 1 and 2 need to be updated with information for FIP1 and FIP2.  The FDB on compute node 1 and 2 do not need to be updated because there are no ports directly on the external network on those nodes.  
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">                             FIP1            FIP2<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">                               +             +<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">                               |             |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">+-------+             +------+ |             | +------+                 +-------+<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">|       |             |      | |             | |      |                 |       |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">|  VM1  +---network1--+  R1  +-+-ext-network-+-+  R2  +----network2-----+  VM2  |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">|       |             |      |                 |      |                 |       |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">+---+---+             +---+--+                 +---+--+                 +---+---+<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">                                                                             <o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">    |                     |                        |                        |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">    |                     |                        |                        |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">    v                     v                        v                        v<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">  compute              network                  network                  compute<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">  node 1               node 1                   node 2                   node 2<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">The other scenario that I mentioned, which was to launch VM instances directly on the external network, was only to illustrate that it is possible for a VM to communicate directly for another
 server’s FIP rather than having to go through a virtual router.   In this type of scenario, the FDB of the node hosting the VM instance that resides directly on the external network needs to be updated whenever the FIP changes state.   In the following diagram,
 that means that the FDB on compute2 needs to be updated with information for FIP1, and the FDB on network node 1 needs to be updated with information for VM2’s port on the external network.   The FDB on compute node 1 does not need to be updated for VM2’s
 port information because there are no ports on compute node 1 that are directly attached to the external network.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">                             FIP1<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">                               +<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">                               |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">+-------+             +------+ |               +-------+<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">|       |             |      | |               |       |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">|  VM1  +---network1--+  R1  +-+-ext-network---+  VM2  |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">|       |             |      |                 |       |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">+---+---+             +---+--+                 +---+---+<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">   
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">    |                     |                        |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">    |                     |                        |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">    v                     v                        v<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">  compute              network                  compute<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;font-family:"Courier New";color:#1F497D">  node 1               node 1                   node 2<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Allain<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333">Allain Legacy</span></b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333">, Software Developer,
 Wind River</span><span style="font-size:11.0pt;color:#1F497D"><br>
</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333">direct 613.270.2279  fax
</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333">613.492.7870 skype allain.legacy<o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#404040">350 Terry Fox Drive, Suite 200, Ottawa, Ontario, K2K 2W5<o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span style="font-size:11.0pt;color:#1F497D"><br>
 <br>
</span><a href="http://www.windriver.com/" title=""Innovators Start Here" "><span style="font-size:11.0pt;font-family:"Arial",sans-serif;color:#CC0000;text-decoration:none"><img border="0" width="160" height="92" id="_x0000_i1032" src="cid:image001.png@01D495E8.4BEF6B00" alt="WIND"></span></a><span style="font-size:11.0pt;color:#1F497D"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:11.0pt">From:</span></b><span style="font-size:11.0pt"> Xu, Chenjie [mailto:chenjie.xu@intel.com]
<br>
<b>Sent:</b> Monday, December 17, 2018 5:35 AM<br>
<b>To:</b> Legacy, Allain<br>
<b>Cc:</b> Peters, Matt; starlingx-discuss@lists.starlingx.io<br>
<b>Subject:</b> RE: [Starlingx-discuss] Analysis of patch 9f926a5 for StartlingX upstreaming<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Hi Allain,<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Thank you for your advice! By following your suggestion, the FDB for floating IP can be installed on compute node. However there is a problem within the use
 case for RFE “Add l2pop support for floating IP resources”. The use case can be summarized as two VM instances, residing on different networks, communicate via their respective FIP addresses. The flows for floating IP on compute node:</span></a><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><img border="0" width="1020" height="128" id="Picture_x0020_3" src="cid:image002.jpg@01D495EB.7889B190"><span style="color:#1F497D"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">To use the flows for floating IP, the VM on compute node needs to have the same dl_vlan (local VLAN ID) which is 1. According to your previous email, the VM must be launched on the
 external network. Thus for the use case, the two VM resides on different external networks where the floating IPs for two VMs are. Thus another VM’s dl_vlan won’t be 1 and the flows for floating IP can’t be matched.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Based on the above analysis, the two VM instances, residing on different networks,
<b>can’t</b> communicate via their respective FIP addresses. Could you please help review and comment?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Best Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Xu, Chenjie<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" align="left" style="text-align:left"><a name="_____replyseparator"></a><b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">From:</span></b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"> Legacy, Allain [<a href="mailto:Allain.Legacy@windriver.com">mailto:Allain.Legacy@windriver.com</a>]
<br>
<b>Sent:</b> Friday, December 14, 2018 8:55 PM<br>
<b>To:</b> Xu, Chenjie <<a href="mailto:chenjie.xu@intel.com">chenjie.xu@intel.com</a>><br>
<b>Cc:</b> Peters, Matt <<a href="mailto:Matt.Peters@windriver.com">Matt.Peters@windriver.com</a>>;
<a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a><br>
<b>Subject:</b> RE: [Starlingx-discuss] Analysis of patch 9f926a5 for StartlingX upstreaming<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN">An FDB entry for a Floating IP resource would only be required on nodes with ports attached to the related external network.   Normally that means only the network
 nodes that are hosting virtual routers attached to those external networks rather than compute nodes.  However, there are less frequently used scenarios that involve customers launching VM instances directly on external networks and in those scenarios the
 external network will be instantiated in some compute nodes as well as the network nodes. 
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN">In your test scenario, the external network will only be present on the network node and therefore only the agent running on the network node will be capable of processing
 any related FDB entries.  <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN">Allain<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333;mso-fareast-language:ZH-CN">Allain Legacy</span></b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333;mso-fareast-language:ZH-CN">,
 Software Developer, Wind River</span><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><br>
</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333;mso-fareast-language:ZH-CN">direct 613.270.2279  fax 613.492.7870 skype allain.legacy<o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#404040;mso-fareast-language:ZH-CN">350 Terry Fox Drive, Suite 200, Ottawa, Ontario, K2K 2W5<o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><br>
 <br>
</span><span style="mso-fareast-language:ZH-CN"><a href="http://www.windriver.com/" title=""Innovators Start Here" "><span style="font-size:11.0pt;font-family:"Arial",sans-serif;color:#CC0000;text-decoration:none"><img border="0" width="160" height="92" id="Picture_x0020_6" src="cid:image001.png@01D495E8.4BEF6B00" alt="WIND"></span></a></span><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">From:</span></b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"> Xu, Chenjie [</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:chenjie.xu@intel.com"><span style="font-size:11.0pt">mailto:chenjie.xu@intel.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">]
<br>
<b>Sent:</b> Friday, December 14, 2018 3:24 AM<br>
<b>To:</b> Legacy, Allain<br>
<b>Cc:</b> Peters, Matt; </span><span style="mso-fareast-language:ZH-CN"><a href="mailto:starlingx-discuss@lists.starlingx.io"><span style="font-size:11.0pt">starlingx-discuss@lists.starlingx.io</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"><br>
<b>Subject:</b> FW: [Starlingx-discuss] Analysis of patch 9f926a5 for StartlingX upstreaming<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Hi Allain,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">As you suggested, I’m testing the 2 changes together. However I find that the fdb for floatingip can’t be installed on the br-tun of the compute node. Because the network-id in fdb
 is not in the LocalVlanManager. The details are below and could you please help review and comment?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">The environment: latest DevStack with 1 controller node and 1 compute node<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">The network topology is below:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><img border="0" width="146" height="306" id="Picture_x0020_2" src="cid:image008.jpg@01D495E8.4BEF6B00" alt="cid:image002.jpg@01D49632.CEB88F40"><span style="color:#1F497D"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Steps:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Create an external network external-net<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:0in"><span style="color:#1F497D;mso-fareast-language:ZH-CN">neutron net-create external-net  --router:external True  --provider:network_type vxlan<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Create a subnet on external-net<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:0in"><span style="color:#1F497D;mso-fareast-language:ZH-CN">neutron subnet-create external-net 192.168.25.0/24 --name external-subnet --allocation-pool start=192.168.25.200,end=192.168.25.250<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Create an internal network, create a subnet on net4<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:0in"><span style="color:#1F497D;mso-fareast-language:ZH-CN">neutron net-create net4<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:0in"><span style="color:#1F497D;mso-fareast-language:ZH-CN">neutron subnet-create net4 192.168.2.0/24 --name subnet4<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">4.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Create a router, set router gateway as external-net, add subnet4 to router<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:0in"><span style="color:#1F497D;mso-fareast-language:ZH-CN">neutron router-create router<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:0in"><span style="color:#1F497D;mso-fareast-language:ZH-CN">neutron router-gateway-set $router-id $external-net-id<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:0in"><span style="color:#1F497D;mso-fareast-language:ZH-CN">neutron router-interface-add $router-id $subnet4-id<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">5.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Create a VM vm-1 on net4 (vm-1 runs on compute node)<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">6.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Allocate floating IP FIP-1 on external-net through horizon<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">7.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Associate FIP-1 with vm-1 through horizon<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">The fdb is below:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><img border="0" width="857" height="38" id="_x0000_i1028" src="cid:image009.jpg@01D495E8.4BEF6B00" alt="cid:image003.jpg@01D49632.CEB88F40"><span style="color:#1F497D"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">The OVS agent on the compute node receives the FDB:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><img border="0" width="860" height="38" id="Picture_x0020_4" src="cid:image010.jpg@01D495E8.4BEF6B00" alt="cid:image004.jpg@01D49632.CEB88F40"><span style="color:#1F497D"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">In OVS agent, LocalVlanManager is used to map tunnel ids or vlan ids to internal vlans:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><a href="https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/vlanmanager.py">https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/vlanmanager.py</a><span style="color:#1F497D"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">After OVS agent receiving the FDB, it will try to get LocalVlanMapping from LocalVlanMannager:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><a href="https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L558">https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L558</a><span style="color:#1F497D"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><a href="https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/rpc_manager/l2population_rpc.py#L237">https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/rpc_manager/l2population_rpc.py#L237</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">However the network-id f2ebf82a-e788-4456-8516-c95b12f91d49 is not in the LocalVlanManager. Thus the fdb can’t be installed on br-tun. The mapping in the LocalVlanManager in the OVS
 agent which is on the compute node is below:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><img border="0" width="861" height="39" id="Picture_x0020_5" src="cid:image011.jpg@01D495E8.4BEF6B00" alt="cid:image005.jpg@01D49632.CEB88F40"><span style="color:#1F497D"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Analysis:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">The vm-1 is created on internal network net4 . When creating vm-1, a port in the net4 will be bound to vm-1. Thus the network-id can be added to the LocalVlanManager. The network id
 for floating IP is used in FDB but the corresponding network is an external network. And this external network’s network id is not in the LocalVlanManager in the OVS agent which is on the compute node.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Best Regard,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Xu, Chenjie<o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"><o:p> </o:p></span></b></p>
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"><o:p> </o:p></span></b></p>
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">From:</span></b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"> Legacy, Allain [</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:Allain.Legacy@windriver.com"><span style="font-size:11.0pt">mailto:Allain.Legacy@windriver.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">]
<br>
<b>Sent:</b> Friday, December 7, 2018 10:20 PM<br>
<b>To:</b> Xu, Chenjie <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:chenjie.xu@intel.com"><span style="font-size:11.0pt">chenjie.xu@intel.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">>; Peters, Matt <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:Matt.Peters@windriver.com"><span style="font-size:11.0pt">Matt.Peters@windriver.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">><br>
<b>Cc:</b> </span><span style="mso-fareast-language:ZH-CN"><a href="mailto:starlingx-discuss@lists.starlingx.io"><span style="font-size:11.0pt">starlingx-discuss@lists.starlingx.io</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"><br>
<b>Subject:</b> RE: [Starlingx-discuss] Analysis of patch 9f926a5 for StartlingX upstreaming<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">The change that is being reviewed here was originally a part of a larger commit (</span><span style="mso-fareast-language:ZH-CN"><a href="http://stash.wrs.com/projects/CGCS/repos/github.com.openstack.neutron/commits/9f926a5d2539b0b0451c50053244a8fa6c43bf3c"><span style="color:#1F497D;text-decoration:none">9f926a5d253</span></a><span style="color:#1F497D">).  
 They should be implemented together or at least tested together.   I seem to remember that there was information missing in case 1 that prevented a proper FDB notification from being generated.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Please retest your scenarios and capture the input parameters to add_fdb_entries(), remove_fdb_entries(), and update_fdb_entries() in neutron/plugins/ml2/drivers/l2pop/rpc.py:L2populationAgentNotifyAPI
 to be sure that expected notifications are published.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN">Allain<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333;mso-fareast-language:ZH-CN">Allain Legacy</span></b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333;mso-fareast-language:ZH-CN">,
 Software Developer, Wind River</span><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><br>
</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#333333;mso-fareast-language:ZH-CN">direct 613.270.2279  fax 613.492.7870 skype allain.legacy<o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#404040;mso-fareast-language:ZH-CN">350 Terry Fox Drive, Suite 200, Ottawa, Ontario, K2K 2W5<o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><br>
 <br>
</span><span style="mso-fareast-language:ZH-CN"><a href="http://www.windriver.com/" title=""Innovators Start Here" "><span style="font-size:11.0pt;font-family:"Arial",sans-serif;color:#CC0000;text-decoration:none"><img border="0" width="160" height="92" id="Picture_x0020_1" src="cid:image001.png@01D495E8.4BEF6B00" alt="WIND"></span></a></span><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">From:</span></b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"> Xu, Chenjie [</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:chenjie.xu@intel.com"><span style="font-size:11.0pt">mailto:chenjie.xu@intel.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">]
<br>
<b>Sent:</b> Friday, December 07, 2018 3:42 AM<br>
<b>To:</b> Peters, Matt<br>
<b>Cc:</b> </span><span style="mso-fareast-language:ZH-CN"><a href="mailto:starlingx-discuss@lists.starlingx.io"><span style="font-size:11.0pt">starlingx-discuss@lists.starlingx.io</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"><br>
<b>Subject:</b> Re: [Starlingx-discuss] Analysis of patch 9f926a5 for StartlingX upstreaming<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Hi Matt,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Ryan Tidwell comments on this patch and he thinks that AFTER_DELETE notification can be used to trigger l2pop.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><a href="https://review.openstack.org/#/c/611261/">https://review.openstack.org/#/c/611261/</a><span style="color:#1F497D"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><a href="https://review.openstack.org/#/c/611261/4/neutron/db/l3_db.py">https://review.openstack.org/#/c/611261/4/neutron/db/l3_db.py</a><span style="color:#1F497D"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">From the comment in the following line:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><a href="https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/services/l3_router/service_providers/l2pop.py#L276">https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/services/l3_router/service_providers/l2pop.py#L276</a><span style="color:#1F497D"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">It seems that  the router_id and port_id in AFTER_DELETE notification are None. As a result of that, the last_known_router_id and last_fixed_port_id should be used to construct FDB
 entries which are used to remove FDBs on each host. However, I print the notification in the following 2 cases:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Case-1:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l2 level1 lfo4">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">1)<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Allocate floating ip fip-1<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l2 level1 lfo4">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">2)<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Associate fip-1 with vm-1<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l2 level1 lfo4">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">3)<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Delete fip-1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Case-2:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l1 level1 lfo6">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">1)<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Allocate floating ip fip-1<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l1 level1 lfo6">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">2)<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Associate fip-1 with vm-1<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l1 level1 lfo6">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">3)<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Disassociate fip-1 with vm-1<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l1 level1 lfo6">
<![if !supportLists]><span style="color:#1F497D;mso-fareast-language:ZH-CN"><span style="mso-list:Ignore">4)<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D;mso-fareast-language:ZH-CN">Delete fip-1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">The notification for case1 and case 2 are attached. router_id and port_id are not None in case-1 and are None in case-2. Thus in case-1, AFTER_DELETE notification can be used. In case-2,
 FDB will be removed by step 3, thus no need to remove again. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Based on the above analysis, I think we can use AFTER_DELETE notification. Could you please comment and review?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Best Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Xu, Chenjie<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">From:</span></b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"> Peters, Matt [</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:Matt.Peters@windriver.com"><span style="font-size:11.0pt">mailto:Matt.Peters@windriver.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">]
<br>
<b>Sent:</b> Monday, November 12, 2018 11:19 PM<br>
<b>To:</b> Xu, Chenjie <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:chenjie.xu@intel.com"><span style="font-size:11.0pt">chenjie.xu@intel.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">><br>
<b>Cc:</b> </span><span style="mso-fareast-language:ZH-CN"><a href="mailto:starlingx-discuss@lists.starlingx.io"><span style="font-size:11.0pt">starlingx-discuss@lists.starlingx.io</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">;
 Legacy, Allain <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:Allain.Legacy@windriver.com"><span style="font-size:11.0pt">Allain.Legacy@windriver.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">><br>
<b>Subject:</b> Re: [Starlingx-discuss] Analysis of patch 9f926a5 for StartlingX upstreaming<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN">Hi Chenjie,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN">The latest RFE looks good to me.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN">Regards, Matt<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">From:
</span></b><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">"Xu, Chenjie" <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:chenjie.xu@intel.com"><span lang="EN-CA" style="font-size:12.0pt">chenjie.xu@intel.com</span></a></span><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">><br>
<b>Date: </b>Monday, November 12, 2018 at 1:23 AM<br>
<b>To: </b>"Peters, Matt" <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:Matt.Peters@windriver.com"><span lang="EN-CA" style="font-size:12.0pt">Matt.Peters@windriver.com</span></a></span><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">><br>
<b>Cc: </b>"</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:starlingx-discuss@lists.starlingx.io"><span lang="EN-CA" style="font-size:12.0pt">starlingx-discuss@lists.starlingx.io</span></a></span><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">"
 <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:starlingx-discuss@lists.starlingx.io"><span lang="EN-CA" style="font-size:12.0pt">starlingx-discuss@lists.starlingx.io</span></a></span><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">>,
 Allain Legacy <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:Allain.Legacy@windriver.com"><span lang="EN-CA" style="font-size:12.0pt">Allain.Legacy@windriver.com</span></a></span><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">><br>
<b>Subject: </b>RE: [Starlingx-discuss] Analysis of patch 9f926a5 for StartlingX upstreaming<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Hi Matt,</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">The RFE has been updated and is attached. Could you please help review and comment?</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"> </span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Best Regards,</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN">Xu, Chenjie</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:ZH-CN"> </span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" align="left" style="text-align:left"><b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">From:</span></b><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"> Peters, Matt [</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:Matt.Peters@windriver.com"><span style="font-size:11.0pt">mailto:Matt.Peters@windriver.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">]
<br>
<b>Sent:</b> Friday, November 9, 2018 9:22 PM<br>
<b>To:</b> Xu, Chenjie <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:chenjie.xu@intel.com"><span style="font-size:11.0pt">chenjie.xu@intel.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">>; Legacy, Allain <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:Allain.Legacy@windriver.com"><span style="font-size:11.0pt">Allain.Legacy@windriver.com</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN">><br>
<b>Cc:</b> </span><span style="mso-fareast-language:ZH-CN"><a href="mailto:starlingx-discuss@lists.starlingx.io"><span style="font-size:11.0pt">starlingx-discuss@lists.starlingx.io</span></a></span><span style="font-size:11.0pt;mso-fareast-language:ZH-CN"><br>
<b>Subject:</b> Re: [Starlingx-discuss] Analysis of patch 9f926a5 for StartlingX upstreaming</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><span style="mso-fareast-language:ZH-CN"> </span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN">Hi Chenjie,</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN">The RFE looks good.  The use cases are clear and detailed.</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN">I only have a few minor review comments (see attached).</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN"> </span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN">Regards, Matt</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN"> </span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">From:
</span></b><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">"Xu, Chenjie" <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:chenjie.xu@intel.com"><span lang="EN-CA" style="font-size:12.0pt">chenjie.xu@intel.com</span></a></span><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">><br>
<b>Date: </b>Thursday, November 1, 2018 at 4:28 AM<br>
<b>To: </b>"Peters, Matt" <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:Matt.Peters@windriver.com"><span lang="EN-CA" style="font-size:12.0pt">Matt.Peters@windriver.com</span></a></span><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">>,
 Allain Legacy <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:Allain.Legacy@windriver.com"><span lang="EN-CA" style="font-size:12.0pt">Allain.Legacy@windriver.com</span></a></span><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">><br>
<b>Cc: </b>"</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:starlingx-discuss@lists.starlingx.io"><span lang="EN-CA" style="font-size:12.0pt">starlingx-discuss@lists.starlingx.io</span></a></span><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">"
 <</span><span style="mso-fareast-language:ZH-CN"><a href="mailto:starlingx-discuss@lists.starlingx.io"><span lang="EN-CA" style="font-size:12.0pt">starlingx-discuss@lists.starlingx.io</span></a></span><span lang="EN-CA" style="font-size:12.0pt;color:black;mso-fareast-language:ZH-CN">><br>
<b>Subject: </b>[Starlingx-discuss] Analysis of patch 9f926a5 for StartlingX upstreaming</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11.0pt;mso-fareast-language:ZH-CN"> </span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"> </span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Hi Matt/Allain,</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">We analyze the patch 9f926a5 related to l2pop. An RFE “Add l2pop support for floating ip resources” has been written and is attached. The test case is provided by Allain. Could you please help to
 review and comment? Thanks very much!</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"> </span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Best Regards,</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Xu, Chenjie</span><span lang="EN-CA" style="mso-fareast-language:ZH-CN"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</body>
</html>