|
|
@@ -2,13 +2,28 @@
|
|
|
uci -q get dhcp.odhcpd && exit 0
|
|
|
touch /etc/config/dhcp
|
|
|
|
|
|
+. /usr/share/libubox/jshn.sh
|
|
|
+
|
|
|
+json_load "$(cat /etc/board.json)"
|
|
|
+json_select network
|
|
|
+json_select lan
|
|
|
+json_get_vars protocol
|
|
|
+json_select ..
|
|
|
+json_select ..
|
|
|
+
|
|
|
+case "$protocol" in
|
|
|
+# only enable server mode on statically addressed lan ports
|
|
|
+"static") MODE=server ;;
|
|
|
+*) MODE=disabled ;;
|
|
|
+esac
|
|
|
+
|
|
|
uci batch <<EOF
|
|
|
set dhcp.odhcpd=odhcpd
|
|
|
set dhcp.odhcpd.maindhcp=0
|
|
|
set dhcp.odhcpd.leasefile=/tmp/hosts/odhcpd
|
|
|
set dhcp.odhcpd.leasetrigger=/usr/sbin/odhcpd-update
|
|
|
set dhcp.odhcpd.loglevel=4
|
|
|
-set dhcp.lan.dhcpv6=server
|
|
|
-set dhcp.lan.ra=server
|
|
|
+set dhcp.lan.dhcpv6=$MODE
|
|
|
+set dhcp.lan.ra=$MODE
|
|
|
commit dhcp
|
|
|
EOF
|