netdev-dpdk: fix mbuf leaks
[cascardo/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    - [u'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 - [u'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    - [u'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 - [u'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    - [u'eth0', u'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" other-config:bond-miimon-interval=100 bond_downdelay=200 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 - [u'eth0', u'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    - [u'eth0', u'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" other-config:bond-miimon-interval=100 bond_downdelay=200 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 - [u'eth0', u'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 AT_CLEANUP