diff options
author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-06-18 23:08:18 +0000 |
---|---|---|
committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-06-18 23:08:18 +0000 |
commit | fad2bfb9e150306f0eaee8c260e9e0f7103e400b (patch) | |
tree | 9eb34cd43a426fbec9a90d49ca9940ac05b20b50 /package/6rd/Makefile | |
parent | 2ffacfdd8e515324bcaf15f55fa2254c25549b8a (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/Makefile | 55 |
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)) |