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