1 m4_divert_push([PREPARE_TESTS])
3 # Creates a directory tree for use with "interface-reconfigure --root-dir".
6 interface-reconfigure \
7 InterfaceReconfigure.py \
8 InterfaceReconfigureBridge.py \
9 InterfaceReconfigureVswitch.py
11 cp $top_srcdir/xenserver/opt_xensource_libexec_$script $script
15 cat > etc/xensource-inventory <<EOF
16 PRODUCT_BRAND='XenServer'
17 PRODUCT_NAME='xenenterprise'
18 PRODUCT_VERSION='5.5.0'
20 KERNEL_VERSION='2.6.18-128.1.6.el5.xs5.5.0.505.1024xen'
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'
29 MANAGEMENT_INTERFACE='xenbr2'
32 mkdir -p etc/xensource
33 echo vswitch > etc/xensource/network.conf
44 mkdir -p `dirname $utility`
45 cat > $utility <<'EOF'
53 cat > usr/bin/ovs-vsctl <<'EOF'
57 while test ${#} -ge 4; do
58 if test X"${1}" = Xget && \
59 test X"${2}" = Xinterface && \
60 test X"${4}" = Xofport; then
61 if test X"${3}" = Xeth2; then
71 chmod +x usr/bin/ovs-vsctl
73 cat > usr/bin/ovs-ofctl <<'EOF'
77 # Check that the flow is properly formed.
78 ovs-ofctl parse-flow "${3}" >/dev/null
80 chmod +x usr/bin/ovs-ofctl
82 mkdir -p etc/sysconfig/network-scripts
84 mkdir -p sys/class/net/${1}
85 echo ${2} > sys/class/net/${1}/address
86 echo ${3} > sys/class/net/${1}/tx_queue_len
87 if test ${1} = eth1; then
88 # No VLAN acceleration.
89 echo 0x829 > sys/class/net/${1}/features
91 # Supports VLAN acceleration.
92 echo 0x10b89 > sys/class/net/${1}/features
94 mkdir sys/class/net/${1}/device
95 ln -s ../../../bus/pci/drivers/e1000 sys/class/net/${1}/device/driver
97 : >> etc/sysconfig/network-scripts/ifcfg-${1}
100 configure_netdev lo 00:00:00:00:00:00 0
101 configure_netdev eth0 00:22:19:22:4b:af 1000
102 configure_netdev eth1 00:22:19:22:4b:b1 1000
103 configure_netdev eth2 00:15:17:a0:29:80 1000
104 configure_netdev eth3 00:15:17:a0:29:81 1000
105 configure_netdev eth4 00:1b:21:29:ce:51 1000
108 cat > var/xapi/network.dbcache <<'EOF'
109 <?xml version="1.0" ?>
110 <xenserver-network-configuration>
111 <pif ref="OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6">
113 <tunnel_access_PIF_of/>
118 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
121 bd62a141-091f-3909-e334-0334f67ff3be
139 <ip_configuration_mode>
141 </ip_configuration_mode>
151 </currently_attached>
156 OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5
159 <pif ref="OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806">
161 <tunnel_access_PIF_of/>
169 df8d35c2-cc3a-a623-7065-d987a29feb75
187 <ip_configuration_mode>
189 </ip_configuration_mode>
199 </currently_attached>
204 OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531
207 <pif ref="OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768">
209 <tunnel_access_PIF_of/>
214 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
217 2f87fc95-5ab4-571a-2487-3f4ac1985663
235 <ip_configuration_mode>
237 </ip_configuration_mode>
247 </currently_attached>
252 OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d
255 <pif ref="OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e">
257 <tunnel_access_PIF_of/>
265 d2dfdab3-daf4-afea-f055-a25a0d24d714
271 OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
283 <ip_configuration_mode>
285 </ip_configuration_mode>
295 </currently_attached>
300 OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47
303 <pif ref="OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc">
306 OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
309 <tunnel_access_PIF_of/>
317 f4ba396e-a993-a592-5fbc-a1d566afb59e
335 <ip_configuration_mode>
337 </ip_configuration_mode>
347 </currently_attached>
352 OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32
355 <pif ref="OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15">
357 <tunnel_access_PIF_of/>
365 646ca9a1-36ad-e2f9-3ecc-1e5622c201c2
383 <ip_configuration_mode>
385 </ip_configuration_mode>
395 </currently_attached>
400 OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe
403 <pif ref="OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3">
405 <tunnel_access_PIF_of/>
413 3941edd2-865b-8dd8-61f0-199f5e1fa652
419 OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
431 <ip_configuration_mode>
433 </ip_configuration_mode>
443 </currently_attached>
448 OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17
451 <pif ref="OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11">
454 OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
457 <tunnel_access_PIF_of/>
465 6c0327a9-afa3-fc19-6798-a1bfe20095ed
483 <ip_configuration_mode>
485 </ip_configuration_mode>
494 OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
499 </currently_attached>
504 OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a
507 <bond ref="OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e">
509 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
512 dad825f1-6d81-386e-849c-5589281e53e1
516 OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
519 OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
523 <vlan ref="OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c">
525 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
528 841814da-d0d2-9da4-0b2e-b6143480bbfb
531 OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
534 <vlan ref="OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297">
536 OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
539 399279a2-5ccd-5368-9af3-8622a1f1ac82
542 OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
545 <network ref="OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47">
548 OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
556 99be2da4-6c33-6f8e-49ea-3bc592fe3c85
559 <network ref="OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32">
562 OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
570 2902ae1b-8013-897a-b697-0b200ea3aaa5
573 <network ref="OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a">
576 OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
584 45cbbb43-113d-a712-3231-c6463f253cef
587 <network ref="OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d">
590 OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
598 99f8771a-645a-26a3-e06c-30a401f1d009
601 <network ref="OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe">
604 OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15
612 d08c8749-0c8f-9e8d-ce25-fd364661ee99
615 <network ref="OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5">
618 OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
625 <vswitch-disable-in-band>
627 </vswitch-disable-in-band>
630 c9eecb03-560d-61de-b6a8-56dfc766f67e
633 <network ref="OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531">
636 OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806
644 d2c14c89-29cc-51d4-7664-633eff02b2ad
647 <network ref="OpaqueRef:0b7354a4-8f4b-aa08-2f16-a22c117e4211">
654 dc0f0632-c2aa-1b78-2fea-0d3a23c51740
657 <network ref="OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17">
660 OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
668 db7bdc03-074d-42ae-fc73-9b06de1d57f6
671 <pool ref="OpaqueRef:a765d06c-fc82-cc67-8f6c-fd8db45f6a84">
673 <vswitch-controller-fail-mode>
675 </vswitch-controller-fail-mode>
678 </xenserver-network-configuration>
683 $PYTHON3 ./interface-reconfigure --root-prefix="`pwd`" --no-syslog "$@"
687 sed -n -e "s,`pwd`,,g" -e 's/ -- /\
688 /g' -e '/^Running command:/!p' stderr
690 m4_divert_pop([PREPARE_TESTS])
693 AT_BANNER([interface-reconfigure])
695 AT_SETUP([non-VLAN, non-bond])
696 AT_KEYWORDS([interface-reconfigure])
697 AT_SKIP_IF([$non_ascii_cwd])
698 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
701 AT_CHECK([ifr_run --force xenbr2 up], [0], [], [stderr])
702 AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 up
703 Loading xapi database cache from /var/xapi/network.dbcache
704 Configured for Vswitch datapath
706 Writing network configuration for xenbr2
707 Configuring xenbr2 using DHCP configuration
708 configure_datapath: bridge - xenbr2
709 configure_datapath: physical - ['eth2']
710 configure_datapath: extra ports - []
711 configure_datapath: extra bonds - []
712 /usr/bin/ovs-vsctl -vconsole:off get-fail-mode xenbr2
713 Applying changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
714 Applying changes to /etc/sysconfig/network configuration
715 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
716 /sbin/ip link set eth2 up mtu 1500
717 /sbin/ethtool -K eth2 gro off lro off
718 /usr/bin/ovs-vsctl --timeout=20
719 --with-iface --if-exists del-port eth2
720 --may-exist add-br xenbr2
721 --may-exist add-port xenbr2 eth2
722 set Bridge xenbr2 other-config:hwaddr="00:15:17:a0:29:80"
723 set Bridge xenbr2 fail_mode=secure
724 remove Bridge xenbr2 other_config disable-in-band
725 br-set-external-id xenbr2 xs-network-uuids d08c8749-0c8f-9e8d-ce25-fd364661ee99
726 /usr/bin/ovs-vsctl -vconsole:off get interface eth2 ofport
727 /usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,arp,nw_proto=1,actions=local
728 /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
729 /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
730 /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
733 Committing changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
734 Committing changes to /etc/sysconfig/network configuration
735 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
738 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xenbr2], [0],
739 [# DO NOT EDIT: This file (ifcfg-xenbr2) was autogenerated by interface-reconfigure
746 PERSISTENT_DHCLIENT=yes
750 # Simulate interface-reconfigure creating xenbr2, so that we can tell
751 # interface-reconfigure to take it back down.
752 AT_CHECK([configure_netdev xenbr2 00:15:17:a0:29:80 0])
754 AT_CHECK([ifr_run --force xenbr2 down], [0], [], [stderr])
755 AT_CHECK([ifr_filter], [0], [[Force interface xenbr2 down
756 Loading xapi database cache from /var/xapi/network.dbcache
757 Configured for Vswitch datapath
760 deconfigure ipdev xenbr2 on xenbr2
761 deconfigure_bridge: bridge - xenbr2
762 action_down: bring down physical devices - ['eth2']
763 /sbin/ip link set eth2 down
764 /usr/bin/ovs-vsctl --timeout=20
765 --with-iface --if-exists del-port xenbr2
766 --if-exists del-br xenbr2
771 AT_SETUP([VLAN, non-bond])
772 AT_KEYWORDS([interface-reconfigure])
773 AT_SKIP_IF([$non_ascii_cwd])
774 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
777 AT_CHECK([ifr_run --force xapi3 up], [0], [], [stderr])
778 AT_CHECK([ifr_filter], [0], [[Force interface xapi3 up
779 Loading xapi database cache from /var/xapi/network.dbcache
780 Configured for Vswitch datapath
782 Writing network configuration for xapi3
783 Configuring xapi3 using None configuration
784 configure_datapath: bridge - xenbr3
785 configure_datapath: physical - ['eth3']
786 configure_datapath: extra ports - []
787 configure_datapath: extra bonds - []
788 Applying changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
789 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
790 /sbin/ip link set eth3 up mtu 1500
791 /sbin/ethtool -K eth3 gro off lro off
792 /usr/bin/ovs-vsctl --timeout=20
793 --with-iface --if-exists del-port eth3
794 --may-exist add-br xenbr3
795 --may-exist add-port xenbr3 eth3
796 set Bridge xenbr3 other-config:hwaddr="00:15:17:a0:29:81"
797 set Bridge xenbr3 fail_mode=secure
798 remove Bridge xenbr3 other_config disable-in-band
799 br-set-external-id xenbr3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
800 --if-exists del-br xapi3
801 --may-exist add-br xapi3 xenbr3 123
802 br-set-external-id xapi3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
803 set Interface xapi3 MAC="00:15:17:a0:29:81"
806 Committing changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
807 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
810 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi3], [0],
811 [# DO NOT EDIT: This file (ifcfg-xapi3) was autogenerated by interface-reconfigure
821 # Simulate interface-reconfigure creating xapi3, so that we can tell
822 # interface-reconfigure to take it back down.
823 AT_CHECK([configure_netdev xapi3 00:23:20:AC:AF:02 0])
825 AT_CHECK([ifr_run --force xapi3 down], [0], [], [stderr])
826 AT_CHECK([ifr_filter], [0], [[Force interface xapi3 down
827 Loading xapi database cache from /var/xapi/network.dbcache
828 Configured for Vswitch datapath
831 deconfigure ipdev xapi3 on xenbr3
832 deconfigure_bridge: bridge - xapi3
833 action_down: no more masters, bring down slave xenbr3
834 deconfigure_bridge: bridge - xenbr3
835 action_down: bring down physical devices - ['eth3']
836 /sbin/ip link set eth3 down
837 /usr/bin/ovs-vsctl --timeout=20
838 --with-iface --if-exists del-port xapi3
839 --if-exists del-br xapi3
840 --if-exists del-br xenbr3
845 AT_SETUP([Bond, non-VLAN])
846 AT_KEYWORDS([interface-reconfigure])
847 AT_SKIP_IF([$non_ascii_cwd])
848 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
851 # Pretend that bond0 exists, even though it would really be created by
852 # a "create-bond" call in an ovs-vsctl invocation within
853 # interface-reconfigure, because otherwise interface-reconfigure will
854 # die with "failed to apply changes: netdev: up: device bond0 does not
855 # exist" after it thinks it created bond0.
856 AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
858 AT_CHECK([ifr_run --force xapi1 up], [0], [], [stderr])
859 AT_CHECK([ifr_filter], [0], [[Force interface xapi1 up
860 Loading xapi database cache from /var/xapi/network.dbcache
861 Configured for Vswitch datapath
863 Writing network configuration for xapi1
864 Configuring xapi1 using None configuration
865 configure_datapath: leaving bond bond0 up
866 configure_datapath: leaving bond bond0 up
867 configure_datapath: bridge - xapi1
868 configure_datapath: physical - ['eth0', 'eth1']
869 configure_datapath: extra ports - []
870 configure_datapath: extra bonds - []
871 netdev: down: device xenbr0 does not exist, ignoring
872 netdev: down: device xenbr1 does not exist, ignoring
873 Applying changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
874 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
875 /sbin/ip link set eth0 up mtu 1500
876 /sbin/ethtool -K eth0 gro off lro off
877 /sbin/ip link set eth1 up mtu 1500
878 /sbin/ethtool -K eth1 gro off lro off
879 /usr/bin/ovs-vsctl --timeout=20
880 --if-exists del-br xenbr0
881 --if-exists del-br xenbr1
882 --with-iface --if-exists del-port eth0
883 --with-iface --if-exists del-port eth1
884 --may-exist add-br xapi1
885 --with-iface --if-exists del-port bond0
886 --fake-iface add-bond xapi1 bond0 eth0 eth1
887 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
888 set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
889 set Bridge xapi1 fail_mode=secure
890 remove Bridge xapi1 other_config disable-in-band
891 br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
893 action_up: bring up bond0
894 /sbin/ip link set bond0 up
896 Committing changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
897 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
900 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi1], [0],
901 [# DO NOT EDIT: This file (ifcfg-xapi1) was autogenerated by interface-reconfigure
911 # Simulate interface-reconfigure creating xapi1, so that we can tell
912 # interface-reconfigure to take it back down.
913 AT_CHECK([configure_netdev xapi1 00:22:19:22:4B:AF 0])
915 AT_CHECK([ifr_run --force xapi1 down], [0], [], [stderr])
916 AT_CHECK([ifr_filter], [0], [[Force interface xapi1 down
917 Loading xapi database cache from /var/xapi/network.dbcache
918 Configured for Vswitch datapath
921 deconfigure ipdev xapi1 on xapi1
922 deconfigure_bridge: bridge - xapi1
923 action_down: bring down physical devices - ['eth0', 'eth1']
924 /sbin/ip link set eth0 down
925 /sbin/ip link set eth1 down
926 /usr/bin/ovs-vsctl --timeout=20
927 --with-iface --if-exists del-port xapi1
928 --if-exists del-br xapi1
933 AT_SETUP([VLAN on bond])
934 AT_KEYWORDS([interface-reconfigure])
935 AT_SKIP_IF([$non_ascii_cwd])
936 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
939 # Pretend that bond0 exists, even though it would really be created by
940 # a "create-bond" call in an ovs-vsctl invocation within
941 # interface-reconfigure, because otherwise interface-reconfigure will
942 # die with "failed to apply changes: netdev: up: device bond0 does not
943 # exist" after it thinks it created bond0.
944 AT_CHECK([configure_netdev bond0 00:23:20:e6:39:75 0])
946 AT_CHECK([ifr_run --force xapi2 up], [0], [], [stderr])
947 AT_CHECK([ifr_filter], [0], [[Force interface xapi2 up
948 Loading xapi database cache from /var/xapi/network.dbcache
949 Configured for Vswitch datapath
951 Writing network configuration for xapi2
952 Configuring xapi2 using None configuration
953 configure_datapath: leaving bond bond0 up
954 configure_datapath: leaving bond bond0 up
955 configure_datapath: bridge - xapi1
956 configure_datapath: physical - ['eth0', 'eth1']
957 configure_datapath: extra ports - []
958 configure_datapath: extra bonds - []
959 netdev: down: device xenbr0 does not exist, ignoring
960 netdev: down: device xenbr1 does not exist, ignoring
961 Applying changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
962 Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
963 /sbin/ip link set eth0 up mtu 1500
964 /sbin/ethtool -K eth0 gro off lro off
965 /sbin/ip link set eth1 up mtu 1500
966 /sbin/ethtool -K eth1 gro off lro off
967 /usr/bin/ovs-vsctl --timeout=20
968 --if-exists del-br xenbr0
969 --if-exists del-br xenbr1
970 --with-iface --if-exists del-port eth0
971 --with-iface --if-exists del-port eth1
972 --may-exist add-br xapi1
973 --with-iface --if-exists del-port bond0
974 --fake-iface add-bond xapi1 bond0 eth0 eth1
975 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
976 set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
977 set Bridge xapi1 fail_mode=secure
978 remove Bridge xapi1 other_config disable-in-band
979 br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
980 --if-exists del-br xapi2
981 --may-exist add-br xapi2 xapi1 4
982 br-set-external-id xapi2 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
983 set Interface xapi2 MAC="00:22:19:22:4b:af"
985 action_up: bring up bond0
986 /sbin/ip link set bond0 up
988 Committing changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
989 Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
992 AT_CHECK([cat etc/sysconfig/network-scripts/ifcfg-xapi2], [0],
993 [# DO NOT EDIT: This file (ifcfg-xapi2) was autogenerated by interface-reconfigure
1003 # Simulate interface-reconfigure creating xapi2, so that we can tell
1004 # interface-reconfigure to take it back down.
1005 AT_CHECK([configure_netdev xapi2 00:23:20:A4:71:C2 0])
1007 AT_CHECK([ifr_run --force xapi2 down], [0], [], [stderr])
1008 AT_CHECK([ifr_filter], [0], [[Force interface xapi2 down
1009 Loading xapi database cache from /var/xapi/network.dbcache
1010 Configured for Vswitch datapath
1013 deconfigure ipdev xapi2 on xapi1
1014 deconfigure_bridge: bridge - xapi2
1015 action_down: no more masters, bring down slave xapi1
1016 deconfigure_bridge: bridge - xapi1
1017 action_down: bring down physical devices - ['eth0', 'eth1']
1018 /sbin/ip link set eth0 down
1019 /sbin/ip link set eth1 down
1020 /usr/bin/ovs-vsctl --timeout=20
1021 --with-iface --if-exists del-port xapi2
1022 --if-exists del-br xapi2
1023 --if-exists del-br xapi1
1028 dnl This test configures two tunnels, then deletes the second and re-uses its
1029 dnl name for different types of ports. This was introduced to detect errors
1030 dnl where port configuration persists even when the port is deleted and
1032 AT_SETUP([Re-create port with different types])
1033 AT_KEYWORDS([interface-reconfigure])
1035 [add-port br0 p0 -- set int p0 type=gre options:remote_ip=127.0.0.1 -- \
1036 add-port br0 p1 -- set int p1 type=dummy -- \
1037 add-port br0 p2 -- set int p2 type=dummy])
1039 AT_CHECK([ovs-vsctl set int p1 type=gre options:remote_ip=127.0.0.1])
1040 AT_CHECK([ovs-vsctl del-port p1])
1041 AT_CHECK([ovs-vsctl add-port br0 p1 -- set int p1 type=dummy])
1043 OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
1044 OVS_APP_EXIT_AND_WAIT([ovsdb-server])