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