本文整理汇总了Python中pyroute2.IPRoute.fdb方法的典型用法代码示例。如果您正苦于以下问题:Python IPRoute.fdb方法的具体用法?Python IPRoute.fdb怎么用?Python IPRoute.fdb使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyroute2.IPRoute
的用法示例。
在下文中一共展示了IPRoute.fdb方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestIPRoute
# 需要导入模块: from pyroute2 import IPRoute [as 别名]
# 或者: from pyroute2.IPRoute import fdb [as 别名]
#.........这里部分代码省略.........
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'
self.ip.fdb('add', lladdr=l2, ifindex=bx)
# dump FDB
r = self.ip.fdb('dump', ifindex=bx, lladdr=l2)
# one vlan == 1, one w/o vlan
示例2: TestIPRoute
# 需要导入模块: from pyroute2 import IPRoute [as 别名]
# 或者: from pyroute2.IPRoute import fdb [as 别名]
#.........这里部分代码省略.........
@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
r = self.ip.fdb('dump', ifindex=bx, lladdr=l2)
# one vlan == 1, one w/o vlan
assert len(r) == 2
assert len(list(filter(lambda x: x['ifindex'] == bx, r))) == 2