openwrtv4/package/6rd/Makefile
Jo-Philipp Wich fdfffd0fbe 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>

SVN-Revision: 32431
2012-06-18 23:08:18 +00:00

55 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))