Allow openvpn options to be specified. If options exist then for tunctl then we prefer that to openvpn, unless openvpn options exist.
This commit is contained in:
@@ -32,12 +32,25 @@ tuntap_pre_start()
|
||||
# Set the base metric to 1000
|
||||
metric=1000
|
||||
|
||||
if type tunctl >/dev/null 2>&1; then
|
||||
local opts=
|
||||
eval opts=\$tunctl_${IFVAR}
|
||||
tunctl ${opts} -t "${IFACE}" >/dev/null
|
||||
local o_opts= t_opts= do_open=false do_tunctl=false
|
||||
eval o_opts=\$openvpn_${IFVAR}
|
||||
eval t_opts=\$tunctl_${IFVAR}
|
||||
|
||||
if [ -n "${o_opts}" ] && type openvpn >/dev/null 2>&1; then
|
||||
do_open=true
|
||||
elif [ -n "${t_opts}" ] && type tunctl >/dev/null 2>&1; then
|
||||
do_tunctl=true
|
||||
elif type openvpn >/dev/null 2>&1; then
|
||||
do_openvpn=true
|
||||
else
|
||||
openvpn --mktun --dev-type "${tuntap}" --dev "${IFACE}" >/dev/null
|
||||
do_tunctl=true
|
||||
fi
|
||||
|
||||
if ${do_openvpn}; then
|
||||
openvpn --mktun --dev-type "${tuntap}" --dev "${IFACE}" \
|
||||
${o_opts} >/dev/null
|
||||
else
|
||||
tunctl ${t_opts} -t "${IFACE}" >/dev/null
|
||||
fi
|
||||
eend $? && _up && service_set_value tuntap "${tuntap}"
|
||||
}
|
||||
|
Reference in New Issue
Block a user