]>
Commit | Line | Data |
---|---|---|
d29c401a AM |
1 | #!/bin/sh |
2 | # | |
de1fc6ce | 3 | # tnldown - tunnel configuration script |
fdc764ae | 4 | # Copyright (C) 1999, 2000 Arkadiusz Miśkiewicz <misiek@pld-linux.org> |
b0443108 | 5 | # |
de1fc6ce JR |
6 | # This program is free software; you can redistribute it and/or modify |
7 | # it under the terms of the GNU General Public License as published by | |
8 | # the Free Software Foundation; either version 2 of the License, or | |
9 | # (at your option) any later version. | |
d29c401a | 10 | # |
de1fc6ce JR |
11 | # This program is distributed in the hope that it will be useful, |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | # GNU General Public License for more details. | |
15 | # | |
16 | # You should have received a copy of the GNU General Public License | |
17 | # along with this program; if not, write to the Free Software | |
18 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
19 | # | |
de1fc6ce JR |
20 | # |
21 | ||
22 | . /etc/sysconfig/network | |
23 | . /etc/rc.d/init.d/functions | |
f67ce454 | 24 | . /lib/rc-scripts/functions.network |
d29c401a | 25 | |
111f7a0d AF |
26 | DEV=$1 |
27 | ||
28 | [ -z "$DEV" ] && { | |
5e6dfc29 JR |
29 | nls "Usage: %s <device name>" "tnldown" >&2 |
30 | exit 1 | |
111f7a0d AF |
31 | } |
32 | ||
a51d5138 JR |
33 | TNLCONFIGS=$(LC_ALL=C ls /etc/sysconfig/interfaces/tnlcfg-* 2>/dev/null | grep -vE '~$') |
34 | TNLCONFIGS=$(grep -LE '^#!' $TNLCONFIGS) | |
35 | CONFIG=$(grep -lE "^DEVICE=[\"\']*$DEV[\"\']*\$" $TNLCONFIGS) | |
beb24638 | 36 | |
111f7a0d | 37 | if [ -z "$CONFIG" ]; then |
5e6dfc29 | 38 | CONFIG="$DEV" |
111f7a0d | 39 | fi |
beb24638 | 40 | |
111f7a0d | 41 | if false; then |
5e6dfc29 JR |
42 | [ -f "/etc/sysconfig/interfaces/$CONFIG" ] || CONFIG=tnlcfg-$CONFIG |
43 | [ -f "/etc/sysconfig/interfaces/$CONFIG" ] || { | |
44 | echo "usage: tnldown <device name>" >&2 | |
45 | exit 1 | |
46 | } | |
111f7a0d | 47 | fi |
beb24638 | 48 | |
d29c401a AM |
49 | source_config |
50 | ||
de1fc6ce | 51 | case "${MODE}" in |
5e6dfc29 | 52 | sit|four) |
74a7f2e4 | 53 | is_no "${IPV6_NETWORKING}" && exit 0 |
54 | is_no "${IPV6_TUNNELCONFIG}" && exit 0 | |
55 | ;; | |
5e6dfc29 | 56 | ipip) |
74a7f2e4 | 57 | is_no "${IPV4_NETWORKING}" && exit 0 |
58 | ;; | |
5e6dfc29 | 59 | gre) |
74a7f2e4 | 60 | is_no "${IPV4_NETWORKING}" && exit 0 |
61 | ;; | |
5e6dfc29 | 62 | ipxip|ipipx) |
74a7f2e4 | 63 | is_no "${IPX}" && exit 0 |
64 | ;; | |
de1fc6ce | 65 | esac |
d29c401a | 66 | |
de1fc6ce | 67 | RESULT=0 |
d29c401a | 68 | |
de1fc6ce | 69 | case "${MODE}" in |
5e6dfc29 | 70 | ipip|sit|gre) |
74a7f2e4 | 71 | ip link set ${DEVICE} down |
72 | ip tunnel del ${DEVICE} | |
73 | RESULT=$? | |
74 | ;; | |
5e6dfc29 | 75 | four) |
74a7f2e4 | 76 | ip link set ${DEVICE} down |
77 | fourcfg del ${DEVICE} | |
78 | RESULT=$? | |
79 | ;; | |
5e6dfc29 | 80 | ipxip|ipipx) |
74a7f2e4 | 81 | ;; |
de1fc6ce | 82 | esac |
d29c401a | 83 | |
de1fc6ce | 84 | exit $RESULT |