summaryrefslogtreecommitdiff
path: root/neutron/agent/l3/dvr_router.py
diff options
context:
space:
mode:
Diffstat (limited to 'neutron/agent/l3/dvr_router.py')
-rw-r--r--neutron/agent/l3/dvr_router.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/neutron/agent/l3/dvr_router.py b/neutron/agent/l3/dvr_router.py
index b18cb9aee4..4d2539ff44 100644
--- a/neutron/agent/l3/dvr_router.py
+++ b/neutron/agent/l3/dvr_router.py
@@ -307,6 +307,14 @@ class DvrRouter(router.RouterInfo):
def internal_network_added(self, port):
super(DvrRouter, self).internal_network_added(port)
+ # NOTE: The following function _set_subnet_arp_info
+ # should be called to dynamically populate the arp
+ # entries for the dvr services ports into the router
+ # namespace. This does not have dependency on the
+ # external_gateway port or the agent_mode.
+ for subnet in port['subnets']:
+ self._set_subnet_arp_info(subnet['id'])
+
ex_gw_port = self.get_ex_gw_port()
if not ex_gw_port:
return
@@ -333,9 +341,6 @@ class DvrRouter(router.RouterInfo):
interface_name,
dvr_snat_ns.SNAT_INT_DEV_PREFIX)
- for subnet in port['subnets']:
- self._set_subnet_arp_info(subnet['id'])
-
def _dvr_internal_network_removed(self, port):
if not self.ex_gw_port:
return