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()
Ejemplo n.º 2
0
    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
Ejemplo n.º 4
0
 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