1import ./make-test-python.nix ({ lib, ... }: {
2 name = "systemd-bpf";
3 meta = with lib.maintainers; {
4 maintainers = [ veehaitch ];
5 };
6 nodes = {
7 node1 = {
8 virtualisation.vlans = [ 1 ];
9 networking = {
10 useNetworkd = true;
11 useDHCP = false;
12 firewall.enable = false;
13 interfaces.eth1.ipv4.addresses = [
14 { address = "192.168.1.1"; prefixLength = 24; }
15 ];
16 };
17 };
18
19 node2 = {
20 virtualisation.vlans = [ 1 ];
21 networking = {
22 useNetworkd = true;
23 useDHCP = false;
24 firewall.enable = false;
25 interfaces.eth1.ipv4.addresses = [
26 { address = "192.168.1.2"; prefixLength = 24; }
27 ];
28 };
29 };
30 };
31
32 testScript = ''
33 start_all()
34 node1.wait_for_unit("systemd-networkd-wait-online.service")
35 node2.wait_for_unit("systemd-networkd-wait-online.service")
36
37 with subtest("test RestrictNetworkInterfaces= works"):
38 node1.succeed("ping -c 5 192.168.1.2")
39 node1.succeed("systemd-run -t -p RestrictNetworkInterfaces='eth1' ping -c 5 192.168.1.2")
40 node1.fail("systemd-run -t -p RestrictNetworkInterfaces='lo' ping -c 5 192.168.1.2")
41 '';
42})