mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 08:51:13 +00:00
fdfffd0fbe
This patch adds support for manually configuring 6rd tunnels. It depends on the netifd patches I sent earlier, which add 6rd support. A basic interface configuration looks like: config interface 'wan6' option proto '6rd' option peeraddr '192.0.2.1' option ip6prefix '2123::' option ip6prefixlen '16' option ip4prefixlen '0' Where ip4prefixlen is optional and actually defaults to 0, which would use all bits of the IPv4 in the calculated IPv6 subnet. I believe it should be possible to configure a regular 6to4 tunnel using this, and that we may want to merge the two eventually, but there are some larger differences between the two at the moment: - 6rd addresses can be more difficult to calculate. My ISP, for example, has a setup with a v6 mask of 43 bits, and a v4 mask of 19. - 6to4 has support for configuring radvd. This is something we want, of course, but it seems best to deal with this in a separate patch. Just creating a new package looked like the quickest way to get this in. This work is based on the 6in4 package, and work by Stijn Tintel. Signed-off-by: Stéphan Kochen <stephan@kochen.nl> SVN-Revision: 32431
56 lines
1.2 KiB
Makefile
56 lines
1.2 KiB
Makefile
#
|
|
# Copyright (C) 2010-2012 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:=6rd
|
|
PKG_VERSION:=1
|
|
PKG_RELEASE:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/6rd
|
|
SECTION:=ipv6
|
|
CATEGORY:=IPv6
|
|
DEPENDS:=+kmod-ipv6 +kmod-sit
|
|
TITLE:=6rd configuration support
|
|
MAINTAINER:=Stéphan Kochen <stephan@kochen.nl>
|
|
PKGARCH:=all
|
|
endef
|
|
|
|
define Package/6rd/description
|
|
Provides support for 6rd tunnels in /etc/config/network.
|
|
Refer to http://wiki.openwrt.org/doc/uci/network for
|
|
configuration details.
|
|
endef
|
|
|
|
define Build/Prepare
|
|
mkdir -p $(PKG_BUILD_DIR)
|
|
$(CP) ./src/* $(PKG_BUILD_DIR)/
|
|
endef
|
|
|
|
define Build/Configure
|
|
endef
|
|
|
|
define Build/Compile
|
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
|
CC="$(TARGET_CC)" \
|
|
CFLAGS="$(TARGET_CFLAGS) -Wall" \
|
|
LDFLAGS="$(TARGET_LDFLAGS)"
|
|
endef
|
|
|
|
define Package/6rd/install
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/6rdcalc $(1)/usr/sbin/
|
|
$(INSTALL_DIR) $(1)/lib/netifd/proto
|
|
$(INSTALL_BIN) ./files/6rd.sh $(1)/lib/netifd/proto/6rd.sh
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
|
$(INSTALL_DATA) ./files/6rd.hotplug $(1)/etc/hotplug.d/iface/92-6rd
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,6rd))
|