summaryrefslogtreecommitdiff
path: root/package/6rd/Makefile
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-06-18 23:08:18 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-06-18 23:08:18 +0000
commitfad2bfb9e150306f0eaee8c260e9e0f7103e400b (patch)
tree9eb34cd43a426fbec9a90d49ca9940ac05b20b50 /package/6rd/Makefile
parent2ffacfdd8e515324bcaf15f55fa2254c25549b8a (diff)
Add new package for configuring 6rd tunnels.
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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32431 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/6rd/Makefile')
-rw-r--r--package/6rd/Makefile55
1 files changed, 55 insertions, 0 deletions
diff --git a/package/6rd/Makefile b/package/6rd/Makefile
new file mode 100644
index 0000000000..15b6e7a43e
--- /dev/null
+++ b/package/6rd/Makefile
@@ -0,0 +1,55 @@
+#
+# 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))