<html 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:"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:0cm;
        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.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal;
        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;
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-CA" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Attached is a copy with my revisions.  There were no major changes, just some minor corrections and additions.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Overall looks good.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Thanks, Matt<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">"Xu, Chenjie" <chenjie.xu@intel.com><br>
<b>Date: </b>Thursday, November 29, 2018 at 10:29 AM<br>
<b>To: </b>"Peters, Matt" <Matt.Peters@windriver.com><br>
<b>Cc: </b>"starlingx-discuss@lists.starlingx.io" <starlingx-discuss@lists.starlingx.io><br>
<b>Subject: </b>RE: [Starlingx-discuss] Analysis of patch 88b7bc7 for StartlingX upstreaming<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Hi Matt,</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Thanks for your reply! Yes, we can fix this bug as part of the upstreaming. The code can be viewed by following link:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><a href="https://review.openstack.org/#/c/620929/">https://review.openstack.org/#/c/620929/</a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Please help comment and fix the bug. The RFE for patch 88b7bc7 is attached. Could you please help review and comment?</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Best Regards,</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Xu, Chenjie</span><o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" align="left" style="text-align:left"><a name="_____replyseparator"></a><b><span lang="EN-US" style="font-size:11.0pt">From:</span></b><span lang="EN-US" style="font-size:11.0pt"> Peters, Matt [mailto:Matt.Peters@windriver.com]
<br>
<b>Sent:</b> Thursday, November 29, 2018 8:59 PM<br>
<b>To:</b> Xu, Chenjie <chenjie.xu@intel.com><br>
<b>Cc:</b> starlingx-discuss@lists.starlingx.io<br>
<b>Subject:</b> Re: [Starlingx-discuss] Analysis of patch 88b7bc7 for StartlingX upstreaming</span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Hi Chenjie,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Since this isn’t causing a runtime issue at the moment, I think this can be fixed as part of the upstreaming where it can be reviewed in Gerrit.  If you are looking for confirmation of the changes prior to
 that I would create a pull request so it can be reviewed/merged prior.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-Matt</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">"Xu, Chenjie" <<a href="mailto:chenjie.xu@intel.com">chenjie.xu@intel.com</a>><br>
<b>Date: </b>Wednesday, November 28, 2018 at 9:22 PM<br>
<b>To: </b>"Peters, Matt" <<a href="mailto:Matt.Peters@windriver.com">Matt.Peters@windriver.com</a>><br>
<b>Cc: </b>"<a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</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 88b7bc7 for StartlingX upstreaming</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
</div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Hi Matt,</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Thanks for your comments! An RFE has been written to upstream patch 88b7bc7. Before I submit the code, I think we should fix this bug. I think we can change the parameter “host” to “agent” in the
 following lines:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><a href="https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/rpc_manager/l2population_rpc.py#L44">https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/rpc_manager/l2population_rpc.py#L44</a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><a href="https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/rpc_manager/l2population_rpc.py#L57">https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/rpc_manager/l2population_rpc.py#L57</a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><a href="https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/mech_driver.py#L444">https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/mech_driver.py#L444</a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><a href="https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/mech_driver.py#L434">https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/mech_driver.py#L434</a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Please let me know what you think of the proposal.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Best Regards,</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Xu, Chenjie</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" align="left" style="text-align:left"><b><span lang="EN-US" style="font-size:11.0pt">From:</span></b><span lang="EN-US" style="font-size:11.0pt"> Peters, Matt [<a href="mailto:Matt.Peters@windriver.com">mailto:Matt.Peters@windriver.com</a>]
<br>
<b>Sent:</b> Thursday, November 29, 2018 1:43 AM<br>
<b>To:</b> Xu, Chenjie <<a href="mailto:chenjie.xu@intel.com">chenjie.xu@intel.com</a>><br>
<b>Cc:</b> <a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a><br>
<b>Subject:</b> Re: [Starlingx-discuss] Analysis of patch 88b7bc7 for StartlingX upstreaming</span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Hello Chenjie,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I agree, this is a bug.  I think the only reason it hasn’t been an issue is because the only user of the get_fdb_entries RPC is the BGP agent and it is not passing a host in the request (it is None), therefore
 it excludes the attempt to try and access the parameter as an agent based on the condition in _<i>create_agent</i>_fdb.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Here is the BGP caller:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><a href="https://github.com/starlingx-staging/stx-neutron-dynamic-routing/blob/master/neutron_dynamic_routing/services/bgp/agent/bgp_dragent.py#L1498">https://github.com/starlingx-staging/stx-neutron-dynamic-routing/blob/master/neutron_dynamic_routing/services/bgp/agent/bgp_dragent.py#L1498</a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">"Xu, Chenjie" <<a href="mailto:chenjie.xu@intel.com">chenjie.xu@intel.com</a>><br>
<b>Date: </b>Wednesday, November 28, 2018 at 10:11 AM<br>
<b>To: </b>"Peters, Matt" <<a href="mailto:Matt.Peters@windriver.com">Matt.Peters@windriver.com</a>><br>
<b>Cc: </b>"<a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a>" <<a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a>><br>
<b>Subject: </b>[Starlingx-discuss] Analysis of patch 88b7bc7 for StartlingX upstreaming</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
</div>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Hi Matt,</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">I think that there exists a bug in patch 88b7bc7. Function _<i>get_fdb</i>_entries will call function _<i>create­_agent</i>_fdb by following line:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"><a href="https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/mech_driver.py#L441">https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/mech_driver.py#L441</a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">The variable “host” will be used to call _<i>create_agent</i>_fdb. However function _<i>create_agent</i>_fdb expects variable “agent”:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"><a href="https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/mech_driver.py#L264">https://github.com/starlingx-staging/stx-neutron/blob/master/neutron/plugins/ml2/drivers/l2pop/mech_driver.py#L264</a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">I think this should be a bug. Could you please help review and comment?</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Best Regards,</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Xu, Chenjie</span><o:p></o:p></p>
</div>
</body>
</html>