Exemple #1
0
 def bgp(self, name):
     r = self.addRouter(name)
     r.addDaemon(
         BGP,
         address_families=(_bgp.AF_INET(redistribute=('connected', )),
                           _bgp.AF_INET6(redistribute=('connected', ))))
     return r
 def __init__(self, node, *args, **kwargs):
     defaults = {
         'address_families': (_bgp.AF_INET(redistribute=('connected', )),
                              _bgp.AF_INET6(redistribute=('connected', )))
     }
     super(BGPConfig, self).__init__(node,
                                     daemons=((BGP, defaults), ),
                                     *args,
                                     **kwargs)
Exemple #3
0
 def bgp(self, name, net=None):
     if net is None:
         net = []
     return self.addRouter(
         name,
         use_v4=True,
         use_v6=True,
         config=(
             RouterConfig,
             {
                 'daemons': [(
                     BGP, {
                         'address_families': (_bgp.AF_INET6(networks=net), )
                     }
                     #                                                   { 'address_families': ( _bgp.AF_INET6(networks=net,redistribute=('connected',)),)}
                 )]
             }))
    def add_AS(self, asn, prefixes):
        """Add an AS in the topology, consisting of only one router.

        Returns the added AS, usefull to establish peering between ASes.

        :param asn: AS number
        :param prefixes: A tuple of the prefixes anounced by the AS"""
        try:
            n = int(asn)
        except:
            error("Invalid AS number: " + str(asn))
        self._check_prefix(prefixes)
        tmp = self._addRouter_v6('as'+str(n)+'r1', config=(RouterConfig, {
                'daemons': [(BGP, {'address_families': (
                                    _bgp.AF_INET6(networks=prefixes),),
                                    'advertisement_timer': 1,
                                    'hold_time': 9})]}))
        new_as = AS(n, (tmp,))
        self.addOverlay(new_as)
        return new_as