1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#!/bin/sh
# Executor for advanced GRE tunnel management.
[ -z "$IF_GRE_LOCAL" ] && exit 1
[ -z "$IF_GRE_REMOTE" ] && exit 1
[ -z "$IF_GRE_MODE" ] && IF_GRE_MODE="gre"
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
create)
${MOCK} eval ip $FAMILY $COMMAND add $IFACE $PARAMS
;;
destroy)
${MOCK} ip $FAMILY $COMMAND del $IFACE
;;
depend)
echo "$IF_GRE_DEV"
;;
esac
|