<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:35:49 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[OVSDB-222] Periodic ARP resolver is missing calls to NeutronL3Adapter::updateExternalRouterMac()</title>
                <link>https://jira.opendaylight.org/browse/OVSDB-222</link>
                <project id="10158" key="OVSDB">ovsdb</project>
                    <description>&lt;p&gt;From: Andre Fredette &amp;lt;afredette@redhat.com&amp;gt;&lt;br/&gt;
Date: Thu, Nov 5, 2015 at 7:34 AM&lt;br/&gt;
Subject: Re: updateExternalRouterMac(externalRouterMacUpdate) in NeutronL3Adapter&lt;br/&gt;
To: Flavio Fernandes &amp;lt;ffernand@redhat.com&amp;gt;&lt;br/&gt;
Cc: Anil Vishnoi &amp;lt;vishnoianil@gmail.com&amp;gt;&lt;/p&gt;


&lt;p&gt;FYI, I noticed this when trying out Badri&apos;s change that enables ODL to add the external port to brex.&lt;/p&gt;

&lt;p&gt;With his change, the port isn&apos;t there initially, so the first ARP fails, and NeutronL3Adapter ends up installing the IPRewrite flows using the DEFAULT_EXT_RTR_MAC = &quot;00:00:5E:00:01:01&quot; instead of the real MAC address.&lt;/p&gt;

&lt;p&gt;After a while, the external port gets added, and GatewayMacResolverService resolves the MAC address, but it never gets back to NeutronL3Adapter, so the flows aren&apos;t updated with the right MAC address.&lt;/p&gt;

&lt;p&gt;Andre&lt;/p&gt;


&lt;p&gt;On Wed, Nov 4, 2015 at 4:26 PM, Flavio Fernandes &amp;lt;ffernand@redhat.com&amp;gt; wrote:&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; Hi Anil,&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; Andre and I are looking at a piece of the periodic arp resolver code,&lt;br/&gt;
&amp;gt; where it should be calling updateExternalRouterMac() when mac changes&lt;br/&gt;
&amp;gt; at a later time.&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; It seems that the code is called in &quot;triggerGatewayMacResolver&quot;, but only once.&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; Can you tell us how you envisioned for updateExternalRouterMac() to be&lt;br/&gt;
&amp;gt; called when&lt;br/&gt;
&amp;gt; we are in &quot;GatewayMacResolverService::onPacketReceived()&quot; and the mac&lt;br/&gt;
&amp;gt; is changed?&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; It looks that that &quot;setGatewayMacAddress()&quot; should be queuing an event&lt;br/&gt;
&amp;gt; that percolates&lt;br/&gt;
&amp;gt; back to the NeutronL3Adapter, right?&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; I will open a bug on this, if you think that is a good idea.&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; Thanks,&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; &amp;#8211; flavio&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21914">OVSDB-222</key>
            <summary>Periodic ARP resolver is missing calls to NeutronL3Adapter::updateExternalRouterMac()</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="flavio@flaviof.com">Flavio Fernandes</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Nov 2015 03:53:14 +0000</created>
                <updated>Thu, 19 Oct 2017 21:26:44 +0000</updated>
                            <resolved>Tue, 12 Jan 2016 03:15:30 +0000</resolved>
                                    <version>unspecified</version>
                                                    <component>openstack.net-virt</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="41018" author="flavio@flaviof.com" created="Thu, 5 Nov 2015 03:54:44 +0000"  >&lt;p&gt;From: Anil Vishnoi &amp;lt;vishnoianil@gmail.com&amp;gt;&lt;br/&gt;
Date: Thu, Nov 5, 2015 at 7:30 AM&lt;br/&gt;
Subject: Re: updateExternalRouterMac(externalRouterMacUpdate) in NeutronL3Adapter&lt;br/&gt;
To: Flavio Fernandes &amp;lt;ffernand@redhat.com&amp;gt;&lt;br/&gt;
Cc: Andre Fredette &amp;lt;afredette@redhat.com&amp;gt;&lt;/p&gt;


&lt;p&gt;Hi Flavio,&lt;/p&gt;


&lt;p&gt;On Thu, Nov 5, 2015 at 2:56 AM, Flavio Fernandes &amp;lt;ffernand@redhat.com&amp;gt; wrote:&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; Hi Anil,&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; Andre and I are looking at a piece of the periodic arp resolver code,&lt;br/&gt;
&amp;gt; where it should be calling updateExternalRouterMac() when mac changes&lt;br/&gt;
&amp;gt; at a later time.&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; It seems that the code is called in &quot;triggerGatewayMacResolver&quot;, but only once.&lt;/p&gt;

&lt;p&gt;or when it receives the next NeutronPort event for router gateway&lt;/p&gt;

&lt;p&gt;&amp;gt;&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; Can you tell us how you envisioned for updateExternalRouterMac() to be&lt;br/&gt;
&amp;gt; called when&lt;br/&gt;
&amp;gt; we are in &quot;GatewayMacResolverService::onPacketReceived()&quot; and the mac&lt;br/&gt;
&amp;gt; is changed?&lt;/p&gt;

&lt;p&gt;I think we need to define an listener interface in netvirt &amp;amp; NeutronL3Adaptor.java should implement the listener interface. GatewayMacResolvedService should&lt;br/&gt;
should call all the listener whenever the resolved mac address is different then the previously resolved mac address.&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; It looks that that &quot;&lt;br/&gt;
&amp;gt; setGatewayMacAddress()&quot; should be queuing an event&lt;br/&gt;
&amp;gt; that&lt;br/&gt;
&amp;gt; percolates&lt;br/&gt;
&amp;gt; back to the NeutronL3Adapter, right?&lt;/p&gt;

&lt;p&gt;Yes, and we will need the above mentioned listener interface for that.&lt;/p&gt;</comment>
                            <comment id="41019" author="flavio@flaviof.com" created="Sat, 12 Dec 2015 04:37:15 +0000"  >&lt;p&gt;Gerrits under review:&lt;/p&gt;

&lt;p&gt;master: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/31222/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/31222/&lt;/a&gt;&lt;br/&gt;
lithium: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/31067/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/31067/&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4579</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=4579]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i021ef:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>