default
endef
-define Package/6tunnel/conffiles
-/etc/config/6tunnel
-endef
-
define Package/6tunnel/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/6tunnel $(1)/usr/sbin/
- $(INSTALL_DIR) $(1)/etc/config
- $(INSTALL_DATA) ./files/6tunnel.conf $(1)/etc/config/6tunnel
- $(INSTALL_DATA) ./files/6bridge.conf $(1)/etc/config/6bridge
- $(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./files/6tunnel.init $(1)/etc/init.d/6tunnel
- $(INSTALL_BIN) ./files/6bridge.init $(1)/etc/init.d/6bridge
endef
$(eval $(call BuildPackage,6tunnel))
+++ /dev/null
-#!/bin/sh /etc/rc.common
-START=46
-STOP=46
-
-start_service() {
- local section="$1"
-
- include /lib/network
- scan_interfaces
- config_load /var/state/network
-
- config_get LAN lan ifname
- config_get WAN wan ifname
- config_get bridge "$section" bridge
-
- brctl addbr $bridge
- brctl addif $bridge $LAN
- brctl addif $bridge $WAN
- brctl setfd $bridge 0
- ebtables -t broute -A BROUTING -i $WAN -p ! ipv6 -j DROP
- ifconfig $bridge up
-}
-
-stop_service() {
- local section="$1"
-
- include /lib/network
- scan_interfaces
- config_load /var/state/network
-
- config_get LAN lan ifname
- config_get WAN wan ifname
- config_get bridge "$section" bridge
-
- ifconfig $bridge down
- ebtables -t broute -F
- brctl delif $bridge $WAN
- brctl delif $bridge $LAN
- brctl delbr $bridge
-}
-start() {
- if ! [ -f /proc/net/if_inet6 ]; then
- echo "IPv6 not enabled, install kmod-ipv6";
- exit 1;
- fi
- config_load "6bridge"
- config_foreach start_service 6bridge
-}
-
-stop () {
- config_load "6bridge"
- config_foreach stop_service 6bridge
-}
+++ /dev/null
-#!/bin/sh /etc/rc.common
-START=46
-STOP=46
-
-start_service() {
- local section="$1"
-
- include /lib/network
- scan_interfaces
- config_load /var/state/network
-
- config_get LAN lan ifname
- config_get tnlifname "$section" tnlifname
- config_get remoteip4 "$section" remoteip4
- config_get localip4 "$section" localip4
- config_get localip6 "$section" localip6
- config_get prefix "$section" prefix
-
- ip tunnel add $tnlifname mode sit remote $remoteip4 local $localip4 ttl 255
- ifconfig $tnlifname up
- ip addr add $localip6 dev $tnlifname
- ip route add ::/0 dev $tnlifname
- ip route add 2000::/3 dev $tnlifname
- ip -6 addr add $prefix dev $LAN
-}
-
-stop_service() {
- local section="$1"
-
- include /lib/network
- scan_interfaces
- config_load /var/state/network
-
- config_get LAN lan ifname
- config_get tnlifname "$section" tnlifname
- config_get remoteip4 "$section" remoteip4
- config_get localip4 "$section" localip4
- config_get localip6 "$section" localip6
- config_get prefix "$section" prefix
-
- ip -6 addr del $prefix dev $LAN
- ip -6 ro del 2000::/3 dev $tnlifname
- ip -6 ro del ::/0 dev $tnlifname
- ip addr del $localip6 dev $tnlifname
- ifconfig $tnlifname down
- ip tunnel del $tnlifname
-}
-start() {
- if ! [ -f /proc/net/if_inet6 ]; then
- echo "IPv6 not enabled, install kmod-ipv6";
- exit 1;
- fi
- if ! [ -x /sbin/ip ]; then
- echo "ip is required to setup the tunnel";
- exit 1;
- fi
- config_load "6tunnel"
- config_foreach start_service 6tunnel
-}
-
-stop () {
- config_load "6tunnel"
- config_foreach stop_service 6tunnel
-}