def build_bgp_config(self): bgp_router = BgpRouterDM.get(self.physical_router.bgp_router) if not bgp_router: return if bgp_router: for peer_uuid, attr in bgp_router.bgp_routers.items(): peer = BgpRouterDM.get(peer_uuid) if not peer or not peer.params or not peer.params.get( 'address'): continue local_as = (bgp_router.params.get('local_autonomous_system') or bgp_router.params.get('autonomous_system')) peer_as = (peer.params.get('local_autonomous_system') or peer.params.get('autonomous_system')) external = (local_as != peer_as) self.add_bgp_peer(peer.params['address'], peer.params, attr, external, peer) self.set_bgp_config(bgp_router.params, bgp_router) self.set_global_routing_options(bgp_router.params) bgp_router_ips = bgp_router.get_all_bgp_router_ips() tunnel_ip = self.physical_router.dataplane_ip if not tunnel_ip and bgp_router.params: tunnel_ip = bgp_router.params.get('address') if (tunnel_ip and self.physical_router.is_valid_ip(tunnel_ip)): self.add_dynamic_tunnels( tunnel_ip, GlobalSystemConfigDM.ip_fabric_subnets, bgp_router_ips) if self.physical_router.loopback_ip: self.add_lo0_unit_0_interface(self.physical_router.loopback_ip) self.set_as_config() self.set_bgp_group_config()
def build_bgp_config(self): bgp_router = BgpRouterDM.get(self.physical_router.bgp_router) if not bgp_router: return if bgp_router: for peer_uuid, attr in bgp_router.bgp_routers.items(): peer = BgpRouterDM.get(peer_uuid) if not peer or not peer.params or not peer.params.get('address'): continue local_as = (bgp_router.params.get('local_autonomous_system') or bgp_router.params.get('autonomous_system')) peer_as = (peer.params.get('local_autonomous_system') or peer.params.get('autonomous_system')) external = (local_as != peer_as) self.add_bgp_peer(peer.params['address'], peer.params, attr, external, peer) self.set_bgp_config(bgp_router.params, bgp_router) self.set_global_routing_options(bgp_router.params) bgp_router_ips = bgp_router.get_all_bgp_router_ips() tunnel_ip = self.physical_router.dataplane_ip if not tunnel_ip and bgp_router.params: tunnel_ip = bgp_router.params.get('address') if (tunnel_ip and self.physical_router.is_valid_ip(tunnel_ip)): self.add_dynamic_tunnels( tunnel_ip, GlobalSystemConfigDM.ip_fabric_subnets, bgp_router_ips) if self.physical_router.loopback_ip: self.add_lo0_unit_0_interface(self.physical_router.loopback_ip) self.set_as_config() self.set_bgp_group_config()
def ensure_bgp_config(self): if not self.physical_router.bgp_router: self._logger.info("bgp router not configured for pr: " + \ self.physical_router.name) return False bgp_router = BgpRouterDM.get(self.physical_router.bgp_router) if not bgp_router.params or not bgp_router.params.get("address"): self._logger.info("bgp router parameters not configured for pr: " + \ bgp_router.name) return False return True
def ensure_bgp_config(self): if not self.physical_router.bgp_router: self._logger.info("bgp router not configured for pr: " + \ self.physical_router.name) return False bgp_router = BgpRouterDM.get(self.physical_router.bgp_router) if not bgp_router.params or not bgp_router.params.get("address"): self._logger.info("bgp router parameters not configured for pr: " + \ bgp_router.name) return False return True