#!/bin/sh . /lib/functions.sh . ../netifd-proto.sh init_proto "$@" proto_dhcpv6_init_config() { proto_config_add_string "reqaddress" proto_config_add_string "reqprefix" proto_config_add_string "clientid" proto_config_add_string "reqopts" proto_config_add_string "allow_slaaconly" } proto_dhcpv6_setup() { local config="$1" local iface="$2" local reqaddress reqprefix clientid reqopts allow_slaaconly json_get_vars reqaddress reqprefix clientid reqopts allow_slaaconly # Configure local opts="" [ -n "$reqaddress" ] && append opts "-N$reqaddress" [ -z "$reqprefix" -o "$reqprefix" = "auto" ] && reqprefix=0 [ "$reqprefix" != "no" ] && append opts "-P$reqprefix" [ -n "$clientid" ] && append opts "-c$clientid" [ "$allow_slaaconly" = "1" ] && append opts "-S" for opt in $reqopts; do append opts "-r$opt" done proto_export "INTERFACE=$config" proto_run_command "$config" odhcp6c \ -s /lib/netifd/dhcpv6.script \ $opts $iface } proto_dhcpv6_teardown() { local interface="$1" proto_kill_command "$interface" } add_protocol dhcpv6