Beispiel #1
0
 def add_peer_bgp_config(self, bgp_config, peers):
     peer_map = {}
     for peer, peer_data in self.get_sorted_key_value_pairs(peers):
         obj = peer_data.get('obj')
         params = peer_data.get('params', {})
         attr = peer_data.get('attr', {})
         nbr = Bgp(name=peer, ip_address=peer)
         nbr.set_comment(DMUtils.bgp_group_comment(obj))
         peer_map[peer] = nbr
         bgp_sessions = attr.get('session')
         if bgp_sessions:
             # for now assume only one session
             session_attrs = bgp_sessions[0].get('attributes', [])
             for session_attr in session_attrs:
                 # For not, only consider the attribute if bgp-router is
                 # not specified
                 if session_attr.get('bgp_router') is None:
                     self.add_families(nbr, session_attr)
                     self.add_bgp_auth_config(nbr, session_attr)
                     break
         peer_as = params.get('local_autonomous_system') or params.get(
             'autonomous_system')
         nbr.set_autonomous_system(peer_as)
     if peer_map:
         bgp_config.set_peers(self.get_values_sorted_by_key(peer_map))
 def _get_bgp_config_xml(self, external=False):
     if self.bgp_params is None or not self.bgp_params.get('address'):
         return None
     bgp = Bgp()
     bgp.set_comment(DMUtils.bgp_group_comment(self.bgp_obj))
     if external:
         bgp.set_name(DMUtils.make_bgp_group_name(self.get_asn(), True))
         bgp.set_type('external')
     else:
         bgp.set_name(DMUtils.make_bgp_group_name(self.get_asn(), False))
         bgp.set_type('internal')
     bgp.set_ip_address(self.bgp_params['address'])
     bgp.set_autonomous_system(self.get_asn())
     self.add_families(bgp, self.bgp_params)
     self.add_bgp_auth_config(bgp, self.bgp_params)
     self.add_bgp_hold_time_config(bgp, self.bgp_params)
     return bgp
 def _get_bgp_config_xml(self, external=False):
     if self.bgp_params is None:
         return None
     bgp_group = BgpGroup()
     bgp_group.set_comment(DMUtils.bgp_group_comment(self.bgp_obj))
     if external:
         bgp_group.set_name(DMUtils.make_bgp_group_name(self.get_asn(), True))
         bgp_group.set_type('external')
         bgp_group.set_multihop('')
     else:
         bgp_group.set_name(DMUtils.make_bgp_group_name(self.get_asn(), False))
         bgp_group.set_type('internal')
         self.add_ibgp_export_policy(self.bgp_params, bgp_group)
     bgp_group.set_local_address(self.bgp_params['address'])
     self.add_families(bgp_group, self.bgp_params)
     self.add_bgp_auth_config(bgp_group, self.bgp_params)
     self.add_bgp_hold_time_config(bgp_group, self.bgp_params)
     return bgp_group
 def _get_bgp_config_xml(self, external=False):
     if self.bgp_params is None or not self.bgp_params.get('address'):
         return None
     bgp_group = BgpGroup()
     bgp_group.set_comment(DMUtils.bgp_group_comment(self.bgp_obj))
     if external:
         bgp_group.set_name(DMUtils.make_bgp_group_name(self.get_asn(), True))
         bgp_group.set_type('external')
         bgp_group.set_multihop('')
     else:
         bgp_group.set_name(DMUtils.make_bgp_group_name(self.get_asn(), False))
         bgp_group.set_type('internal')
         self.add_ibgp_export_policy(self.bgp_params, bgp_group)
     bgp_group.set_local_address(self.bgp_params['address'])
     self.add_families(bgp_group, self.bgp_params)
     self.add_bgp_auth_config(bgp_group, self.bgp_params)
     self.add_bgp_hold_time_config(bgp_group, self.bgp_params)
     return bgp_group
Beispiel #5
0
 def get_bgp_config(self, external=False, is_RR=False):
     if self.bgp_params is None or not self.bgp_params.get('address'):
         return None
     bgp = Bgp()
     cluster_id = self.bgp_params.get('cluster_id')
     if cluster_id and not external and not is_RR:
         bgp.set_cluster_id(cluster_id)
     bgp.set_comment(DMUtils.bgp_group_comment(self.bgp_obj))
     bgp.set_name(
         DMUtils.make_bgp_group_name(self.get_asn(), external, is_RR))
     if external:
         bgp.set_type('external')
     else:
         bgp.set_type('internal')
     bgp.set_ip_address(self.bgp_params['address'])
     bgp.set_autonomous_system(self.get_asn())
     self.add_families(bgp, self.bgp_params)
     self.add_bgp_auth_config(bgp, self.bgp_params)
     self.add_bgp_hold_time_config(bgp, self.bgp_params)
     return bgp
 def get_bgp_config(self, external=False):
     if self.bgp_params is None or not self.bgp_params.get('address'):
         return None
     bgp = Bgp()
     cluster_id = self.bgp_params.get('cluster_id')
     if cluster_id:
         bgp.set_cluster_id(cluster_id)
     bgp.set_comment(DMUtils.bgp_group_comment(self.bgp_obj))
     if external:
         bgp.set_name(DMUtils.make_bgp_group_name(self.get_asn(), True))
         bgp.set_type('external')
     else:
         bgp.set_name(DMUtils.make_bgp_group_name(self.get_asn(), False))
         bgp.set_type('internal')
     bgp.set_ip_address(self.bgp_params['address'])
     bgp.set_autonomous_system(self.get_asn())
     self.add_families(bgp, self.bgp_params)
     self.add_bgp_auth_config(bgp, self.bgp_params)
     self.add_bgp_hold_time_config(bgp, self.bgp_params)
     return bgp
 def _get_neighbor_config_xml(self, bgp_config, peers):
     for peer, peer_data in peers.items():
         obj = peer_data.get('obj')
         params = peer_data.get('params', {})
         attr = peer_data.get('attr', {})
         nbr = Bgp(name=peer)
         nbr.set_comment(DMUtils.bgp_group_comment(obj))
         bgp_config.add_peers(nbr)
         bgp_sessions = attr.get('session')
         if bgp_sessions:
             # for now assume only one session
             session_attrs = bgp_sessions[0].get('attributes', [])
             for session_attr in session_attrs:
                 # For not, only consider the attribute if bgp-router is
                 # not specified
                 if session_attr.get('bgp_router') is None:
                     self.add_families(nbr, session_attr)
                     self.add_bgp_auth_config(nbr, session_attr)
                     break
         peer_as = params.get('local_autonomous_system') or params.get('autonomous_system')
         nbr.set_autonomous_system(peer_as)
 def _get_neighbor_config_xml(self, bgp_config, peers):
     for peer, peer_data in peers.items():
         obj = peer_data.get('obj')
         params = peer_data.get('params', {})
         attr = peer_data.get('attr', {})
         nbr = BgpGroup(name=peer)
         nbr.set_comment(DMUtils.bgp_group_comment(obj))
         bgp_config.add_neighbor(nbr)
         bgp_sessions = attr.get('session')
         if bgp_sessions:
             # for now assume only one session
             session_attrs = bgp_sessions[0].get('attributes', [])
             for session_attr in session_attrs:
                 # For not, only consider the attribute if bgp-router is
                 # not specified
                 if session_attr.get('bgp_router') is None:
                     self.add_families(nbr, session_attr)
                     self.add_bgp_auth_config(nbr, session_attr)
                     break
         peer_as = params.get('local_autonomous_system') or params.get('autonomous_system')
         nbr.set_peer_as(peer_as)
 def add_peer_bgp_config(self, bgp_config, peers):
     peer_map = {}
     for peer, peer_data in self.get_sorted_key_value_pairs(peers):
         obj = peer_data.get('obj')
         params = peer_data.get('params', {})
         attr = peer_data.get('attr', {})
         nbr = Bgp(name=peer, ip_address=peer)
         nbr.set_comment(DMUtils.bgp_group_comment(obj))
         peer_map[peer] = nbr
         bgp_sessions = attr.get('session')
         if bgp_sessions:
             # for now assume only one session
             session_attrs = bgp_sessions[0].get('attributes', [])
             for session_attr in session_attrs:
                 # For not, only consider the attribute if bgp-router is
                 # not specified
                 if session_attr.get('bgp_router') is None:
                     self.add_families(nbr, session_attr)
                     self.add_bgp_auth_config(nbr, session_attr)
                     break
         peer_as = params.get('local_autonomous_system') or params.get('autonomous_system')
         nbr.set_autonomous_system(peer_as)
     if peer_map:
         bgp_config.set_peers(self.get_values_sorted_by_key(peer_map))