X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=src%2Finitscripts%2Finit.d%2Fnetworking%2Fred;h=1e4af55af812f3520196d270674c37ab78be6f51;hp=a574050d74010392d11f0e09ab8c10cc98a27e60;hb=164a3b51a9891690695547fe84c8d7eef16af444;hpb=d94eba7823fed296433722595e5de70175d8eb03 diff --git a/src/initscripts/init.d/networking/red b/src/initscripts/init.d/networking/red index a574050d74..1e4af55af8 100644 --- a/src/initscripts/init.d/networking/red +++ b/src/initscripts/init.d/networking/red @@ -19,9 +19,8 @@ . ${rc_functions} #Define some defaults -RED_VDSL_INET_VLAN=7 -RED_VDSL_IPTV_VLAN=8 -RED_VDSL_IPTV_DISABLE=0 +INET_VLAN=7 +IPTV_VLAN=8 eval $(/usr/local/bin/readhash /var/ipfire/main/settings) if [ "$RRDLOG" == "" ]; then @@ -236,80 +235,83 @@ case "${1}" in PPP_NIC=${DEVICE} + + if [ "$TYPE" == "pppoeatm" ] || [ "$TYPE" == "pptpatm" ]; then + PPP_NIC=nas0 + DEVICE=nas0 + boot_mesg "Createing ATM-Bridge as $PPP_NIC ..." + br2684ctl -c0 -e${ENCAP} -a0.${VPI}.${VCI} >/dev/null 2>&1 & + sleep 1 + if [ "$TYPE" == "pppoeatm" ]; then + TYPE="pppoe" + fi + if [ "$TYPE" == "pptpatm" ]; then + TYPE="pptp" + fi + fi + if [ "$TYPE" == "vdsl" ]; then - boot_mesg "Createing VLAN Interface ${DEVICE}.${RED_VDSL_INET_VLAN} ..." + boot_mesg "Createing VLAN Interface ${DEVICE}.${INET_VLAN} ..." modprobe 8021q - vconfig add ${DEVICE} ${RED_VDSL_INET_VLAN} + vconfig add ${DEVICE} ${INET_VLAN} if [ -n "$MAC1" ]; then - boot_mesg "Setting mac address on ${DEVICE}.${RED_VDSL_INET_VLAN} to ${MAC1}" - ip link set dev ${DEVICE}.${RED_VDSL_INET_VLAN} address ${MAC1} + boot_mesg "Setting mac address on ${DEVICE}.${INET_VLAN} to ${MAC1}" + ip link set dev ${DEVICE}.${INET_VLAN} address ${MAC1} evaluate_retval fi - PPP_NIC=${DEVICE}.${RED_VDSL_INET_VLAN} + PPP_NIC=${DEVICE}.${INET_VLAN} sleep 0.2 ip link set ${PPP_NIC} up TYPE="pppoe" - if [ "${RED_VDSL_IPTV_DISABLE}" == "0" ]; then - PIDFILE="/var/run/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.pid" - LEASEINFO="/var/ipfire/dhcpc/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.info" - # Test to see if there is a stale pid file - if [ -f "$PIDFILE" ]; then - ps `cat "$PIDFILE"` | grep dhcpcd > /dev/null - if [ $? != 0 ]; then - rm -f /var/run/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.pid > /dev/null - fi + fi + if [ "${IPTV}" == "enable" ]; then + PIDFILE="/var/run/dhcpcd-${DEVICE}.${IPTV_VLAN}.pid" + LEASEINFO="/var/ipfire/dhcpc/dhcpcd-${DEVICE}.${IPTV_VLAN}.info" + # Test to see if there is a stale pid file + if [ -f "$PIDFILE" ]; then + ps `cat "$PIDFILE"` | grep dhcpcd > /dev/null + if [ $? != 0 ]; then + rm -f /var/run/dhcpcd-${DEVICE}.${IPTV_VLAN}.pid > /dev/null fi + fi - if [ ! -f "$PIDFILE" ]; then - boot_mesg "Createing VLAN Interface ${DEVICE}.${RED_VDSL_IPTV_VLAN} ..." - vconfig add ${DEVICE} ${RED_VDSL_IPTV_VLAN} - if [ -n "$MAC2" ]; then - boot_mesg "Setting mac address on ${DEVICE}.${RED_VDSL_IPTV_VLAN} to ${MAC2}" - ip link set dev ${DEVICE}.${RED_VDSL_IPTV_VLAN} address ${MAC2} - evaluate_retval - fi - boot_mesg -n "Starting dhcpcd on the ${DEVICE}.${RED_VDSL_IPTV_VLAN} interface..." - /sbin/dhcpcd ${DEVICE}.${RED_VDSL_IPTV_VLAN} ${DHCP_START} >/dev/null 2>&1 - RET="$?" + if [ ! -f "$PIDFILE" ]; then + boot_mesg "Createing VLAN Interface ${DEVICE}.${IPTV_VLAN} ..." + modprobe 8021q + vconfig add ${DEVICE} ${IPTV_VLAN} + if [ -n "$MAC2" ]; then + boot_mesg "Setting mac address on ${DEVICE}.${IPTV_VLAN} to ${MAC2}" + ip link set dev ${DEVICE}.${IPTV_VLAN} address ${MAC2} + evaluate_retval + fi + boot_mesg -n "Starting dhcpcd on the ${DEVICE}.${IPTV_VLAN} interface..." + /sbin/dhcpcd ${DEVICE}.${IPTV_VLAN} ${DHCP_START} >/dev/null 2>&1 + RET="$?" - if [ "$RET" = "0" ]; then - . /var/ipfire/dhcpc/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.info - echo "" - echo_ok - boot_mesg " DHCP Assigned Settings for ${DEVICE}.${RED_VDSL_IPTV_VLAN}:" - boot_mesg_flush - boot_mesg " IP Address: $ip_address" - boot_mesg_flush - boot_mesg " Hostname: $RED_DHCP_HOSTNAME" - boot_mesg_flush - boot_mesg " Subnet Mask: $subnet_mask" - boot_mesg_flush - boot_mesg " Default Gateway: $routers" - boot_mesg_flush - boot_mesg " DNS Server: $domain_name_servers" - boot_mesg_flush + if [ "$RET" = "0" ]; then + . /var/ipfire/dhcpc/dhcpcd-${DEVICE}.${IPTV_VLAN}.info + echo "" + echo_ok + boot_mesg " DHCP Assigned Settings for ${DEVICE}.${IPTV_VLAN}:" + boot_mesg_flush + boot_mesg " IP Address: $ip_address" + boot_mesg_flush + boot_mesg " Hostname: $RED_DHCP_HOSTNAME" + boot_mesg_flush + boot_mesg " Subnet Mask: $subnet_mask" + boot_mesg_flush + boot_mesg " Default Gateway: $routers" + boot_mesg_flush + boot_mesg " DNS Server: $domain_name_servers" + boot_mesg_flush - else - echo "" - $(exit "$RET") - evaluate_retval - fi + else + echo "" + $(exit "$RET") + evaluate_retval fi fi fi - - 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 - if [ "$TYPE" == "pppoeatm" ]; then - TYPE="pppoe" - fi - if [ "$TYPE" == "pptpatm" ]; then - TYPE="pptp" - fi - fi if [ "$TYPE" == "pppoe" ] || [ "$TYPE" == "pptp" ]; then if [ "$PPP_NIC" == "" ]; then boot_mesg "No device for red interface given. Check netsetup or dialprofile!" ${FAILURE} @@ -361,6 +363,10 @@ case "${1}" in fi fi ip link set ${PPP_NIC} up + if [ -n "${PPTP_ROUTE}" ]; then + boot_mesg "Set route ${PPTP_ROUTE} to pptp server..." + route add ${PPTP_ROUTE} + fi else boot_mesg "Bringing up the PPP via ${TYPE} on ${COMPORT}..." fi @@ -450,7 +456,7 @@ case "${1}" in # PPP_STD_OPTIONS="$PLUGOPTS $DNS defaultroute noipdefault noauth" PPP_STD_OPTIONS+=" default-asyncmap hide-password nodetach mtu ${MTU}" - PPP_STD_OPTIONS+=" mru ${MTU} noaccomp nodeflate nopcomp novj novjccomp" + PPP_STD_OPTIONS+=" mru ${MRU} noaccomp nodeflate nopcomp novj novjccomp" PPP_STD_OPTIONS+=" nobsdcomp user ${USERNAME} lcp-echo-interval 20" PPP_STD_OPTIONS+=" lcp-echo-failure 3 ${AUTH}" @@ -549,13 +555,17 @@ case "${1}" in fi fi + if [ -n "${PPTP_ROUTE}" ]; then + route del ${PPTP_ROUTE} + fi + if [ "$DEVICE" != "${GREEN_DEV}" ] && [ "$DEVICE" != "" ]; then - link_status=`ip link show $DEVICE.${RED_VDSL_INET_VLAN} 2> /dev/null` + link_status=`ip link show $DEVICE.${INET_VLAN} 2> /dev/null` if [ -n "${link_status}" ]; then if echo "${link_status}" | grep -q UP; then - boot_mesg "Bringing down the ${DEVICE}.${RED_VDSL_INET_VLAN} interface..." - ip link set ${DEVICE}.${RED_VDSL_INET_VLAN} down - vconfig rem ${DEVICE}.${RED_VDSL_INET_VLAN} + boot_mesg "Bringing down the ${DEVICE}.${INET_VLAN} interface..." + ip link set ${DEVICE}.${INET_VLAN} down + vconfig rem ${DEVICE}.${INET_VLAN} evaluate_retval fi else