self.ns = Namespace('net')
self.count = 0
- def __call__(self, *args):
- return self.veth(*args)
+ def __call__(self, *args, **kwargs):
+ return self.veth(*args, **kwargs)
- def veth(self, ns1, ns2, sleep=0):
+ def veth(self, ns1, ns2, sleep=0, mtu=1500):
"""Create a veth pair between two namespaces."""
with self.ns:
# First, create a link
ipr.link('set', index=idx[1],
address=int_to_mac(self.count + 2))
+ # Set MTU
+ ipr.link('set', index=idx[0], mtu=mtu)
+ ipr.link('set', index=idx[1], mtu=mtu)
+
# Then, move each to the target namespace
ipr.link('set', index=idx[0], net_ns_fd=ns1.fd('net'))
ipr.link('set', index=idx[1], net_ns_fd=ns2.fd('net'))
"lldp.eth0.port.descr": "eth0",
"lldp.eth0.ttl.ttl": "120"}
+
@pytest.mark.parametrize("interfaces", (5, 10, 20))
def test_several_interfaces(lldpd, lldpcli, links, namespaces, interfaces):
for i in range(2, interfaces + 1):
'00:00:00:00:00:{num:02x}'.format(num=(i - 2)*2 + 1)
+def test_different_mtu(lldpd, lldpcli, links, namespaces):
+ links(namespaces(1), namespaces(2), mtu=1500)
+ links(namespaces(1), namespaces(2), mtu=9000)
+ with namespaces(1):
+ lldpd()
+ with namespaces(2):
+ lldpd()
+ with namespaces(1):
+ out = lldpcli("-f", "keyvalue", "show", "interfaces")
+ assert out['lldp.eth0.chassis.mac'] == '00:00:00:00:00:01'
+ assert out['lldp.eth2.chassis.mac'] == '00:00:00:00:00:01'
+
+
def test_overrided_description(lldpd1, lldpd, lldpcli, namespaces):
with namespaces(2):
lldpd("-S", "Modified description")