aboutsummaryrefslogtreecommitdiffstats
path: root/network-scripts/ifdown-tunnel
diff options
context:
space:
mode:
Diffstat (limited to 'network-scripts/ifdown-tunnel')
-rwxr-xr-xnetwork-scripts/ifdown-tunnel45
1 files changed, 45 insertions, 0 deletions
diff --git a/network-scripts/ifdown-tunnel b/network-scripts/ifdown-tunnel
new file mode 100755
index 00000000..a5384b18
--- /dev/null
+++ b/network-scripts/ifdown-tunnel
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Copyright (C) 1996-2006 Red Hat, Inc. all rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License, version 2,
+# as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Thanks to:
+# - Razvan Corneliu C.R. Vilt <razvan.vilt@linux360.ro>
+# - Aaron Hope <aaron.hope@unh.edu>
+# - Sean Millichamp <sean@enertronllc.com>
+# for providing the scripts this one is based on
+
+. /etc/init.d/functions
+
+cd /etc/sysconfig/network-scripts
+. ./network-functions
+
+[ -f ../network ] && . ../network
+
+CONFIG=$1
+need_config "$CONFIG"
+source_config
+
+# Generic tunnel devices are not supported here
+if [ "$DEVICE" = gre0 -o "$DEVICE" = tunl0 -o "$DEVICE" = ip6tnl0 ]; then
+ net_log $"Device '$DEVICE' isn't supported as a valid GRE device name."
+ exit 1
+fi
+
+check_device_down "$DEVICE" && exit 0
+
+/sbin/ip link set dev "$DEVICE" down
+/sbin/ip tunnel del "$DEVICE"
+
+exec /etc/sysconfig/network-scripts/ifdown-post "$CONFIG"