30 lines
627 B
Text
30 lines
627 B
Text
|
#!/bin/sh
|
||
|
|
||
|
# Executor for advanced GRE tunnel management.
|
||
|
|
||
|
[ -z "$IF_GRE_LOCAL" ] && exit 1
|
||
|
[ -z "$IF_GRE_REMOTE" ] && exit 1
|
||
|
[ -z "$IF_GRE_MODE" ] && exit 1
|
||
|
|
||
|
COMMAND="link"
|
||
|
FAMILY="-4"
|
||
|
[ "$IF_GRE_MODE" = "ip6gre" ] && FAMILY="-6"
|
||
|
|
||
|
PARAMS="mode $IF_GRE_MODE local '$IF_GRE_LOCAL' remote '$IF_GRE_REMOTE'"
|
||
|
[ -n "$IF_GRE_TTL" ] && PARAMS="$PARAMS ttl '$IF_GRE_TTL'"
|
||
|
[ -n "$IF_GRE_FLAGS" ] && PARAMS="$PARAMS $IF_GRE_FLAGS"
|
||
|
|
||
|
[ -n "$PARAMS" ] || exit 0
|
||
|
|
||
|
case "$PHASE" in
|
||
|
pre-up)
|
||
|
${MOCK} eval ip $FAMILY $COMMAND add $IFACE $PARAMS
|
||
|
;;
|
||
|
post-down)
|
||
|
${MOCK} ip $FAMILY $COMMAND del $IFACE
|
||
|
;;
|
||
|
depend)
|
||
|
echo "$IF_TUNNEL_DEV"
|
||
|
;;
|
||
|
esac
|