]>
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 | # | |
ec8b15cb | 20 | # $Id$ |
de1fc6ce JR |
21 | # |
22 | ||
23 | . /etc/sysconfig/network | |
24 | . /etc/rc.d/init.d/functions | |
f67ce454 | 25 | . /lib/rc-scripts/functions.network |
d29c401a | 26 | |
111f7a0d AF |
27 | DEV=$1 |
28 | ||
29 | [ -z "$DEV" ] && { | |
5e6dfc29 JR |
30 | nls "Usage: %s <device name>" "tnldown" >&2 |
31 | exit 1 | |
111f7a0d AF |
32 | } |
33 | ||
a51d5138 JR |
34 | TNLCONFIGS=$(LC_ALL=C ls /etc/sysconfig/interfaces/tnlcfg-* 2>/dev/null | grep -vE '~$') |
35 | TNLCONFIGS=$(grep -LE '^#!' $TNLCONFIGS) | |
36 | CONFIG=$(grep -lE "^DEVICE=[\"\']*$DEV[\"\']*\$" $TNLCONFIGS) | |
beb24638 | 37 | |
111f7a0d | 38 | if [ -z "$CONFIG" ]; then |
5e6dfc29 | 39 | CONFIG="$DEV" |
111f7a0d | 40 | fi |
beb24638 | 41 | |
111f7a0d | 42 | if false; then |
5e6dfc29 JR |
43 | [ -f "/etc/sysconfig/interfaces/$CONFIG" ] || CONFIG=tnlcfg-$CONFIG |
44 | [ -f "/etc/sysconfig/interfaces/$CONFIG" ] || { | |
45 | echo "usage: tnldown <device name>" >&2 | |
46 | exit 1 | |
47 | } | |
111f7a0d | 48 | fi |
beb24638 | 49 | |
d29c401a AM |
50 | source_config |
51 | ||
de1fc6ce | 52 | case "${MODE}" in |
5e6dfc29 | 53 | sit|four) |
74a7f2e4 | 54 | is_no "${IPV6_NETWORKING}" && exit 0 |
55 | is_no "${IPV6_TUNNELCONFIG}" && exit 0 | |
56 | ;; | |
5e6dfc29 | 57 | ipip) |
74a7f2e4 | 58 | is_no "${IPV4_NETWORKING}" && exit 0 |
59 | ;; | |
5e6dfc29 | 60 | gre) |
74a7f2e4 | 61 | is_no "${IPV4_NETWORKING}" && exit 0 |
62 | ;; | |
5e6dfc29 | 63 | ipxip|ipipx) |
74a7f2e4 | 64 | is_no "${IPX}" && exit 0 |
65 | ;; | |
de1fc6ce | 66 | esac |
d29c401a | 67 | |
de1fc6ce | 68 | RESULT=0 |
d29c401a | 69 | |
de1fc6ce | 70 | case "${MODE}" in |
5e6dfc29 | 71 | ipip|sit|gre) |
74a7f2e4 | 72 | ip link set ${DEVICE} down |
73 | ip tunnel del ${DEVICE} | |
74 | RESULT=$? | |
75 | ;; | |
5e6dfc29 | 76 | four) |
74a7f2e4 | 77 | ip link set ${DEVICE} down |
78 | fourcfg del ${DEVICE} | |
79 | RESULT=$? | |
80 | ;; | |
5e6dfc29 | 81 | ipxip|ipipx) |
74a7f2e4 | 82 | ;; |
de1fc6ce | 83 | esac |
d29c401a | 84 | |
de1fc6ce | 85 | exit $RESULT |