]> git.proxmox.com Git - mirror_ovs.git/blob - tests/interface-reconfigure.at
system-traffic: Use NC_EOF_OPT in truncate tests.
[mirror_ovs.git] / tests / interface-reconfigure.at
1 m4_divert_push([PREPARE_TESTS])
2 [
3 # Creates a directory tree for use with "interface-reconfigure --root-dir".
4 ifr_setup () {
5 for script in \
6 interface-reconfigure \
7 InterfaceReconfigure.py \
8 InterfaceReconfigureBridge.py \
9 InterfaceReconfigureVswitch.py
10 do
11 cp $top_srcdir/xenserver/opt_xensource_libexec_$script $script
12 done
13
14 mkdir -p etc
15 cat > etc/xensource-inventory <<EOF
16 PRODUCT_BRAND='XenServer'
17 PRODUCT_NAME='xenenterprise'
18 PRODUCT_VERSION='5.5.0'
19 BUILD_NUMBER='24648p'
20 KERNEL_VERSION='2.6.18-128.1.6.el5.xs5.5.0.505.1024xen'
21 XEN_VERSION='3.3.1'
22 INSTALLATION_DATE='2010-02-10 16:45:28.748345'
23 PRIMARY_DISK='/dev/disk/by-id/scsi-360022190add7fc001241a14e0ee3e85c'
24 BACKUP_PARTITION='/dev/disk/by-id/scsi-360022190add7fc001241a14e0ee3e85c-part2'
25 INSTALLATION_UUID='852ee692-71b4-439e-abfb-0eba72dc85f0'
26 CONTROL_DOMAIN_UUID='44e6b66e-3074-4a3c-bbcd-756d845a3b56'
27 DEFAULT_SR_PHYSDEVS='/dev/sda3'
28 DOM0_MEM='752'
29 MANAGEMENT_INTERFACE='xenbr2'
30 EOF
31
32 mkdir -p etc/xensource
33 echo vswitch > etc/xensource/network.conf
34
35 for utility in \
36 sbin/ethtool \
37 sbin/ifconfig \
38 sbin/ifdown \
39 sbin/ifup \
40 sbin/ip \
41 sbin/update-issue \
42 sbin/vconfig \
43 usr/sbin/brctl \
44 usr/sbin/ovs-vlan-bug-workaround
45 do
46 mkdir -p `dirname $utility`
47 cat > $utility <<'EOF'
48 #! /bin/sh
49 echo ${0} ${*} >&2
50 EOF
51 chmod +x $utility
52 done
53
54 mkdir -p usr/bin
55 cat > usr/bin/ovs-vsctl <<'EOF'
56 #! /bin/sh
57 echo ${0} ${*} >&2
58
59 while test ${#} -ge 4; do
60 if test X"${1}" = Xget && \
61 test X"${2}" = Xinterface && \
62 test X"${4}" = Xofport; then
63 if test X"${3}" = Xeth2; then
64 echo 5
65 else
66 echo -1
67 fi
68 fi
69
70 shift
71 done
72 EOF
73 chmod +x usr/bin/ovs-vsctl
74
75 cat > usr/bin/ovs-ofctl <<'EOF'
76 #! /bin/sh
77 echo ${0} ${*} >&2
78
79 # Check that the flow is properly formed.
80 ovs-ofctl parse-flow "${3}" >/dev/null
81 EOF
82 chmod +x usr/bin/ovs-ofctl
83
84 mkdir -p etc/sysconfig/network-scripts
85 configure_netdev () {
86 mkdir -p sys/class/net/${1}
87 echo ${2} > sys/class/net/${1}/address
88 echo ${3} > sys/class/net/${1}/tx_queue_len
89 if test ${1} = eth1; then
90 # No VLAN acceleration.
91 echo 0x829 > sys/class/net/${1}/features
92 else
93 # Supports VLAN acceleration.
94 echo 0x10b89 > sys/class/net/${1}/features
95 fi
96 mkdir sys/class/net/${1}/device
97 ln -s ../../../bus/pci/drivers/e1000 sys/class/net/${1}/device/driver
98
99 : >> etc/sysconfig/network-scripts/ifcfg-${1}
100 }
101
102 configure_netdev lo 00:00:00:00:00:00 0
103 configure_netdev eth0 00:22:19:22:4b:af 1000
104 configure_netdev eth1 00:22:19:22:4b:b1 1000
105 configure_netdev eth2 00:15:17:a0:29:80 1000
106 configure_netdev eth3 00:15:17:a0:29:81 1000
107 configure_netdev eth4 00:1b:21:29:ce:51 1000
108
109 mkdir -p var/xapi
110 cat > var/xapi/network.dbcache <<'EOF'
111 <?xml version="1.0" ?>
112 <xenserver-network-configuration>
113 <pif ref="OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6">
114 <VLAN_slave_of/>
115 <tunnel_access_PIF_of/>
116 <management>
117 False
118 </management>
119 <bond_slave_of>
120 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
121 </bond_slave_of>
122 <uuid>
123 bd62a141-091f-3909-e334-0334f67ff3be
124 </uuid>
125 <IP>
126
127 </IP>
128 <VLAN_master_of>
129 OpaqueRef:NULL
130 </VLAN_master_of>
131 <VLAN>
132 -1
133 </VLAN>
134 <netmask>
135
136 </netmask>
137 <other_config/>
138 <MAC>
139 00:22:19:22:4b:af
140 </MAC>
141 <ip_configuration_mode>
142 None
143 </ip_configuration_mode>
144 <DNS>
145
146 </DNS>
147 <device>
148 eth0
149 </device>
150 <bond_master_of/>
151 <currently_attached>
152 False
153 </currently_attached>
154 <gateway>
155
156 </gateway>
157 <network>
158 OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5
159 </network>
160 </pif>
161 <pif ref="OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806">
162 <VLAN_slave_of/>
163 <tunnel_access_PIF_of/>
164 <management>
165 False
166 </management>
167 <bond_slave_of>
168 OpaqueRef:NULL
169 </bond_slave_of>
170 <uuid>
171 df8d35c2-cc3a-a623-7065-d987a29feb75
172 </uuid>
173 <IP>
174
175 </IP>
176 <VLAN_master_of>
177 OpaqueRef:NULL
178 </VLAN_master_of>
179 <VLAN>
180 -1
181 </VLAN>
182 <netmask>
183
184 </netmask>
185 <other_config/>
186 <MAC>
187 00:1b:21:29:ce:51
188 </MAC>
189 <ip_configuration_mode>
190 None
191 </ip_configuration_mode>
192 <DNS>
193
194 </DNS>
195 <device>
196 eth4
197 </device>
198 <bond_master_of/>
199 <currently_attached>
200 False
201 </currently_attached>
202 <gateway>
203
204 </gateway>
205 <network>
206 OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531
207 </network>
208 </pif>
209 <pif ref="OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768">
210 <VLAN_slave_of/>
211 <tunnel_access_PIF_of/>
212 <management>
213 False
214 </management>
215 <bond_slave_of>
216 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
217 </bond_slave_of>
218 <uuid>
219 2f87fc95-5ab4-571a-2487-3f4ac1985663
220 </uuid>
221 <IP>
222
223 </IP>
224 <VLAN_master_of>
225 OpaqueRef:NULL
226 </VLAN_master_of>
227 <VLAN>
228 -1
229 </VLAN>
230 <netmask>
231
232 </netmask>
233 <other_config/>
234 <MAC>
235 00:22:19:22:4b:b1
236 </MAC>
237 <ip_configuration_mode>
238 None
239 </ip_configuration_mode>
240 <DNS>
241
242 </DNS>
243 <device>
244 eth1
245 </device>
246 <bond_master_of/>
247 <currently_attached>
248 False
249 </currently_attached>
250 <gateway>
251
252 </gateway>
253 <network>
254 OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d
255 </network>
256 </pif>
257 <pif ref="OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e">
258 <VLAN_slave_of/>
259 <tunnel_access_PIF_of/>
260 <management>
261 False
262 </management>
263 <bond_slave_of>
264 OpaqueRef:NULL
265 </bond_slave_of>
266 <uuid>
267 d2dfdab3-daf4-afea-f055-a25a0d24d714
268 </uuid>
269 <IP>
270
271 </IP>
272 <VLAN_master_of>
273 OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
274 </VLAN_master_of>
275 <VLAN>
276 4
277 </VLAN>
278 <netmask>
279
280 </netmask>
281 <other_config/>
282 <MAC>
283 fe:ff:ff:ff:ff:ff
284 </MAC>
285 <ip_configuration_mode>
286 None
287 </ip_configuration_mode>
288 <DNS>
289
290 </DNS>
291 <device>
292 bond0
293 </device>
294 <bond_master_of/>
295 <currently_attached>
296 True
297 </currently_attached>
298 <gateway>
299
300 </gateway>
301 <network>
302 OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47
303 </network>
304 </pif>
305 <pif ref="OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc">
306 <VLAN_slave_of>
307 <master>
308 OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
309 </master>
310 </VLAN_slave_of>
311 <tunnel_access_PIF_of/>
312 <management>
313 False
314 </management>
315 <bond_slave_of>
316 OpaqueRef:NULL
317 </bond_slave_of>
318 <uuid>
319 f4ba396e-a993-a592-5fbc-a1d566afb59e
320 </uuid>
321 <IP>
322 10.0.0.188
323 </IP>
324 <VLAN_master_of>
325 OpaqueRef:NULL
326 </VLAN_master_of>
327 <VLAN>
328 -1
329 </VLAN>
330 <netmask>
331 255.0.0.0
332 </netmask>
333 <other_config/>
334 <MAC>
335 00:15:17:a0:29:81
336 </MAC>
337 <ip_configuration_mode>
338 Static
339 </ip_configuration_mode>
340 <DNS>
341
342 </DNS>
343 <device>
344 eth3
345 </device>
346 <bond_master_of/>
347 <currently_attached>
348 True
349 </currently_attached>
350 <gateway>
351
352 </gateway>
353 <network>
354 OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32
355 </network>
356 </pif>
357 <pif ref="OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15">
358 <VLAN_slave_of/>
359 <tunnel_access_PIF_of/>
360 <management>
361 True
362 </management>
363 <bond_slave_of>
364 OpaqueRef:NULL
365 </bond_slave_of>
366 <uuid>
367 646ca9a1-36ad-e2f9-3ecc-1e5622c201c2
368 </uuid>
369 <IP>
370 172.18.3.188
371 </IP>
372 <VLAN_master_of>
373 OpaqueRef:NULL
374 </VLAN_master_of>
375 <VLAN>
376 -1
377 </VLAN>
378 <netmask>
379 255.255.0.0
380 </netmask>
381 <other_config/>
382 <MAC>
383 00:15:17:a0:29:80
384 </MAC>
385 <ip_configuration_mode>
386 DHCP
387 </ip_configuration_mode>
388 <DNS>
389
390 </DNS>
391 <device>
392 eth2
393 </device>
394 <bond_master_of/>
395 <currently_attached>
396 True
397 </currently_attached>
398 <gateway>
399
400 </gateway>
401 <network>
402 OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe
403 </network>
404 </pif>
405 <pif ref="OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3">
406 <VLAN_slave_of/>
407 <tunnel_access_PIF_of/>
408 <management>
409 False
410 </management>
411 <bond_slave_of>
412 OpaqueRef:NULL
413 </bond_slave_of>
414 <uuid>
415 3941edd2-865b-8dd8-61f0-199f5e1fa652
416 </uuid>
417 <IP>
418
419 </IP>
420 <VLAN_master_of>
421 OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
422 </VLAN_master_of>
423 <VLAN>
424 123
425 </VLAN>
426 <netmask>
427
428 </netmask>
429 <other_config/>
430 <MAC>
431 fe:ff:ff:ff:ff:ff
432 </MAC>
433 <ip_configuration_mode>
434 None
435 </ip_configuration_mode>
436 <DNS>
437
438 </DNS>
439 <device>
440 eth3
441 </device>
442 <bond_master_of/>
443 <currently_attached>
444 True
445 </currently_attached>
446 <gateway>
447
448 </gateway>
449 <network>
450 OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17
451 </network>
452 </pif>
453 <pif ref="OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11">
454 <VLAN_slave_of>
455 <master>
456 OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
457 </master>
458 </VLAN_slave_of>
459 <tunnel_access_PIF_of/>
460 <management>
461 False
462 </management>
463 <bond_slave_of>
464 OpaqueRef:NULL
465 </bond_slave_of>
466 <uuid>
467 6c0327a9-afa3-fc19-6798-a1bfe20095ed
468 </uuid>
469 <IP>
470
471 </IP>
472 <VLAN_master_of>
473 OpaqueRef:NULL
474 </VLAN_master_of>
475 <VLAN>
476 -1
477 </VLAN>
478 <netmask>
479
480 </netmask>
481 <other_config/>
482 <MAC>
483 00:22:19:22:4b:af
484 </MAC>
485 <ip_configuration_mode>
486 None
487 </ip_configuration_mode>
488 <DNS>
489
490 </DNS>
491 <device>
492 bond0
493 </device>
494 <bond_master_of>
495 <slave>
496 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
497 </slave>
498 </bond_master_of>
499 <currently_attached>
500 True
501 </currently_attached>
502 <gateway>
503
504 </gateway>
505 <network>
506 OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a
507 </network>
508 </pif>
509 <bond ref="OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e">
510 <master>
511 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
512 </master>
513 <uuid>
514 dad825f1-6d81-386e-849c-5589281e53e1
515 </uuid>
516 <slaves>
517 <slave>
518 OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
519 </slave>
520 <slave>
521 OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
522 </slave>
523 </slaves>
524 </bond>
525 <vlan ref="OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c">
526 <tagged_PIF>
527 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
528 </tagged_PIF>
529 <uuid>
530 841814da-d0d2-9da4-0b2e-b6143480bbfb
531 </uuid>
532 <untagged_PIF>
533 OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
534 </untagged_PIF>
535 </vlan>
536 <vlan ref="OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297">
537 <tagged_PIF>
538 OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
539 </tagged_PIF>
540 <uuid>
541 399279a2-5ccd-5368-9af3-8622a1f1ac82
542 </uuid>
543 <untagged_PIF>
544 OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
545 </untagged_PIF>
546 </vlan>
547 <network ref="OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47">
548 <PIFs>
549 <PIF>
550 OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
551 </PIF>
552 </PIFs>
553 <bridge>
554 xapi2
555 </bridge>
556 <other_config/>
557 <uuid>
558 99be2da4-6c33-6f8e-49ea-3bc592fe3c85
559 </uuid>
560 </network>
561 <network ref="OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32">
562 <PIFs>
563 <PIF>
564 OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
565 </PIF>
566 </PIFs>
567 <bridge>
568 xenbr3
569 </bridge>
570 <other_config/>
571 <uuid>
572 2902ae1b-8013-897a-b697-0b200ea3aaa5
573 </uuid>
574 </network>
575 <network ref="OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a">
576 <PIFs>
577 <PIF>
578 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
579 </PIF>
580 </PIFs>
581 <bridge>
582 xapi1
583 </bridge>
584 <other_config/>
585 <uuid>
586 45cbbb43-113d-a712-3231-c6463f253cef
587 </uuid>
588 </network>
589 <network ref="OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d">
590 <PIFs>
591 <PIF>
592 OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
593 </PIF>
594 </PIFs>
595 <bridge>
596 xenbr1
597 </bridge>
598 <other_config/>
599 <uuid>
600 99f8771a-645a-26a3-e06c-30a401f1d009
601 </uuid>
602 </network>
603 <network ref="OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe">
604 <PIFs>
605 <PIF>
606 OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15
607 </PIF>
608 </PIFs>
609 <bridge>
610 xenbr2
611 </bridge>
612 <other_config/>
613 <uuid>
614 d08c8749-0c8f-9e8d-ce25-fd364661ee99
615 </uuid>
616 </network>
617 <network ref="OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5">
618 <PIFs>
619 <PIF>
620 OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
621 </PIF>
622 </PIFs>
623 <bridge>
624 xenbr0
625 </bridge>
626 <other_config>
627 <vswitch-disable-in-band>
628 true
629 </vswitch-disable-in-band>
630 </other_config>
631 <uuid>
632 c9eecb03-560d-61de-b6a8-56dfc766f67e
633 </uuid>
634 </network>
635 <network ref="OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531">
636 <PIFs>
637 <PIF>
638 OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806
639 </PIF>
640 </PIFs>
641 <bridge>
642 xenbr4
643 </bridge>
644 <other_config/>
645 <uuid>
646 d2c14c89-29cc-51d4-7664-633eff02b2ad
647 </uuid>
648 </network>
649 <network ref="OpaqueRef:0b7354a4-8f4b-aa08-2f16-a22c117e4211">
650 <PIFs/>
651 <bridge>
652 xapi0
653 </bridge>
654 <other_config/>
655 <uuid>
656 dc0f0632-c2aa-1b78-2fea-0d3a23c51740
657 </uuid>
658 </network>
659 <network ref="OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17">
660 <PIFs>
661 <PIF>
662 OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
663 </PIF>
664 </PIFs>
665 <bridge>
666 xapi3
667 </bridge>
668 <other_config/>
669 <uuid>
670 db7bdc03-074d-42ae-fc73-9b06de1d57f6
671 </uuid>
672 </network>
673 <pool ref="OpaqueRef:a765d06c-fc82-cc67-8f6c-fd8db45f6a84">
674 <other_config>
675 <vswitch-controller-fail-mode>
676 secure
677 </vswitch-controller-fail-mode>
678 </other_config>
679 </pool>
680 </xenserver-network-configuration>
681 EOF
682 }
683
684 ifr_run () {
685 ./interface-reconfigure --root-prefix="`pwd`" --no-syslog "$@"
686 }
687
688 ifr_filter () {
689 sed -n -e "s,`pwd`,,g" -e 's/ -- /\
690 /g' -e '/^Running command:/!p' stderr
691 }]
692 m4_divert_pop([PREPARE_TESTS])
693
694 \f
695 AT_BANNER([interface-reconfigure])
696
697 AT_SETUP([non-VLAN, non-bond])
698 AT_KEYWORDS([interface-reconfigure])
699 AT_SKIP_IF([$non_ascii_cwd])
700 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
701 ifr_setup
702
703 AT_CHECK([ifr_run --force xenbr2 up], [0], [], [stderr])
704 AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 up
705 Loading xapi database cache from /var/xapi/network.dbcache
706 Configured for Vswitch datapath
707 action_up: xenbr2
708 Writing network configuration for xenbr2
709 Configuring xenbr2 using DHCP configuration
710 configure_datapath: bridge - xenbr2
711 configure_datapath: physical - ['eth2']
712 configure_datapath: extra ports - []
713 configure_datapath: extra bonds - []
714 /usr/bin/ovs-vsctl -vconsole:off get-fail-mode xenbr2
715 Applying changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
716 Applying changes to /etc/sysconfig/network configuration
717 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
718 /sbin/ifconfig eth2 up mtu 1500
719 /sbin/ethtool -K eth2 gro off lro off
720 /usr/sbin/ovs-vlan-bug-workaround eth2 on
721 /usr/bin/ovs-vsctl --timeout=20
722 --with-iface --if-exists del-port eth2
723 --may-exist add-br xenbr2
724 --may-exist add-port xenbr2 eth2
725 set Bridge xenbr2 other-config:hwaddr="00:15:17:a0:29:80"
726 set Bridge xenbr2 fail_mode=secure
727 remove Bridge xenbr2 other_config disable-in-band
728 br-set-external-id xenbr2 xs-network-uuids d08c8749-0c8f-9e8d-ce25-fd364661ee99
729 /usr/bin/ovs-vsctl -vconsole:off get interface eth2 ofport
730 /usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,arp,nw_proto=1,actions=local
731 /usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=local,arp,dl_src=00:15:17:a0:29:80,actions=5
732 /usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,dl_dst=00:15:17:a0:29:80,actions=local
733 /usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=local,dl_src=00:15:17:a0:29:80,actions=5
734 /sbin/ifup xenbr2
735 /sbin/update-issue
736 Committing changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
737 Committing changes to /etc/sysconfig/network configuration
738 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
739 ]])
740
741 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xenbr2], [0],
742 [# DO NOT EDIT: This file (ifcfg-xenbr2) was autogenerated by interface-reconfigure
743 XEMANAGED=yes
744 DEVICE=xenbr2
745 ONBOOT=no
746 NOZEROCONF=yes
747 TYPE=Ethernet
748 BOOTPROTO=dhcp
749 PERSISTENT_DHCLIENT=yes
750 MTU=1500
751 ])
752
753 # Simulate interface-reconfigure creating xenbr2, so that we can tell
754 # interface-reconfigure to take it back down.
755 AT_CHECK([configure_netdev xenbr2 00:15:17:a0:29:80 0])
756
757 AT_CHECK([ifr_run --force xenbr2 down], [0], [], [stderr])
758 AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 down
759 Loading xapi database cache from /var/xapi/network.dbcache
760 Configured for Vswitch datapath
761 action_down: xenbr2
762 /sbin/ifdown xenbr2
763 deconfigure ipdev xenbr2 on xenbr2
764 deconfigure_bridge: bridge - xenbr2
765 action_down: bring down physical devices - ['eth2']
766 /sbin/ifconfig eth2 down
767 /usr/bin/ovs-vsctl --timeout=20
768 --with-iface --if-exists del-port xenbr2
769 --if-exists del-br xenbr2
770 ]])
771
772 AT_CLEANUP
773 \f
774 AT_SETUP([VLAN, non-bond])
775 AT_KEYWORDS([interface-reconfigure])
776 AT_SKIP_IF([$non_ascii_cwd])
777 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
778 ifr_setup
779
780 AT_CHECK([ifr_run --force xapi3 up], [0], [], [stderr])
781 AT_CHECK([ifr_filter], [0], [[Force interface xapi3 up
782 Loading xapi database cache from /var/xapi/network.dbcache
783 Configured for Vswitch datapath
784 action_up: xapi3
785 Writing network configuration for xapi3
786 Configuring xapi3 using None configuration
787 configure_datapath: bridge - xenbr3
788 configure_datapath: physical - ['eth3']
789 configure_datapath: extra ports - []
790 configure_datapath: extra bonds - []
791 Applying changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
792 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
793 /sbin/ifconfig eth3 up mtu 1500
794 /sbin/ethtool -K eth3 gro off lro off
795 /usr/sbin/ovs-vlan-bug-workaround eth3 on
796 /usr/bin/ovs-vsctl --timeout=20
797 --with-iface --if-exists del-port eth3
798 --may-exist add-br xenbr3
799 --may-exist add-port xenbr3 eth3
800 set Bridge xenbr3 other-config:hwaddr="00:15:17:a0:29:81"
801 set Bridge xenbr3 fail_mode=secure
802 remove Bridge xenbr3 other_config disable-in-band
803 br-set-external-id xenbr3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
804 --if-exists del-br xapi3
805 --may-exist add-br xapi3 xenbr3 123
806 br-set-external-id xapi3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
807 set Interface xapi3 MAC="00:15:17:a0:29:81"
808 /sbin/ifup xapi3
809 /sbin/update-issue
810 Committing changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
811 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
812 ]])
813
814 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi3], [0],
815 [# DO NOT EDIT: This file (ifcfg-xapi3) was autogenerated by interface-reconfigure
816 XEMANAGED=yes
817 DEVICE=xapi3
818 ONBOOT=no
819 NOZEROCONF=yes
820 TYPE=Ethernet
821 BOOTPROTO=none
822 MTU=1500
823 ])
824
825 # Simulate interface-reconfigure creating xapi3, so that we can tell
826 # interface-reconfigure to take it back down.
827 AT_CHECK([configure_netdev xapi3 00:23:20:AC:AF:02 0])
828
829 AT_CHECK([ifr_run --force xapi3 down], [0], [], [stderr])
830 AT_CHECK([ifr_filter], [0], [[Force interface xapi3 down
831 Loading xapi database cache from /var/xapi/network.dbcache
832 Configured for Vswitch datapath
833 action_down: xapi3
834 /sbin/ifdown xapi3
835 deconfigure ipdev xapi3 on xenbr3
836 deconfigure_bridge: bridge - xapi3
837 action_down: no more masters, bring down slave xenbr3
838 deconfigure_bridge: bridge - xenbr3
839 action_down: bring down physical devices - ['eth3']
840 /sbin/ifconfig eth3 down
841 /usr/bin/ovs-vsctl --timeout=20
842 --with-iface --if-exists del-port xapi3
843 --if-exists del-br xapi3
844 --if-exists del-br xenbr3
845 ]])
846
847 AT_CLEANUP
848 \f
849 AT_SETUP([Bond, non-VLAN])
850 AT_KEYWORDS([interface-reconfigure])
851 AT_SKIP_IF([$non_ascii_cwd])
852 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
853 ifr_setup
854
855 # Pretend that bond0 exists, even though it would really be created by
856 # a "create-bond" call in an ovs-vsctl invocation within
857 # interface-reconfigure, because otherwise interface-reconfigure will
858 # die with "failed to apply changes: netdev: up: device bond0 does not
859 # exist" after it thinks it created bond0.
860 AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
861
862 AT_CHECK([ifr_run --force xapi1 up], [0], [], [stderr])
863 AT_CHECK([ifr_filter], [0], [[Force interface xapi1 up
864 Loading xapi database cache from /var/xapi/network.dbcache
865 Configured for Vswitch datapath
866 action_up: xapi1
867 Writing network configuration for xapi1
868 Configuring xapi1 using None configuration
869 configure_datapath: leaving bond bond0 up
870 configure_datapath: leaving bond bond0 up
871 configure_datapath: bridge - xapi1
872 configure_datapath: physical - ['eth0', 'eth1']
873 configure_datapath: extra ports - []
874 configure_datapath: extra bonds - []
875 netdev: down: device xenbr0 does not exist, ignoring
876 netdev: down: device xenbr1 does not exist, ignoring
877 Applying changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
878 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
879 /sbin/ifconfig eth0 up mtu 1500
880 /sbin/ethtool -K eth0 gro off lro off
881 /usr/sbin/ovs-vlan-bug-workaround eth0 on
882 /sbin/ifconfig eth1 up mtu 1500
883 /sbin/ethtool -K eth1 gro off lro off
884 /usr/sbin/ovs-vlan-bug-workaround eth1 off
885 /usr/bin/ovs-vsctl --timeout=20
886 --if-exists del-br xenbr0
887 --if-exists del-br xenbr1
888 --with-iface --if-exists del-port eth0
889 --with-iface --if-exists del-port eth1
890 --may-exist add-br xapi1
891 --with-iface --if-exists del-port bond0
892 --fake-iface add-bond xapi1 bond0 eth0 eth1
893 set Port bond0 MAC="00:22:19:22:4b:af" bond_downdelay=200 other-config:bond-miimon-interval=100 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb
894 set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
895 set Bridge xapi1 fail_mode=secure
896 remove Bridge xapi1 other_config disable-in-band
897 br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
898 /sbin/ifup xapi1
899 action_up: bring up bond0
900 /sbin/ifconfig bond0 up
901 /sbin/update-issue
902 Committing changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
903 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
904 ]])
905
906 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi1], [0],
907 [# DO NOT EDIT: This file (ifcfg-xapi1) was autogenerated by interface-reconfigure
908 XEMANAGED=yes
909 DEVICE=xapi1
910 ONBOOT=no
911 NOZEROCONF=yes
912 TYPE=Ethernet
913 BOOTPROTO=none
914 MTU=1500
915 ])
916
917 # Simulate interface-reconfigure creating xapi1, so that we can tell
918 # interface-reconfigure to take it back down.
919 AT_CHECK([configure_netdev xapi1 00:22:19:22:4B:AF 0])
920
921 AT_CHECK([ifr_run --force xapi1 down], [0], [], [stderr])
922 AT_CHECK([ifr_filter], [0], [[Force interface xapi1 down
923 Loading xapi database cache from /var/xapi/network.dbcache
924 Configured for Vswitch datapath
925 action_down: xapi1
926 /sbin/ifdown xapi1
927 deconfigure ipdev xapi1 on xapi1
928 deconfigure_bridge: bridge - xapi1
929 action_down: bring down physical devices - ['eth0', 'eth1']
930 /sbin/ifconfig eth0 down
931 /sbin/ifconfig eth1 down
932 /usr/bin/ovs-vsctl --timeout=20
933 --with-iface --if-exists del-port xapi1
934 --if-exists del-br xapi1
935 ]])
936
937 AT_CLEANUP
938 \f
939 AT_SETUP([VLAN on bond])
940 AT_KEYWORDS([interface-reconfigure])
941 AT_SKIP_IF([$non_ascii_cwd])
942 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
943 ifr_setup
944
945 # Pretend that bond0 exists, even though it would really be created by
946 # a "create-bond" call in an ovs-vsctl invocation within
947 # interface-reconfigure, because otherwise interface-reconfigure will
948 # die with "failed to apply changes: netdev: up: device bond0 does not
949 # exist" after it thinks it created bond0.
950 AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
951
952 AT_CHECK([ifr_run --force xapi2 up], [0], [], [stderr])
953 AT_CHECK([ifr_filter], [0], [[Force interface xapi2 up
954 Loading xapi database cache from /var/xapi/network.dbcache
955 Configured for Vswitch datapath
956 action_up: xapi2
957 Writing network configuration for xapi2
958 Configuring xapi2 using None configuration
959 configure_datapath: leaving bond bond0 up
960 configure_datapath: leaving bond bond0 up
961 configure_datapath: bridge - xapi1
962 configure_datapath: physical - ['eth0', 'eth1']
963 configure_datapath: extra ports - []
964 configure_datapath: extra bonds - []
965 netdev: down: device xenbr0 does not exist, ignoring
966 netdev: down: device xenbr1 does not exist, ignoring
967 Applying changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
968 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
969 /sbin/ifconfig eth0 up mtu 1500
970 /sbin/ethtool -K eth0 gro off lro off
971 /usr/sbin/ovs-vlan-bug-workaround eth0 on
972 /sbin/ifconfig eth1 up mtu 1500
973 /sbin/ethtool -K eth1 gro off lro off
974 /usr/sbin/ovs-vlan-bug-workaround eth1 off
975 /usr/bin/ovs-vsctl --timeout=20
976 --if-exists del-br xenbr0
977 --if-exists del-br xenbr1
978 --with-iface --if-exists del-port eth0
979 --with-iface --if-exists del-port eth1
980 --may-exist add-br xapi1
981 --with-iface --if-exists del-port bond0
982 --fake-iface add-bond xapi1 bond0 eth0 eth1
983 set Port bond0 MAC="00:22:19:22:4b:af" bond_downdelay=200 other-config:bond-miimon-interval=100 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb
984 set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
985 set Bridge xapi1 fail_mode=secure
986 remove Bridge xapi1 other_config disable-in-band
987 br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
988 --if-exists del-br xapi2
989 --may-exist add-br xapi2 xapi1 4
990 br-set-external-id xapi2 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
991 set Interface xapi2 MAC="00:22:19:22:4b:af"
992 /sbin/ifup xapi2
993 action_up: bring up bond0
994 /sbin/ifconfig bond0 up
995 /sbin/update-issue
996 Committing changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
997 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
998 ]])
999
1000 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi2], [0],
1001 [# DO NOT EDIT: This file (ifcfg-xapi2) was autogenerated by interface-reconfigure
1002 XEMANAGED=yes
1003 DEVICE=xapi2
1004 ONBOOT=no
1005 NOZEROCONF=yes
1006 TYPE=Ethernet
1007 BOOTPROTO=none
1008 MTU=1500
1009 ])
1010
1011 # Simulate interface-reconfigure creating xapi2, so that we can tell
1012 # interface-reconfigure to take it back down.
1013 AT_CHECK([configure_netdev xapi2 00:23:20:A4:71:C2 0])
1014
1015 AT_CHECK([ifr_run --force xapi2 down], [0], [], [stderr])
1016 AT_CHECK([ifr_filter], [0], [[Force interface xapi2 down
1017 Loading xapi database cache from /var/xapi/network.dbcache
1018 Configured for Vswitch datapath
1019 action_down: xapi2
1020 /sbin/ifdown xapi2
1021 deconfigure ipdev xapi2 on xapi1
1022 deconfigure_bridge: bridge - xapi2
1023 action_down: no more masters, bring down slave xapi1
1024 deconfigure_bridge: bridge - xapi1
1025 action_down: bring down physical devices - ['eth0', 'eth1']
1026 /sbin/ifconfig eth0 down
1027 /sbin/ifconfig eth1 down
1028 /usr/bin/ovs-vsctl --timeout=20
1029 --with-iface --if-exists del-port xapi2
1030 --if-exists del-br xapi2
1031 --if-exists del-br xapi1
1032 ]])
1033
1034 AT_CLEANUP
1035
1036 dnl This test configures two tunnels, then deletes the second and re-uses its
1037 dnl name for different types of ports. This was introduced to detect errors
1038 dnl where port configuration persists even when the port is deleted and
1039 dnl readded.
1040 AT_SETUP([Re-create port with different types])
1041 AT_KEYWORDS([interface-reconfigure])
1042 OVS_VSWITCHD_START(
1043 [add-port br0 p0 -- set int p0 type=gre options:remote_ip=127.0.0.1 -- \
1044 add-port br0 p1 -- set int p1 type=dummy -- \
1045 add-port br0 p2 -- set int p2 type=dummy])
1046
1047 AT_CHECK([ovs-vsctl set int p1 type=gre options:remote_ip=127.0.0.1])
1048 AT_CHECK([ovs-vsctl del-port p1])
1049 AT_CHECK([ovs-vsctl add-port br0 p1 -- set int p1 type=dummy])
1050
1051 OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
1052 OVS_APP_EXIT_AND_WAIT([ovsdb-server])
1053 AT_CLEANUP