Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
HOOK_SETTINGS=(
"MARK"
"MODE"
+ "MTU"
"PEER"
"LOCAL_ADDRESS"
)
# Default mode of the tunnel
DEFAULT_MODE="gre"
+# Default MTU
+DEFAULT_MTU="1480"
+
hook_check_settings() {
assert isset MODE && assert isoneof MODE ${SUPPORTED_IP_TUNNEL_MODES}
fi
;;
+ --mtu=*)
+ MTU="$(cli_get_val "${1}")"
+
+ # Validate MTU
+ if ! mtu_is_valid "ipv6" "${MTU}"; then
+ error "Invalid MTU: ${MTU}"
+ return ${EXIT_ERROR}
+ fi
+ ;;
+
--peer=*)
PEER="$(cli_get_val "${1}")"
;;
if ! device_exists "${zone}"; then
ip_tunnel_add "${zone}" \
--mode="${MODE}" \
+ --mtu="${MTU}" \
--remote-address="${PEER}" \
--local-address="${LOCAL_ADDRESS}" \
--ikey="${MARK}" \