def read_ipv4_sysctl_attr(link, attribute):
return read_ip_sysctl_attr(link, attribute, 'ipv4')
+def read_mpls_sysctl_attr(link, attribute):
+ return read_ip_sysctl_attr(link, attribute, 'mpls')
+
def stop_by_pid_file(pid_file):
if not os.path.exists(pid_file):
return
def check_ipv6_neigh_sysctl_attr(self, link, attribute, expected):
self.assertEqual(read_ipv6_neigh_sysctl_attr(link, attribute), expected)
+ def check_mpls_sysctl_attr(self, link, attribute, expected):
+ self.assertEqual(read_mpls_sysctl_attr(link, attribute), expected)
+
def wait_links(self, *links, trial=40):
for _ in range(trial):
if link_exists(*links):
print(output)
self.assertRegex(output, 'via 2607:5300:203:39ff:ff:ff:ff:ff')
+ @expectedFailureIfModuleIsNotAvailable('mpls_router')
+ def test_sysctl_mpls(self):
+ check_output('modprobe mpls_router')
+ copy_network_unit('25-sysctl-mpls.network', '12-dummy.netdev')
+ start_networkd()
+ self.wait_online('dummy98:degraded')
+
+ self.check_mpls_sysctl_attr('dummy98', 'input', '1')
+
def test_bind_carrier(self):
copy_network_unit('25-bind-carrier.network', '11-dummy.netdev')
start_networkd()