[ -z "$IF_RRQNET_PORT" ] && exit 0
# An rrqnet stanza may have the following settings:
-# rrqnet_port <port>
+# rrqnet_port [ notap ] <port>
# rrqnet_nice <nice>
# rrqnet_remote <remote declaration>
# rrqnet_options <options>
: ${RRQDAEMON:=/usr/sbin/rrqnet}
: ${NAME:=rrqnet-${IFACE}}
+NOTAP="${IF_RRQNET_PORT##notap *}" # empty if 'notap' is used
+IF_RRQNET_PORT="${IF_RRQNET_PORT#notap }"
+
#function
configure_tap_bridge() {
[ -z "$IF_RRQNET_BRIDGE" ] && return 0
#function
start_cable_pre_up() {
- configure_tap_up || return 1
- configure_tap_bridge || return 1
+ local TAP
+ TAP="-t $IFACE"
+ if [ -z "$NOTAP" ] ; then
+ echo "Note: $IFACE is an rrqnet without local interface" >&2
+ TAP=""
+ else
+ configure_tap_up || return 1
+ configure_tap_bridge || return 1
+ fi
[ -z "$IF_RRQNET_NICE" ] || \
RRQDAEMON="/usr/bin/nice -n $IF_RRQNET_NICE $RRQDAEMON"
if [ -z "$IF_RRQNET_LOG" ] ; then
daemon -U -r -a 10 -n $NAME -- \
$RRQDAEMON $IF_RRQNET_OPTIONS \
- -t $IFACE $IF_RRQNET_PORT $IF_RRQNET_REMOTE
+ $TAP $IF_RRQNET_PORT $IF_RRQNET_REMOTE
else
- daemon -U -r -a 10 -n $NAME -E "${IF_RRQNET_LOG#* }" -- \
- $RRQDAEMON ${IF_RRQNET_LOG%% *} $IF_RRQNET_OPTIONS \
- -t $IFACE $IF_RRQNET_PORT $IF_RRQNET_REMOTE
+ LOG=${IF_RRQNET_LOG#* }
+ daemon -U -r -a 10 -n $NAME -E "$LOG" -- \
+ $RRQDAEMON ${IF_RRQNET_LOG%$LOG} $IF_RRQNET_OPTIONS \
+ $TAP $IF_RRQNET_PORT $IF_RRQNET_REMOTE
fi
}
#function
stop_cable_post_down() {
- ip link del $IFACE
+ [ -z "$NOTAP" ] || ip link del $IFACE
}
# main script body