1#!/sbin/sh 2# 3# CDDL HEADER START 4# 5# The contents of this file are subject to the terms of the 6# Common Development and Distribution License, Version 1.0 only 7# (the "License"). You may not use this file except in compliance 8# with the License. 9# 10# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11# or http://www.opensolaris.org/os/licensing. 12# See the License for the specific language governing permissions 13# and limitations under the License. 14# 15# When distributing Covered Code, include this CDDL HEADER in each 16# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17# If applicable, add the following below this CDDL HEADER, with the 18# fields enclosed by brackets "[]" replaced with your own identifying 19# information: Portions Copyright [yyyy] [name of copyright owner] 20# 21# CDDL HEADER END 22# 23# 24# Copyright (c) 2000-2001 by Sun Microsystems, Inc. 25# All rights reserved. 26# 27#ident "%Z%%M% %I% %E% SMI" 28 29PATH=/sbin:/usr/bin:/usr/sbin; export PATH 30PPPDIR=/etc/ppp; export PPPDIR 31 32case "$1" in 33'start') 34 if [ ! -x /usr/bin/pppd -o ! -c /dev/sppp ]; then 35 echo "$0: Solaris PPP has not been correctly installed on" 36 echo "$0: this system. Required files are missing." 37 exit 1 38 fi 39 if [ -f $PPPDIR/ifconfig ]; then 40 . $PPPDIR/ifconfig 41 fi 42 if [ -f $PPPDIR/demand ]; then 43 . $PPPDIR/demand 44 fi 45 if [ -f $PPPDIR/pppoe.if ] && [ -x /usr/sbin/sppptun ]; then 46 sed -e 's/^#.*//;s/\([^\\]\)#.*/\1/;s/[ ]*$//;s/^[ ]*//' \ 47 $PPPDIR/pppoe.if | \ 48 while read intf; do 49 if [ "$intf" ]; then 50 /usr/sbin/sppptun plumb pppoe $intf 51 /usr/sbin/sppptun plumb pppoed $intf 52 fi 53 done 54 fi 55 if [ -f $PPPDIR/pppoe ] && [ -x /usr/lib/inet/pppoed ]; then 56 /usr/lib/inet/pppoed >/dev/null 57 fi 58 ;; 59 60'stop') 61 /usr/bin/pkill -x pppd 62 sleep 1 63 /usr/bin/pkill -x pppoed 64 65 # Use ifconfig to make the interfaces down just in case 66 if [ -f $PPPDIR/ifconfig ]; then 67 nawk '/ifconfig[ ]*sppp/ { \ 68 system("ifconfig " $2 " down"); \ 69 system("ifconfig " $2 " unplumb"); \ 70 next; \ 71 } \ 72 /ifconfig/ { \ 73 $3 = "removeif"; \ 74 NF = 4; \ 75 system($0); \ 76 }' < $PPPDIR/ifconfig 77 fi 78 79 if [ -f $PPPDIR/pppoe.if ] && [ -x /usr/sbin/sppptun ]; then 80 sed -e 's/^#.*//;s/\([^\\]\)#.*/\1/;s/[ ]*$//;s/^[ ]*//' \ 81 $PPPDIR/pppoe.if | \ 82 while read intf; do 83 if [ "$intf" ]; then 84 /usr/sbin/sppptun unplumb ${intf}:pppoe 85 /usr/sbin/sppptun unplumb ${intf}:pppoed 86 fi 87 done 88 fi 89 ;; 90 91*) 92 echo "Usage: $0 { start | stop }" 93 exit 1 94 ;; 95esac 96exit 0 97