#!/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