diff options
Diffstat (limited to 'neutron/agent/l3/dvr_router.py')
-rw-r--r-- | neutron/agent/l3/dvr_router.py | 11 |
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 |