Преглед изворни кода

odhcpd: add new experimental dhcp-server

SVN-Revision: 38428
Steven Barth пре 12 година
родитељ
комит
76dfe21a27

+ 50 - 0
package/network/services/odhcpd/Makefile

@@ -0,0 +1,50 @@
+#
+# Copyright (C) 2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=odhcpd
+PKG_VERSION:=2013-10-16
+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/odhcpd.git
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=05969d06380387fc6d093e80b142145c2a9c2293
+
+PKG_MAINTAINER:=Steven Barth <[email protected]>
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/odhcpd
+  SECTION:=net
+  CATEGORY:=Network
+  TITLE:=OpenWrt DHCP/DHCPv6(-PD)/RA Server & Relay
+  DEPENDS:=+libubox +libuci +libubus
+endef
+
+define Package/odhcpd/description
+ odhcpd is a daemon for serving and relaying IP management protocols to
+ configure clients and downstream routers. It tries to follow the RFC 6204
+ requirements for IPv6 home routers.
+ 
+ odhcpd provides server services for DHCP, RA, stateless and stateful DHCPv6,
+ prefix delegation and can be used to relay RA, DHCPv6 and NDP between routed
+ (non-bridged) interfaces in case no delegated prefixes are available.
+endef
+
+define Package/odhcpd/install
+	$(INSTALL_DIR) $(1)/usr/sbin/
+	$(INSTALL_BIN) $(PKG_BUILD_DIR)/odhcpd $(1)/usr/sbin/
+	$(INSTALL_BIN) ./files/odhcpd-update $(1)/usr/sbin/
+	$(INSTALL_DIR) $(1)/etc/init.d
+	$(INSTALL_BIN) ./files/odhcpd.init $(1)/etc/init.d/odhcpd
+endef
+
+$(eval $(call BuildPackage,odhcpd))

+ 3 - 0
package/network/services/odhcpd/files/odhcpd-update

@@ -0,0 +1,3 @@
+#!/bin/sh
+# Make dnsmasq reread hostfile
+killall -SIGHUP dnsmasq

+ 18 - 0
package/network/services/odhcpd/files/odhcpd.init

@@ -0,0 +1,18 @@
+#!/bin/sh /etc/rc.common
+
+START=35
+STOP=85
+USE_PROCD=1
+
+start_service() {
+	procd_open_instance
+	procd_set_param command /usr/sbin/odhcpd
+	procd_set_param respawn
+	procd_close_instance
+}
+
+service_triggers()
+{
+	procd_add_reload_trigger "dhcp"
+}
+