]> git.proxmox.com Git - pve-common.git/blob - test/etc_network_interfaces/t.bridge-v4-v6.pl
Tools: add unshare system call
[pve-common.git] / test / etc_network_interfaces / t.bridge-v4-v6.pl
1 my $ip = '10.0.0.2';
2 my $nm = '255.255.255.0';
3 my $gw = '10.0.0.1';
4 my $ip6 = 'fc05::1:2';
5 my $nm6 = '112';
6 my $gw6 = 'fc05::1:1';
7
8 r(load('base'));
9
10 new_iface('vmbr0', 'bridge', [{ family => 'inet' }], autostart => 1, bridge_ports => 'eth0');
11
12 expect load('base') . <<"EOF";
13 auto vmbr0
14 iface vmbr0 inet manual
15 bridge_ports eth0
16 bridge_stp off
17 bridge_fd 0
18
19 EOF
20
21 # add an ip and disable previously enabled autostart
22 update_iface('vmbr0',
23 [ { family => 'inet',
24 address => $ip,
25 netmask => $nm,
26 gateway => $gw } ],
27 autostart => 0);
28
29 expect load('base') . <<"EOF";
30 iface vmbr0 inet static
31 address $ip
32 netmask $nm
33 gateway $gw
34 bridge_ports eth0
35 bridge_stp off
36 bridge_fd 0
37
38 EOF
39 save('with-ipv4', w());
40
41 update_iface('vmbr0',
42 [ { family => 'inet6',
43 address => $ip6,
44 netmask => $nm6,
45 gateway => $gw6 } ]);
46
47 expect load('with-ipv4') . <<"EOF";
48 iface vmbr0 inet6 static
49 address $ip6
50 netmask $nm6
51 gateway $gw6
52
53 EOF
54
55 # idempotency
56 save('idem', w());
57 r(load('idem'));
58 expect load('idem');
59
60 # delete vmbr0's inet
61 delete_iface('vmbr0', 'inet');
62
63 # bridge ports must now appear in the inet6 block
64 expect load('base') . <<"EOF";
65 iface vmbr0 inet6 static
66 address $ip6
67 netmask $nm6
68 gateway $gw6
69 bridge_ports eth0
70 bridge_stp off
71 bridge_fd 0
72
73 EOF
74
75 # idempotency
76 save('idem', w());
77 r(load('idem'));
78 expect load('idem');
79
80 # delete vmbr0 completely
81 delete_iface('vmbr0');
82 expect load('base');
83
84 1;