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