if agent_active_ports == 1 or self.agent_restarted(context):
# First port activated on current agent in this network,
# we have to provide it with the whole list of fdb entries agent_fdb_entries = self._create_agent_fdb(port_context, agent, segment, network_id)
# And notify other agents to add flooding entry other_fdb_ports[agent_ip].append(const.FLOODING_ENTRY)
if agent_fdb_entries[network_id]['ports'].keys(): self.L2populationAgentNotify.add_fdb_entries( self.rpc_ctx, agent_fdb_entries, agent_host)
where agent_active_ports == 2 in our case so the agent is not provided with the whole list of fdb entries.
changing to "if agent_active_ports in (1,2)" fixed the issue.
Patch to follow.
this code is suspected:
if agent_active_ports == 1 or self.agent_ restarted( context) :
agent_ fdb_entries = self._create_ agent_fdb( port_context,
agent,
segment,
network_ id)
# First port activated on current agent in this network,
# we have to provide it with the whole list of fdb entries
# And notify other agents to add flooding entry
other_ fdb_ports[ agent_ip] .append( const.FLOODING_ ENTRY)
if agent_fdb_ entries[ network_ id]['ports' ].keys( ):
self. L2populationAge ntNotify. add_fdb_ entries(
self. rpc_ctx, agent_fdb_entries, agent_host)
where agent_active_ports == 2 in our case so the agent is not provided with the whole list of fdb entries.
changing to "if agent_active_ports in (1,2)" fixed the issue.
Patch to follow.