3 # $Id: tnlup,v 1.14 1999/11/06 00:23:54 wiget Exp $
5 # Author: Arkadiusz Mi¶kiewicz <misiek@pld.org.pl>
11 echo "usage: tnlup <device name>" >&2
15 . /etc/sysconfig/network-scripts/.functions
16 . /etc/sysconfig/network
18 TNLCONFIGS="`ls /etc/sysconfig/interfaces/tnlcfg-*|egrep -v '~$'`"
19 TNLCONFIGS="`egrep -L '^#!' $TNLCONFIGS`"
20 CONFIG="`egrep -l "DEVICE=[\"\']*$DEV[\"\']*\$" $TNLCONFIGS`"
22 if [ -z "$CONFIG" ]; then
27 [ -f "/etc/sysconfig/interfaces/$CONFIG" ] || CONFIG=tnlcfg-$CONFIG
28 [ -f "/etc/sysconfig/interfaces/$CONFIG" ] || {
29 echo "usage: tnlup <device name>" >&2
36 if [ "foo$2" = "fooboot" -a "${ONBOOT}" = "no" ]
41 if [ "${IPV6_TUNNELCONFIG}" != "yes" ] && [ "${MODE}" = "sit" ] || \
42 [ "${IPX}" != "yes" ] && [ "${MODE}" = "ipxip" ] || \
43 [ "${IPX}" != "yes" ] && [ "${MODE}" = "ipipx" ]
48 if [ "${MODE}" = "gre" ] && [ "`ls -R /lib/modules/\`uname -r\`/ | grep ip_gre.o`" != "" ]; then
50 elif [ "${MODE}" = "ipip" ] && [ "`ls -R /lib/modules/\`uname -r\`/ | grep ipip.o`" != "" ]; then
54 [ -z "${LOCALADDR}" ] && LOCALADDR=any
55 [ -z "${REMOTEADDR}" ] && REMOTEADDR=any
56 [ -n "${TTL}" ] && TTL="ttl ${TTL}"
57 [ -n "${TOS}" ] && TOS="tos ${TOS}"
58 [ -n "${BIND_DEV}" ] && BIND_DEV="dev ${BIND_DEV}"
60 if [ "${SEQ}" = "yes" ]; then
63 [ "${ISEQ}" = "yes" ] && SEQ=iseq
64 [ "${OSEQ}" = "yes" ] && SEQ="${SEQ} oseq"
67 if [ "${CSUM}" = "yes" ]; then
70 [ "${ICSUM}" = "yes" ] && CSUM=icsum
71 [ "${ICSUM}" = "yes" ] && CSUM="${SEQ} ocsum"
74 [ "${ISEQ}" = "yes" ] && ISEQ=iseq
75 [ "${ISEQ}" = "yes" ] && ISEQ=iseq
76 [ "${ISEQ}" = "yes" ] && ISEQ=iseq
77 [ "${ISEQ}" = "yes" ] && ISEQ=iseq
79 [ "${TTL}" != "0" -a "${TTL}" != "inherit" ] && PMTUDISC=yes
81 if [ "${PMTUDISC}" = "yes" ]; then
83 elif [ "${PMTUDISC}" = "no" ]; then
87 if [ -n "${KEY}" ]; then
92 if [ "${MODE}" = "ipip" ] || [ "${MODE}" = "sit" ]; then
94 ip tunnel add ${DEVICE} mode ${MODE} local ${LOCALADDR} remote ${REMOTEADDR} ${TTL} ${TOS} ${PMTUDISC} ${BIND_DEV}
96 elif [ "${MODE}" = "gre" ]; then
98 ip tunnel add ${DEVICE} mode ${MODE} local ${LOCALADDR} remote ${REMOTEADDR} ${TTL} ${TOS} ${PMTUDISC} ${BIND_DEV} ${CSUM} ${ISEQ} ${KEY} ${IKEY} ${OKEY}
100 elif [ "${MODE}" = "ipxip" ] || [ "${MODE}" = "ipipx" ]; then
102 echo "obs³uga ipxip jeszcze nie zrobiona"