From f0df2006af4b7d365c313f6028addc80467cb10f Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Sun, 13 Jan 2013 17:35:09 +0000 Subject: odhcp6c: Add preliminary proto-handler SVN-Revision: 35135 --- package/network/ipv6/odhcp6c/files/dhcpv6.sh | 48 ++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 package/network/ipv6/odhcp6c/files/dhcpv6.sh (limited to 'package/network/ipv6/odhcp6c/files/dhcpv6.sh') diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh new file mode 100755 index 0000000000..14b6fb63b4 --- /dev/null +++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh @@ -0,0 +1,48 @@ +#!/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_dhcpv6_setup() { + local config="$1" + local iface="$2" + + local reqaddress reqprefix clientid reqopts + json_get_vars reqaddress reqprefix clientid reqopts + + + # 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" + + 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 + -- cgit v1.2.3