← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1968860] [NEW] [L3-DVR]l3-agent arp table will not update

 

Public bug reported:

when create/update/delete ports, the PERMANENT arp entry in qrouter
namespace will not be updated.

Take deleting port as a example, when deleting a port(without associating with a floating ip), callback method
 _notify_routers_callback() will be called when port AFTER_DELETE event occurs, router_ids == [], so rpc call: routers_updated() will not be triggered, router will not be updated, neither do ARP tables.
(https://opendev.org/openstack/neutron/src/branch/stable/yoga/neutron/db/l3_db.py#L1995)

In short, if we add PERMANENT arp entry in
qrouter(https://opendev.org/openstack/neutron/src/tag/20.0.0.0rc2/neutron/agent/l3/dvr_local_router.py#L349),
we must make sure arp cache can be updated properly.

And I have another question, why not use mac learning directly? Even
when using tunnel networks, mac learning works well because of
l2population, add permanent arp entry will bring a series of problems.

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: l3-dvr

** Tags added: l3-dvr

** Description changed:

  when create/update/delete ports, the PERMANENT arp entry in qrouter
  namespace will not be updated.
  
- Take deleting port as a example, when deleting a port(without associating with a floating ip), callback method 
-  _notify_routers_callback() will be called when port AFTER_DELETE event occurs, router_ids == [], so rpc call: routers_updated() will not be triggered, router will not been updated, neither do ARP tables.
+ Take deleting port as a example, when deleting a port(without associating with a floating ip), callback method
+  _notify_routers_callback() will be called when port AFTER_DELETE event occurs, router_ids == [], so rpc call: routers_updated() will not be triggered, router will not be updated, neither do ARP tables.
  (https://opendev.org/openstack/neutron/src/branch/stable/yoga/neutron/db/l3_db.py#L1995)
  
  In short, if we add PERMANENT arp entry in
  qrouter(https://opendev.org/openstack/neutron/src/tag/20.0.0.0rc2/neutron/agent/l3/dvr_local_router.py#L349),
  we must make sure arp cache can be updated properly.
  
  And I have another question, why not use mac learning directly? Even
  when using tunnel networks, mac learning works well because of
  l2population, add permanent arp entry will bring a series of problems.

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1968860

Title:
  [L3-DVR]l3-agent arp table will not update

Status in neutron:
  New

Bug description:
  when create/update/delete ports, the PERMANENT arp entry in qrouter
  namespace will not be updated.

  Take deleting port as a example, when deleting a port(without associating with a floating ip), callback method
   _notify_routers_callback() will be called when port AFTER_DELETE event occurs, router_ids == [], so rpc call: routers_updated() will not be triggered, router will not be updated, neither do ARP tables.
  (https://opendev.org/openstack/neutron/src/branch/stable/yoga/neutron/db/l3_db.py#L1995)

  In short, if we add PERMANENT arp entry in
  qrouter(https://opendev.org/openstack/neutron/src/tag/20.0.0.0rc2/neutron/agent/l3/dvr_local_router.py#L349),
  we must make sure arp cache can be updated properly.

  And I have another question, why not use mac learning directly? Even
  when using tunnel networks, mac learning works well because of
  l2population, add permanent arp entry will bring a series of problems.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1968860/+subscriptions