-
Bug
-
Resolution: Done
-
None
-
unspecified
-
None
-
Operating System: All
Platform: All
-
4579
From: Andre Fredette <afredette@redhat.com>
Date: Thu, Nov 5, 2015 at 7:34 AM
Subject: Re: updateExternalRouterMac(externalRouterMacUpdate) in NeutronL3Adapter
To: Flavio Fernandes <ffernand@redhat.com>
Cc: Anil Vishnoi <vishnoianil@gmail.com>
FYI, I noticed this when trying out Badri's change that enables ODL to add the external port to brex.
With his change, the port isn't there initially, so the first ARP fails, and NeutronL3Adapter ends up installing the IPRewrite flows using the DEFAULT_EXT_RTR_MAC = "00:00:5E:00:01:01" instead of the real MAC address.
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't updated with the right MAC address.
Andre
On Wed, Nov 4, 2015 at 4:26 PM, Flavio Fernandes <ffernand@redhat.com> wrote:
>
> Hi Anil,
>
> Andre and I are looking at a piece of the periodic arp resolver code,
> where it should be calling updateExternalRouterMac() when mac changes
> at a later time.
>
> It seems that the code is called in "triggerGatewayMacResolver", but only once.
>
> Can you tell us how you envisioned for updateExternalRouterMac() to be
> called when
> we are in "GatewayMacResolverService::onPacketReceived()" and the mac
> is changed?
>
> It looks that that "setGatewayMacAddress()" should be queuing an event
> that percolates
> back to the NeutronL3Adapter, right?
>
> I will open a bug on this, if you think that is a good idea.
>
> Thanks,
>
> – flavio