echo "${@#*=}"
}
+function cli_get_bool() {
+ local value="$(cli_get_val "$@")"
+
+ if enabled value; then
+ print "true"
+ return ${EXIT_TRUE}
+ fi
+
+ print "false"
+ return ${EXIT_FALSE}
+}
+
function cli_usage() {
local command="$@"
local basename="$(basename ${0})"
assert isset file
local hostname=${HOSTNAME%%.*}
+ local prefix_delegation="false"
local vendor=$(distro_get_pretty_name)
while [ $# -gt 0 ]; do
--hostname=*)
hostname=$(cli_get_val ${1})
;;
+ --prefix-delegation=*)
+ prefix_delegation="$(cli_get_bool "${1}")"
+ ;;
--vendor=*)
vendor=$(cli_get_val ${1})
;;
if isset hostname; then
echo " send host-name \"${hostname}\";"
+ print
+ fi
+
+ # Prefix delegation (IPv6).
+ if enabled prefix_delegation; then
+ print " # Prefix delegation"
+ print " also request dhcp6.ia-pd 1;"
+ print " send dhcp6.ia-na 1;"
+ print
fi
echo "}"
. /usr/lib/network/header-zone
HOOK_SETTINGS="HOOK ACCESS_CONCENTRATOR AUTH USERNAME PASSWORD"
-HOOK_SETTINGS="${HOOK_SETTINGS} SERVICE_NAME MTU PORT IPV6"
+HOOK_SETTINGS="${HOOK_SETTINGS} SERVICE_NAME MTU PORT IPV6 PREFIX_DELEGATION"
# User credentials for the dialin.
USERNAME=""
# Request an IPv6 address.
IPV6="true"
+# Use IPv6 prefix delegation.
+PREFIX_DELEGATION="false"
+
function _check() {
assert isset USERNAME
assert isset PASSWORD
assert port_exists ${PORT}
assert isset IPV6
+ assert isset PREFIX_DELEGATION
}
function _parse_cmdline() {
--port=*)
PORT=$(cli_get_val ${1})
;;
+ --prefix-delegation=*)
+ PREFIX_DELEGATION="$(cli_get_bool "${1}")"
+ ;;
--service-name=*)
SERVICE_NAME=$(cli_get_val ${1})
;;