"Unexpected sysctl event, disabling sysctl monitoring: %d", we->version);
if (we->errorcode != 0) {
+ /* The log message is checked in test-network/systemd-networkd-tests.py. Please update the
+ * test when the log message is changed. */
log_warning_errno(we->errorcode, "Sysctl monitor BPF returned error: %m");
return 0;
}
return 0;
if (!strneq(value, we->newvalue, sizeof(we->newvalue)))
+ /* The log message is checked in test-network/systemd-networkd-tests.py. Please update the
+ * test when the log message is changed. */
log_struct(LOG_WARNING,
LOG_MESSAGE_ID(SD_MESSAGE_SYSCTL_CHANGED_STR),
LOG_ITEM("OBJECT_PID=" PID_FMT, we->pid),
tear_down_common()
@unittest.skipUnless(compare_kernel_version("6.12"), reason="On kernels <= 6.12, bpf_current_task_under_cgroup() isn't available for program types BPF_PROG_TYPE_CGROUP_SYSCTL")
- def check_sysctl_watch(self):
+ def test_sysctl_monitor(self):
copy_network_unit('12-dummy.network', '12-dummy.netdev', '12-dummy.link')
start_networkd()
self.assertRegex(log, r"Foreign process 'sysctl\[\d+\]' changed sysctl '/proc/sys/net/ipv6/conf/dummy98/proxy_ndp' from '0' to '1', conflicting with our setting to '0'")
self.assertNotIn("changed sysctl '/proc/sys/net/ipv6/conf/dummy98/hop_limit'", log)
self.assertNotIn("changed sysctl '/proc/sys/net/ipv6/conf/dummy98/max_addresses'", log)
+ self.assertNotIn("Sysctl monitor BPF returned error", log)
if __name__ == '__main__':
parser = argparse.ArgumentParser()