]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/initscripts/init.d/networking/red
added alsa modules to the xen kernel config file because the extern alsa modules...
[people/teissler/ipfire-2.x.git] / src / initscripts / init.d / networking / red
index 5efb5cab2d3662a7764d4d5cb1de48b1b88de7bc..a575c0e148eec69e3319f9fe3e9f22b71b3f6227 100644 (file)
@@ -192,21 +192,29 @@ case "${1}" in
                        
                        PPP_NIC=${DEVICE}
                        
-                       if [ "$TYPE" == "pppoeatm" ]; then
+                       if [ "$TYPE" == "pppoeatm" ] || [ "$TYPE" == "pptpatm" ]; then
                                PPP_NIC=nas0            
                                boot_mesg "Createing ATM-Bridge as $PPP_NIC ..."
                                br2684ctl -c0 -e${ENCAP} -a0.${VPI}.${VCI} >/dev/null 2>&1 &
                                sleep 1
-                               TYPE="pppoe"
+                               if [ "$TYPE" == "pppoeatm" ]; then
+                                       TYPE="pppoe"
+                               fi
+                               if [ "$TYPE" == "pptpatm" ]; then
+                                       TYPE="pptp"
+                               fi
                        fi
-                       if [ "$TYPE" == "pppoe" ]; then                 
+                       if [ "$TYPE" == "pppoe" ] || [ "$TYPE" == "pptp" ]; then
                                if [ "$PPP_NIC" == "" ]; then
                                        boot_mesg "No device for red interface given. Check netsetup or dialprofile!" ${FAILURE}
                                        echo_failure
                                        exit 0
                                fi
-                               boot_mesg "Bringing up the PPPoE interface on $PPP_NIC ..."
+                               boot_mesg "Bringing up the $TYPE interface on $PPP_NIC ..."
                                ip addr flush dev $PPP_NIC >/dev/null 2>&1
+                               if [ "$TYPE" == "pptp" ]; then
+                                       ip addr add $PPTP_NICCFG dev $PPP_NIC
+                               fi
                                ip link set ${PPP_NIC} up
                        else
                                boot_mesg "Bringing up the PPP via ${TYPE} on ${COMPORT}..."
@@ -218,10 +226,10 @@ case "${1}" in
                        
                        ### Plugin Options
                        #                       
-                       [ "${METHOD}" == "PPPOE_PLUGIN" ] && \
-                               PLUGOPTS="plugin /usr/lib/pppd/2.4.4/rp-pppoe.so"
-
-                               # PLUGOPTS="plugin /usr/lib/pppd/2.4.4/rp-pppoe.so nic-$PPP_NIC"
+                       if [ "$TYPE" == "pppoe" ]; then
+                               [ "${METHOD}" == "PPPOE_PLUGIN" ] && \
+                                       PLUGOPTS="plugin /usr/lib/pppd/2.4.4/rp-pppoe.so"
+                       fi
 
                        ### Synchronous Mode
                        #
@@ -262,7 +270,6 @@ case "${1}" in
                                DNS=""
                                echo nameserver=$DNS1 > /etc/ppp/resolv.conf
                                echo nameserver=$DNS2 >> /etc/ppp/resolv.conf
-                               
                        fi
 
                        ### Dial On Demand              
@@ -280,14 +287,18 @@ case "${1}" in
                                fi
                        fi
                        
-                       ### When using pppoe-plugin the device has to be the last option
-                       #
-                       [ "${METHOD}" == "PPPOE_PLUGIN" ] && PLUGOPTS+=" $PPP_NIC"
+                       if [ "$TYPE" == "pppoe" ]; then
+                               ### When using pppoe-plugin the device has to be the last option
+                               #
+                               [ "${METHOD}" == "PPPOE_PLUGIN" ] && PLUGOPTS+=" $PPP_NIC"
+                       fi
                        
                        if [ "$TYPE" == "modem" ]; then
                                PLUGOPTS=" /dev/${COMPORT} ${DTERATE} connect /etc/ppp/dialer lock modem crtscts"
+                               METHOD="PPPOE_PLUGIN"
                        elif [ "$TYPE" == "serial" ]; then
                                PLUGOPTS=" /dev/${COMPORT} ${DTERATE} connect /bin/true lock modem crtscts"
+                               METHOD="PPPOE_PLUGIN"
                        fi
                
                        ### Standard PPP options we always use
@@ -312,10 +323,17 @@ case "${1}" in
                                PPPOE_CMD="/usr/sbin/pppoe -p /var/run/ppp-ipfire.pid.pppoe -I $PPP_NIC"
                                PPPOE_CMD+=" -T 80 -U $PPPOE_SYNC $ACNAME $SERVICENAMEOPT"
                        fi
+
+                       ### PPTP ###
+                       #
+                       if [ "$TYPE" == "pptp" ]; then
+                               PPPOE_CMD="pptp $PPTP_PEER --nolaunchpppd"
+                               METHOD=""
+                       fi
                        
                        ### Run everything
                        #
-                       if [ "${METHOD}" == "PPPOE_PLUGIN" ]; then
+                       if [ "$METHOD" == "PPPOE_PLUGIN" ]; then
                                /usr/sbin/pppd $PPP_STD_OPTIONS $DEBUG $DEMAND >/dev/null 2>&1 &
                                evaluate_retval
                                # echo PLUGIN: /usr/sbin/pppd $PPP_STD_OPTIONS $DEBUG $DEMAND
@@ -342,7 +360,7 @@ case "${1}" in
                                evaluate_retval
                        fi
                        run_subdir ${rc_base}/init.d/networking/red.down/
-                       
+
                elif [ "$TYPE" == "DHCP" ]; then
                        boot_mesg -n "Stopping dhcpcd on the ${DEVICE} interface..."
                        if [ -e $LEASEINFO ]; then
@@ -374,11 +392,7 @@ case "${1}" in
                                boot_mesg -n "LEASEINFO Test failed! - " ${WARNING}
                                boot_mesg "dhcpcd is not running!" ${WARNING}
                                echo_warning
-                               exit 1
                        fi
-                       
-                       ## Disable vnstat collection
-                       /usr/bin/vnstat -u -i ${DEVICE} -r --disable > /dev/null 2>&1
 
                elif [ "$TYPE" == "PPPOE" ]; then
                        boot_mesg "Bringing down the PPP interface ..."
@@ -400,11 +414,13 @@ case "${1}" in
                        fi
                fi
                killall -w -s KILL /usr/sbin/pppd >/dev/null 2>&1
+               killall -w -s KILL pptp >/dev/null 2>&1
                killall -w -s KILL br2684ctl >/dev/null 2>&1
-               rm -f /var/ipfire/red/{active,device,dial-on-demand,dns1,dns2,local-ipaddress,remote-ipaddress,resolv.conf}
 
                ## Disable vnstat collection
                /usr/bin/vnstat -u -i ${DEVICE} -r --disable > /dev/null 2>&1
+
+               rm -f /var/ipfire/red/{active,device,dial-on-demand,dns1,dns2,local-ipaddress,remote-ipaddress,resolv.conf}
                exit 0;
                ;;
 esac