Пример #1
0
 def test_add_multipath_route(self):
     self.device_name2 = 'test_device2'
     ip_lib.IPWrapper(self.namespace).add_dummy(self.device_name2)
     self.device2 = ip_lib.IPDevice(self.device_name2, self.namespace)
     self.device2.link.set_up()
     self.device.addr.add('10.1.0.1/24')
     self.device2.addr.add('10.2.0.1/24')
     multipath = [{
         'device': self.device_name,
         'via': '10.1.0.100',
         'weight': 10
     }, {
         'device': self.device_name2,
         'via': '10.2.0.100',
         'weight': 20
     }, {
         'via': '10.2.0.101',
         'weight': 30
     }, {
         'via': '10.2.0.102'
     }]
     priv_ip_lib.add_ip_route(self.namespace,
                              '192.168.0.0/24',
                              n_cons.IP_VERSION_4,
                              via=multipath)
     self._check_routes(['192.168.0.0/24'], gateway=multipath)
Пример #2
0
 def test_add_route_via_ipv4(self):
     cidrs = ['192.168.0.0/24', '172.90.0.0/16', '10.0.0.0/8']
     int_cidr = '192.168.20.1/24'
     int_ip_address = str(netaddr.IPNetwork(int_cidr).ip)
     self.device.addr.add(int_cidr)
     for cidr in cidrs:
         ip_version = common_utils.get_ip_version(cidr)
         priv_ip_lib.add_ip_route(self.namespace, cidr, ip_version,
                                  via=int_ip_address)
     self._check_routes(cidrs, gateway=int_ip_address)
Пример #3
0
 def test_add_route_via_ipv6(self):
     cidrs = ['2001:db8::/64', 'faaa::/96']
     int_cidr = 'fd00::1/64'
     via_ip = 'fd00::2'
     self.device.addr.add(int_cidr)
     for cidr in cidrs:
         ip_version = common_utils.get_ip_version(cidr)
         priv_ip_lib.add_ip_route(self.namespace, cidr, ip_version,
                                  via=via_ip)
     self._check_routes(cidrs, gateway=via_ip)
Пример #4
0
    def _add_route_device_and_check(self, table=None, metric=None,
                                    scope='link'):
        cidrs = ['192.168.0.0/24', '172.90.0.0/16', '10.0.0.0/8',
                 '2001:db8::/64']
        for cidr in cidrs:
            ip_version = common_utils.get_ip_version(cidr)
            priv_ip_lib.add_ip_route(self.namespace, cidr, ip_version,
                                     device=self.device_name, table=table,
                                     metric=metric, scope=scope)

        self._check_routes(cidrs, table=table, metric=metric, scope=scope)
Пример #5
0
 def test_add_default(self):
     ip_addresses = ['192.168.0.1/24', '172.90.0.1/16', '10.0.0.1/8',
                     '2001:db8::1/64', 'faaa::1/96']
     for ip_address in ip_addresses:
         ip_version = common_utils.get_ip_version(ip_address)
         if ip_version == n_cons.IP_VERSION_4:
             _ip = str(netaddr.IPNetwork(ip_address).ip)
         else:
             _ip = str(netaddr.IPNetwork(ip_address).ip + 1)
         self.device.addr.add(ip_address)
         priv_ip_lib.add_ip_route(self.namespace, None, ip_version,
                                  device=self.device_name, via=_ip)
         self._check_gateway(_ip)