File sysconfig-ifup-tunnel-skip-tunnel0.bnc467165.diff of Package sysconfig

--- doc/ifcfg-tunnel.5
+++ doc/ifcfg-tunnel.5	2009/01/21 20:37:16
@@ -100,7 +100,7 @@ you may choose the interface names.
 Create a GRE tunnel between a local computer with IP address 192.168.1.2
 and a remote computer with IP address 172.16.2.3. After the tunnel is
 created assign an IP address 10.20.30.40 to it's local end. Default filename:
-.I ifcfg-gre0
+.I ifcfg-gre1
 .nf
    STARTMODE='onboot'
    BOOTPROTO='static'
@@ -114,7 +114,7 @@ created assign an IP address 10.20.30.40
 IPIP tunnel is created in exactly the same way, except that the variable
 .B TUNNEL
 has to be set to "ipip" in this case. Use filename
-.I ifcfg-ipip0 
+.I ifcfg-tunl1 
 in this case.
 
 .TP
--- scripts/ifup-tunnel
+++ scripts/ifup-tunnel	2009/01/21 21:14:09
@@ -86,8 +86,9 @@ done
 #
 if [ -f ifcfg-$CONFIG ] ; then
 	. ifcfg-$CONFIG
-else
+elif test "$ACTION" != down ; then
 	message "could not find configuration file ifcfg-$CONFIG"
+	exit $R_NOCONFIG
 fi
 
 
@@ -207,15 +208,19 @@ tunctl_bin ()
 RETVAL=$R_SUCCESS
 case $ACTION in
 up)
-	printf "    %-9s " "$INTERFACE"
-
 	case "$INTERFACETYPE" in
 	sit)
 		case "$BOOTPROTO" in
 		static|6to4)
 			/sbin/modprobe -q sit
-			iptunnel_add
-			RETVAL=$?
+			case $INTERFACE in
+			sit0) ;;
+			*)
+				printf "    %-9s " "$INTERFACE"
+				iptunnel_add
+				RETVAL=$?
+			;;
+			esac
 		;;
 		*)
 			logerror "unsupported tunnel boot protocol $BOOTPROTO"
@@ -227,11 +232,18 @@ up)
 		case "$BOOTPROTO" in
 		static)
 			case "$INTERFACETYPE" in
-			#gre)	/sbin/modprobe -q ip_gre ;;
+			gre)	/sbin/modprobe -q ip_gre ;;
 			ipip)	/sbin/modprobe -q ipip   ;;
 			esac
-			iptunnel_add
-			RETVAL=$?
+
+			case $INTERFACE in
+			gre0|tunl0) ;;
+			*)
+				printf "    %-9s " "$INTERFACE"
+				iptunnel_add
+				RETVAL=$?
+			;;
+			esac
 		;;
 		*)
 			logerror "unsupported tunnel boot protocol $BOOTPROTO"
@@ -253,6 +265,7 @@ up)
 				exit $R_ERROR
 			fi
 
+			printf "    %-9s " "$INTERFACE"
 			$tunctl -t $INTERFACE ${TUNCTL_TYPE_ARG} \
 				${TUNNEL_SET_OWNER:+-u "$TUNNEL_SET_OWNER"} \
 				${TUNNEL_SET_GROUP:+-g "$TUNNEL_SET_GROUP"} \
@@ -272,8 +285,6 @@ down)
 
 	case "$INTERFACETYPE" in
 	tun|tap)
-		printf "    %-9s " "$INTERFACE"
-
 		if [ -d /sys/class/net/$INTERFACE ] ; then
 			tunctl=$(tunctl_bin)
 			if [ -z "$tunctl" ] ; then
@@ -281,12 +292,22 @@ down)
 				exit $R_ERROR
 			fi
 
+			printf "    %-9s " "$INTERFACE"
 			$tunctl -d $INTERFACE 2>&1 || RETVAL=$R_ERROR
 		fi
 	;;
 	sit|gre|ipip)
-		iptunnel_del
-		RETVAL=$?
+
+		if [ -d /sys/class/net/$INTERFACE ] ; then
+			case $INTERFACE in
+			sit0|gre0|tunl0) ;;
+			*)
+				printf "    %-9s " "$INTERFACE"
+				iptunnel_del
+				RETVAL=$?
+			;;
+			esac
+		fi
 	;;
 	esac
 ;;
openSUSE Build Service is sponsored by