6relayd: Add stateful DHCPv6-support (IA_NA) * Add management_level option (0: set...
authorSteven Barth <cyrus@openwrt.org>
Fri, 17 May 2013 14:44:07 +0000 (14:44 +0000)
committerSteven Barth <cyrus@openwrt.org>
Fri, 17 May 2013 14:44:07 +0000 (14:44 +0000)
SVN-Revision: 36654

package/network/ipv6/6relayd/Makefile
package/network/ipv6/6relayd/files/6relayd-update [new file with mode: 0755]
package/network/ipv6/6relayd/files/6relayd.init

index 8d2e3224e5b883e7e77f879270954dee1c128d43..6e7df9f55e4d16ff80e05bf8cb2804fbfa6b9a53 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=6relayd
-PKG_VERSION:=2013-05-13
+PKG_VERSION:=2013-05-17
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_URL:=git://github.com/sbyx/6relayd.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=29454ff5fb3763fb61a672860de9dde62799f25b
+PKG_SOURCE_VERSION:=24aada7911a50c5fdb3517679095e54a581950aa
 
 PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
 
@@ -45,6 +45,7 @@ endef
 define Package/6relayd/install
        $(INSTALL_DIR) $(1)/usr/sbin/
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/6relayd $(1)/usr/sbin/
+       $(INSTALL_BIN) ./files/6relayd-update $(1)/usr/sbin/
        $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
        $(INSTALL_DATA) ./files/6relayd.hotplug $(1)/etc/hotplug.d/iface/30-6relay
        $(INSTALL_DIR) $(1)/etc/config
diff --git a/package/network/ipv6/6relayd/files/6relayd-update b/package/network/ipv6/6relayd/files/6relayd-update
new file mode 100755 (executable)
index 0000000..20980f2
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+# Make dnsmasq reread hostfile
+killall -SIGHUP dnsmasq
index f6d5183716df8a80da33b2d166e750e362cfafd6..b26d6c5e3dc7cec72754bbfd80eaff6dc6212c66 100644 (file)
@@ -1,11 +1,23 @@
 #!/bin/sh /etc/rc.common
 # Copyright (c) 2011-2012 OpenWrt.org
 START=80
+args=""
+
+add_static_lease() {
+       local cfg="$1"
+
+       local duid id
+       config_get duid "$cfg" duid
+       config_get id "$cfg" id
+
+       [ -n "$duid" -a -n "$id" ] && append args "-a$duid:$id"
+
+}
 
 start_6relayd() {
        local cfg="$1"
        local mode="$2"
-       local args=""
+       args="-l/tmp/hosts/6relayd,/usr/sbin/6relayd-update"
 
        SERVICE_DAEMONIZE=1
        SERVICE_WRITE_PID=1
@@ -79,6 +91,12 @@ start_6relayd() {
        config_get_bool compat_ula "$cfg" compat_ula 0
        [ "$compat_ula" -eq 1 ] && append args "-c"
 
+       local management_level
+       config_get management_level "$cfg" management_level
+       [ -n "$management_level" ] && append args "-m$management_level"
+
+       config_foreach add_static_lease lease
+
        [ "$ndp" = "relay" ] && append args "-N -s"
        [ "$rd" = "relay" ] && append args "-Rrelay"
        [ "$rd" = "server" ] && append args "-Rserver"