def test_mass_ipv6(self): # # Achtung! This test is time consuming. # It is really time consuming, I'm not not # kidding you. Beware. # require_user('root') ipv6net = allocate_network('ipv6') base = str(ipv6net.network) + '{0}' limit = int(os.environ.get('PYROUTE2_SLIMIT', '0x800'), 16) # add addresses for idx in range(limit): self.ip.addr('add', self.ifaces[0], base.format(hex(idx)[2:]), 48) # assert addresses in two steps, to ease debug addrs = self.ip.get_addr(10) assert len(addrs) >= limit # clean up addresses # # it is not required, but if you don't do that, # you'll get this on the interface removal: # # >> kernel:BUG: soft lockup - CPU#0 stuck for ... # # so, not to scare people, remove addresses gracefully # one by one # # it also verifies all the addresses are in place for idx in reversed(range(limit)): self.ip.addr('delete', self.ifaces[0], base.format(hex(idx)[2:]), 48) free_network(ipv6net, 'ipv6')
def teardown(self): with self.nl_class(**self.nl_kwarg) as ipr: for link in reversed(self.interfaces): ipr.link('del', index=link) self.ndb.close() for net in self.ipnets: free_network(net)
def teardown(self): with NDB() as indb: if self.nsname: (indb .sources .add(netns=self.nsname)) for link in reversed(self.interfaces): try: (indb .interfaces[link] .remove() .commit()) except Exception: pass for link in reversed(self.interfaces): try: (indb .interfaces[self.getspec(ifname=link)] .remove() .commit()) except Exception: pass self.ndb.close() for net in self.ipnets: free_network(net) if self.nsname: netns.remove(self.nsname)
def teardown(self): with self.nl_class(**self.nl_kwarg) as ipr: for link in reversed(self.interfaces): try: ipr.link('del', index=ipr.link_lookup(ifname=link)[0]) except Exception: pass self.ndb.close() for net in self.ipnets: free_network(net)
def teardown(self): for net in self.ipnets: free_network(net) if hasattr(self, 'ifaces'): for dev in reversed(self.ifaces): try: self.ip.link('delete', index=dev) except: pass for name in reversed(self.ifnames): try: (self.ip.link('del', index=(self.ip.link_lookup(ifname=name)[0]))) except: pass self.ip.close()
def teardown(self): for net in self.ipnets: free_network(net) if hasattr(self, 'ifaces'): for dev in reversed(self.ifaces): try: self.ip.link('delete', index=dev) except: pass for name in reversed(self.ifnames): try: (self .ip .link('del', index=(self .ip .link_lookup(ifname=name)[0]))) except: pass self.ip.close()
def teardown(self): ''' 1. close the test NDB 2. remove the registered interfaces, ignore not existing ''' self.ndb.close() self.ipr.close() for (ifname, nsname) in self.interfaces.items(): try: ipr = None # # spawn ipr to remove the interface if nsname is not None: ipr = NetNS(nsname) else: ipr = IPRoute() # # lookup the interface index index = list(ipr.link_lookup(ifname=ifname)) if len(index): index = index[0] else: # # ignore not existing interfaces continue # # try to remove it ipr.link('del', index=index) except NetlinkError as e: # # ignore if removed (t.ex. by another process) if e.code != errno.ENODEV: raise finally: if ipr is not None: ipr.close() for nsname in self.namespaces: netns.remove(nsname) for net in self.ipnets: free_network(net)
def teardown(self): free_network(self.ipnet)
def test_route_mpls_via_ipv6(self): ipv6net = allocate_network('ipv6') address = str(ipv6net.network) + '7c32' self._test_route_mpls_via_ipv(socket.AF_INET6, address, 0x20) free_network(ipv6net, 'ipv6')
def teardown(self): with NDB() as ndb: for i in self.ifnames: (ndb.interfaces[i].remove().commit()) for net in self.ipnets: free_network(net)
def teardown(self): for net in self.ipnets: free_network(net) self.ndb.close() netns.remove(self.netns)
def teardown(self): with NDB() as ndb: (ndb.interfaces[self.netif].remove().commit()) self.ndb.close() free_network(self.localnet) free_network(self.remotenet)