示例#1
0
    def test_remove_ipv6(self):
        '''Removes an IPv6 address and confirms it'''
        interface_cfg = NetworkInterfaceConfig('dummy0')
        interface_cfg.add_v6_ip('fd00:a3b1:78a2::1', 64)
        interface_cfg.remove_ip('fd00:a3b1:78a2::1')

        if interface_cfg.get_ips():
            self.fail("dummy configuration returned an IP!")
示例#2
0
 def test_add_ipv6(self):
     '''Adds an IPv6 address and then confirms it'''
     interface_cfg = NetworkInterfaceConfig('dummy0')
     interface_cfg.add_v6_ip('fd00:a3b1:78a2::1', 64)
     ips = interface_cfg.get_ips()
     self.assertEqual(len(ips), 1, "dummy interface either didn't get the IP or has multiple!")
     self.assertEqual(ips[0]['ip_address'], 'fd00:a3b1:78a2::1', "IP assignment failure!")
     self.assertEqual(ips[0]['family'], AF_INET6, "IP assignment failure!")
     self.assertEqual(ips[0]['prefix_length'], 64, "IP assignment failure!")
示例#3
0
 def test_ipv6_multicast_reject(self):
     '''Rejects if address is IPv6 multicast'''
     interface_cfg = NetworkInterfaceConfig('dummy0')
     with self.assertRaises(ValueError):
         interface_cfg.add_v6_ip(ip_address="ff05::1:3",
                                 prefix_length=128)
示例#4
0
 def test_ipv6_reserved_reject(self):
     '''Rejects if the IP is in reserved address space'''
     interface_cfg = NetworkInterfaceConfig('dummy0')
     with self.assertRaises(ValueError):
         interface_cfg.add_v6_ip(ip_address='dead:beef::',
                                 prefix_length=64)
示例#5
0
 def test_ipv6_loopback_address_reject(self):
     '''Rejects if we try to assign loopback'''
     interface_cfg = NetworkInterfaceConfig('dummy0')
     with self.assertRaises(ValueError):
         interface_cfg.add_v6_ip(ip_address='::1',
                                 prefix_length=128)