本文整理汇总了Python中pyroute2.IPRoute.get_ntables方法的典型用法代码示例。如果您正苦于以下问题:Python IPRoute.get_ntables方法的具体用法?Python IPRoute.get_ntables怎么用?Python IPRoute.get_ntables使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyroute2.IPRoute
的用法示例。
在下文中一共展示了IPRoute.get_ntables方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestIPRoute
# 需要导入模块: from pyroute2 import IPRoute [as 别名]
# 或者: from pyroute2.IPRoute import get_ntables [as 别名]
#.........这里部分代码省略.........
self.ifaces[0])) == 2
@skip_if_not_supported
def _create(self, kind):
name = uifname()
self.ip.link_create(ifname=name, kind=kind)
devs = self.ip.link_lookup(ifname=name)
assert devs
self.ifaces.extend(devs)
def test_create_dummy(self):
require_user('root')
self._create('dummy')
def test_create_bond(self):
require_user('root')
self._create('bond')
def test_create_bridge(self):
require_user('root')
self._create('bridge')
def test_create_ovs_bridge(self):
require_user('root')
self._create('ovs-bridge')
def test_create_team(self):
require_user('root')
self._create('team')
def test_ntables(self):
setA = set(filter(lambda x: x is not None,
[x.get_attr('NDTA_PARMS').get_attr('NDTPA_IFINDEX')
for x in self.ip.get_ntables()]))
setB = set([x['index'] for x in self.ip.get_links()])
assert setA == setB
def test_neigh_real_links(self):
links = set([x['index'] for x in self.ip.get_links()])
neigh = set([x['ifindex'] for x in self.ip.get_neighbours()])
assert neigh < links
def test_neigh_filter(self):
require_user('root')
# inject arp records
self.ip.neigh('add',
dst='172.16.45.1',
lladdr='00:11:22:33:44:55',
ifindex=self.ifaces[0])
self.ip.neigh('add',
dst='172.16.45.2',
lladdr='00:11:22:33:44:55',
ifindex=self.ifaces[0])
# assert two arp records on the interface
assert len(self.ip.get_neighbours(ifindex=self.ifaces[0])) == 2
# filter by dst
assert len(self.ip.get_neighbours(dst='172.16.45.1')) == 1
# filter with lambda
assert len(self.ip.get_neighbours(match=lambda x: x['ifindex'] ==
self.ifaces[0])) == 2
def test_mass_ipv6(self):
#
# Achtung! This test is time consuming.
# It is really time consuming, I'm not not
# kidding you. Beware.
示例2: TestIPRoute
# 需要导入模块: from pyroute2 import IPRoute [as 别名]
# 或者: from pyroute2.IPRoute import get_ntables [as 别名]
#.........这里部分代码省略.........
self.ip.link('set', index=idx, state='up')
self.ip.addr('add', index=idx, address=ifaddr1, mask=24)
self._create('vti',
vti_link=idx,
vti_local=ifaddr1,
vti_remote=ifaddr2,
vti_ikey=64,
vti_okey=72)
def test_create_vti6(self):
require_user('root')
self._create('vti6',
vti_link=2,
vti_local='fd00:1:2:3:4:1::1',
vti_remote='fd00:1:2:3:4:2::1',
vti_ikey=80,
vti_okey=88)
def test_create_xfrm(self):
require_user('root')
# XXX: Currently does not work on top of a dummy device
idx = self.ip.link_lookup(ifname='lo')[0]
# # Create Dummy for Parent
# (_, idx) = self.create()
self.ip.link('set', index=idx, state='up')
# Create XFRM Interface on It
self._create('xfrm',
xfrm_link=idx,
xfrm_if_id=555)
def _test_ntables(self):
setA = set(filter(lambda x: x is not None,
[x.get_attr('NDTA_PARMS').get_attr('NDTPA_IFINDEX')
for x in self.ip.get_ntables()]))
setB = set([x['index'] for x in self.ip.get_links()])
assert setA == setB
def test_fdb_vxlan(self):
require_kernel(4, 4)
require_user('root')
ifaddr = self.ifaddr()
# create dummy
(dn, dx) = self._create('dummy')
# create vxlan on it
(vn, vx) = self._create('vxlan', vxlan_link=dx, vxlan_id=500)
# create FDB record
l2 = '00:11:22:33:44:55'
self.ip.fdb('add', lladdr=l2, ifindex=vx,
vni=600, port=5678, dst=ifaddr)
# dump
r = self.ip.fdb('dump', ifindex=vx, lladdr=l2)
assert len(r) == 1
assert r[0]['ifindex'] == vx
assert r[0].get_attr('NDA_LLADDR') == l2
assert r[0].get_attr('NDA_DST') == ifaddr
assert r[0].get_attr('NDA_PORT') == 5678
assert r[0].get_attr('NDA_VNI') == 600
def test_fdb_bridge_simple(self):
require_kernel(4, 4)
require_user('root')
require_kernel(4, 4)
# create bridge
(bn, bx) = self._create('bridge')
# create FDB record
l2 = '00:11:22:33:44:55'
示例3: TestIPRoute
# 需要导入模块: from pyroute2 import IPRoute [as 别名]
# 或者: from pyroute2.IPRoute import get_ntables [as 别名]
#.........这里部分代码省略.........
return self._create_ipvlan('IPVLAN_MODE_L2')
def test_create_ipvlan_l3(self):
return self._create_ipvlan('IPVLAN_MODE_L3')
@skip_if_not_supported
def _create(self, kind, **kwarg):
name = uifname()
self.ip.link('add', ifname=name, kind=kind, **kwarg)
devs = self.ip.link_lookup(ifname=name)
assert devs
self.ifaces.extend(devs)
return (name, devs[0])
def test_create_dummy(self):
require_user('root')
self._create('dummy')
def test_create_bond(self):
require_user('root')
self._create('bond')
def test_create_bridge(self):
require_user('root')
self._create('bridge')
def test_create_team(self):
require_user('root')
self._create('team')
def test_ntables(self):
setA = set(filter(lambda x: x is not None,
[x.get_attr('NDTA_PARMS').get_attr('NDTPA_IFINDEX')
for x in self.ip.get_ntables()]))
setB = set([x['index'] for x in self.ip.get_links()])
assert setA == setB
def test_fdb_vxlan(self):
require_kernel(4, 4)
require_user('root')
# create dummy
(dn, dx) = self._create('dummy')
# create vxlan on it
(vn, vx) = self._create('vxlan', vxlan_link=dx, vxlan_id=500)
# create FDB record
l2 = '00:11:22:33:44:55'
self.ip.fdb('add', lladdr=l2, ifindex=vx,
vni=600, port=5678, dst='172.16.40.40')
# dump
r = self.ip.fdb('dump', ifindex=vx, lladdr=l2)
assert len(r) == 1
assert r[0]['ifindex'] == vx
assert r[0].get_attr('NDA_LLADDR') == l2
assert r[0].get_attr('NDA_DST') == '172.16.40.40'
assert r[0].get_attr('NDA_PORT') == 5678
assert r[0].get_attr('NDA_VNI') == 600
def test_fdb_bridge_simple(self):
require_kernel(4, 4)
require_user('root')
# create bridge
(bn, bx) = self._create('bridge')
# create FDB record
l2 = '00:11:22:33:44:55'
self.ip.fdb('add', lladdr=l2, ifindex=bx)
# dump FDB