odhcpd: add a full and ipv6only variant (FS#1188)
Add an ipv6only variant providing server services for RA, stateful and stateless DHCPv6, prefix delegation and relay support for DHCPv6, NDP and RA. The full variant called odhcpd supports DHCPv4 server as before. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
This commit is contained in:
parent
9fe59abef8
commit
99ea749d37
1 changed files with 66 additions and 35 deletions
|
@ -9,6 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=odhcpd
|
PKG_NAME:=odhcpd
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
PKG_VERSION:=1.0
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL=$(LEDE_GIT)/project/odhcpd.git
|
PKG_SOURCE_URL=$(LEDE_GIT)/project/odhcpd.git
|
||||||
|
@ -19,56 +20,83 @@ PKG_MIRROR_HASH:=20ca7c78a38555b125337538f33a1cf0e79f0062259d387f3ada57019086e8e
|
||||||
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
|
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
|
||||||
|
PKG_INSTALL:=1
|
||||||
|
PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/cmake.mk
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
|
||||||
CMAKE_OPTIONS += -DUBUS=1
|
define Package/odhcpd/default
|
||||||
|
|
||||||
define Package/odhcpd
|
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=OpenWrt DHCP/DHCPv6(-PD)/RA Server & Relay
|
TITLE:=OpenWrt DHCPv6(-PD)/RA Server & Relay
|
||||||
DEPENDS:=+libubox +libuci +libubus +libnl-tiny
|
DEPENDS:=+libubox +libuci +libubus +libnl-tiny
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/odhcpd/config
|
define Package/odhcpd/default/description
|
||||||
menu "Configuration"
|
|
||||||
depends on PACKAGE_odhcpd
|
|
||||||
|
|
||||||
config PACKAGE_odhcpd_ext_cer_id
|
|
||||||
int
|
|
||||||
default 0
|
|
||||||
prompt "CER-ID Extension ID (0 = disabled)"
|
|
||||||
|
|
||||||
config PACKAGE_odhcpd_dhcpv4_support
|
|
||||||
bool
|
|
||||||
default n
|
|
||||||
prompt "Enable DHCPv4 server support"
|
|
||||||
endmenu
|
|
||||||
endef
|
|
||||||
|
|
||||||
ifneq ($(CONFIG_PACKAGE_odhcpd_ext_cer_id),0)
|
|
||||||
CMAKE_OPTIONS += -DEXT_CER_ID=$(CONFIG_PACKAGE_odhcpd_ext_cer_id)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_PACKAGE_odhcpd_dhcpv4_support),y)
|
|
||||||
CMAKE_OPTIONS += -DDHCPV4_SUPPORT=1
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
define Package/odhcpd/description
|
|
||||||
odhcpd is a daemon for serving and relaying IP management protocols to
|
odhcpd is a daemon for serving and relaying IP management protocols to
|
||||||
configure clients and downstream routers. It tries to follow the RFC 6204
|
configure clients and downstream routers. It tries to follow the RFC 6204
|
||||||
requirements for IPv6 home routers.
|
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
|
endef
|
||||||
|
|
||||||
|
define Package/odhcpd/default/config
|
||||||
|
menu "Configuration"
|
||||||
|
depends on PACKAGE_$(1)
|
||||||
|
|
||||||
|
config PACKAGE_odhcpd_$(2)_ext_cer_id
|
||||||
|
int
|
||||||
|
default 0
|
||||||
|
prompt "CER-ID Extension ID (0 = disabled)"
|
||||||
|
endmenu
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/odhcpd
|
||||||
|
$(call Package/odhcpd/default)
|
||||||
|
TITLE += and DHCPv4 server
|
||||||
|
VARIANT:=full
|
||||||
|
endef
|
||||||
|
|
||||||
|
Package/odhcpd/config=$(call Package/odhcpd/default/config,odhcpd,full)
|
||||||
|
|
||||||
|
define Package/odhcpd/description
|
||||||
|
$(call Package/odhcpd/default/description)
|
||||||
|
|
||||||
|
This is a variant providing server services for DHCPv4, 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-ipv6only
|
||||||
|
$(call Package/odhcpd/default)
|
||||||
|
VARIANT:=ipv6only
|
||||||
|
endef
|
||||||
|
|
||||||
|
Package/odhcpd-ipv6only/config=$(call Package/odhcpd/default/config,odhcpd-ipv6only,ipv6only)
|
||||||
|
|
||||||
|
define Package/odhcpd-ipv6only/description
|
||||||
|
$(call Package/odhcpd/default/description)
|
||||||
|
|
||||||
|
This is a variant providing server services for 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
|
||||||
|
|
||||||
|
CMAKE_OPTIONS += -DUBUS=1
|
||||||
|
|
||||||
|
ifeq ($(BUILD_VARIANT),full)
|
||||||
|
CMAKE_OPTIONS += -DDHCPV4_SUPPORT=1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id),0)
|
||||||
|
CMAKE_OPTIONS += -DEXT_CER_ID=$(CONFIG_PACKAGE_odhcpd_$(BUILD_VARIANT)_ext_cer_id)
|
||||||
|
endif
|
||||||
|
|
||||||
define Package/odhcpd/install
|
define Package/odhcpd/install
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin/
|
$(INSTALL_DIR) $(1)/usr/sbin/
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/odhcpd $(1)/usr/sbin/
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/odhcpd $(1)/usr/sbin/
|
||||||
$(INSTALL_BIN) ./files/odhcpd-update $(1)/usr/sbin/
|
$(INSTALL_BIN) ./files/odhcpd-update $(1)/usr/sbin/
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
$(INSTALL_BIN) ./files/odhcpd.init $(1)/etc/init.d/odhcpd
|
$(INSTALL_BIN) ./files/odhcpd.init $(1)/etc/init.d/odhcpd
|
||||||
|
@ -76,4 +104,7 @@ define Package/odhcpd/install
|
||||||
$(INSTALL_BIN) ./files/odhcpd.defaults $(1)/etc/uci-defaults
|
$(INSTALL_BIN) ./files/odhcpd.defaults $(1)/etc/uci-defaults
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
Package/odhcpd-ipv6only/install = $(Package/odhcpd/install)
|
||||||
|
|
||||||
$(eval $(call BuildPackage,odhcpd))
|
$(eval $(call BuildPackage,odhcpd))
|
||||||
|
$(eval $(call BuildPackage,odhcpd-ipv6only))
|
||||||
|
|
Loading…
Reference in a new issue