1{
2 name = "openvswitch";
3
4 nodes = {
5 node1 = {
6 virtualisation.vlans = [ 1 ];
7
8 networking = {
9 useNetworkd = true;
10 useDHCP = false;
11 firewall.enable = false;
12
13 vswitches.vs0 = {
14 interfaces = {
15 eth1 = { };
16 };
17 };
18
19 };
20
21 systemd.network.networks."40-vs0" = {
22 name = "vs0";
23 networkConfig.Address = "10.0.0.1/24";
24 };
25
26 };
27
28 node2 = {
29 virtualisation.vlans = [ 1 ];
30
31 networking = {
32 useNetworkd = true;
33 useDHCP = false;
34 firewall.enable = false;
35
36 vswitches.vs0 = {
37 interfaces = {
38 eth1 = { };
39 };
40 };
41
42 };
43
44 systemd.network.networks."40-vs0" = {
45 name = "vs0";
46 networkConfig.Address = "10.0.0.2/24";
47 };
48 };
49 };
50
51 testScript = # python
52 ''
53 start_all()
54 node1.wait_for_unit("ovsdb.service")
55 node1.wait_for_unit("ovs-vswitchd.service")
56 node2.wait_for_unit("ovsdb.service")
57 node2.wait_for_unit("ovs-vswitchd.service")
58
59 node1.wait_until_succeeds("ping -c1 10.0.0.2", timeout=30)
60 node2.wait_until_succeeds("ping -c1 10.0.0.1", timeout=30)
61 '';
62}