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


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to