[PATCH 3/3] ipip6/ds-lite: Remove ds-lite and update ipip6 for compatibility

ms at missing233.com ms at missing233.com
Mon Feb 12 09:01:16 PST 2024


From: Arayuki Mago <ms at missing233.com>

- Remove ds-lite package.
- Add `PROVIDES:=ds-lite` to ipip6 for seamless transition.

Signed-off-by: Arayuki Mago <ms at missing233.com>
---
 package/network/ipv6/ds-lite/Makefile       |  42 ------
 package/network/ipv6/ds-lite/files/ipip6.sh | 138 --------------------
 package/network/ipv6/ipip6/Makefile         |   1 +
 package/network/ipv6/ipip6/files/ipip6.sh   |   5 +-
 4 files changed, 3 insertions(+), 183 deletions(-)
 delete mode 100644 package/network/ipv6/ds-lite/Makefile
 delete mode 100644 package/network/ipv6/ds-lite/files/ipip6.sh

diff --git a/package/network/ipv6/ds-lite/Makefile b/package/network/ipv6/ds-lite/Makefile
deleted file mode 100644
index a6ea315c88..0000000000
--- a/package/network/ipv6/ds-lite/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (C) 2013 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:=ds-lite
-PKG_RELEASE:=8
-PKG_LICENSE:=GPL-2.0
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/ds-lite
-  SECTION:=net
-  CATEGORY:=Network
-  DEPENDS:=@IPV6 +kmod-ip6-tunnel +resolveip
-  TITLE:=Dual-Stack Lite (DS-Lite) configuration support
-  MAINTAINER:=Steven Barth <steven at midlink.org>
-  PKGARCH:=all
-endef
-
-define Package/ds-lite/description
-Provides support for Dual-Stack Lite in /etc/config/network.
-Refer to http://wiki.openwrt.org/doc/uci/network for
-configuration details.
-endef
-
-define Build/Compile
-endef
-
-define Build/Configure
-endef
-
-define Package/ds-lite/install
-	$(INSTALL_DIR) $(1)/lib/netifd/proto
-	$(INSTALL_BIN) ./files/ipip6.sh $(1)/lib/netifd/proto/ipip6.sh
-endef
-
-$(eval $(call BuildPackage,ds-lite))
diff --git a/package/network/ipv6/ds-lite/files/ipip6.sh b/package/network/ipv6/ds-lite/files/ipip6.sh
deleted file mode 100644
index 5c2755df76..0000000000
--- a/package/network/ipv6/ds-lite/files/ipip6.sh
+++ /dev/null
@@ -1,138 +0,0 @@
-#!/bin/sh
-# ipip6.sh - IPv4-in-IPv6 tunnel backend for ipip6 and ds-lite
-# Copyright (c) 2013 OpenWrt.org
-
-[ -n "$INCLUDE_ONLY" ] || {
-	. /lib/functions.sh
-	. /lib/functions/network.sh
-	. ../netifd-proto.sh
-	init_proto "$@"
-}
-
-tnl_setup() {
-	local cfg="$1"
-	local iface="$2"
-	local tnl_type="$3"
-	local ip4addr="$4"
-	local ip4gateway="$5"
-	local link="$tnl_type-$cfg"
-	local remoteip6
-
-	local mtu ttl peeraddr ip6addr tunlink zone weakif encaplimit
-	json_get_vars mtu ttl peeraddr ip6addr tunlink zone weakif encaplimit
-
-	[ -z "$peeraddr" ] && {
-		proto_notify_error "$cfg" "MISSING_ADDRESS"
-		proto_block_restart "$cfg"
-		return
-	}
-
-	proto_add_host_dependency "$cfg" "::" "$tunlink"
-
-	remoteip6=$(resolveip -6 "$peeraddr")
-	if [ -z "$remoteip6" ]; then
-		sleep 3
-		remoteip6=$(resolveip -6 "$peeraddr")
-		if [ -z "$remoteip6" ]; then
-			proto_notify_error "$cfg" "AFTR_DNS_FAIL"
-			return
-		fi
-	fi
-
-	peeraddr=$(echo "$remoteip6" | head -n 1)
-
-	[ -z "$ip6addr" ] && {
-		local wanif="$tunlink"
-		if [ -z "$wanif" ] && ! network_find_wan6 wanif; then
-			proto_notify_error "$cfg" "NO_WAN_LINK"
-			return
-		fi
-
-		if ! network_get_ipaddr6 ip6addr "$wanif"; then
-			[ -z "$weakif" ] && weakif="lan"
-			if ! network_get_ipaddr6 ip6addr "$weakif"; then
-				proto_notify_error "$cfg" "NO_WAN_LINK"
-				return
-			fi
-		fi
-	}
-
-	proto_init_update "$link" 1
-	proto_add_ipv4_route "0.0.0.0" 0
-	proto_add_ipv4_address "$ip4addr" "" "" "$ip4gateway"
-
-	proto_add_tunnel
-	json_add_string mode ipip6
-	json_add_int mtu "${mtu:-1280}"
-	json_add_int ttl "${ttl:-64}"
-	json_add_string local "$ip6addr"
-	json_add_string remote "$peeraddr"
-	[ -n "$tunlink" ] && json_add_string link "$tunlink"
-	json_add_object "data"
-	  [ -n "$encaplimit" ] && json_add_string encaplimit "$encaplimit"
-	json_close_object
-	proto_close_tunnel
-
-	proto_add_data
-	[ -n "$zone" ] && json_add_string zone "$zone"
-
-	if [ "$tnl_type" = "ds" ]; then
-        json_add_array firewall
-            json_add_object ""
-                json_add_string type nat
-                json_add_string target ACCEPT
-            json_close_object
-        json_close_array
-    fi
-
-	proto_close_data
-
-	proto_send_update "$cfg"
-}
-
-init_config() {
-	no_device=1
-	available=1
-
-	proto_config_add_string "ip6addr"
-	proto_config_add_string "peeraddr"
-	proto_config_add_string "tunlink"
-	proto_config_add_int "mtu"
-	proto_config_add_int "ttl"
-	proto_config_add_string "encaplimit"
-	proto_config_add_string "zone"
-	proto_config_add_string "weakif"
-}
-
-proto_ipip6_init_config() {
-	init_config
-	proto_config_add_string "ip4ifaddr"
-}
-
-proto_ipip6_setup() {
-	local ip4ifaddr
-	json_get_vars ip4ifaddr
-	tnl_setup "$1" "$2" "ipip6" "$ip4ifaddr" "0.0.0.0"
-}
-
-proto_ipip6_teardown() {
-	local cfg="$1"
-}
-
-proto_dslite_init_config() {
-	init_config
-}
-
-proto_dslite_setup() {
-	tnl_setup "$1" "$2" "ds" "192.0.0.2" "192.0.0.1"
-}
-
-proto_dslite_teardown() {
-	local cfg="$1"
-}
-
-[ -n "$INCLUDE_ONLY" ] || {
-
-	add_protocol ipip6;
-	add_protocol dslite;
-}
diff --git a/package/network/ipv6/ipip6/Makefile b/package/network/ipv6/ipip6/Makefile
index 32d16181b0..37f79e1e91 100644
--- a/package/network/ipv6/ipip6/Makefile
+++ b/package/network/ipv6/ipip6/Makefile
@@ -21,6 +21,7 @@ define Package/ipip6
   DEPENDS:=@IPV6 +kmod-ip6-tunnel +resolveip
   TITLE:=IPv4 over IPv6 (RFC2473/DS-Lite) configuration support
   MAINTAINER:=missing233 <ms at missing233.com>
+  PROVIDES:=ds-lite
   PKGARCH:=all
 endef
 
diff --git a/package/network/ipv6/ipip6/files/ipip6.sh b/package/network/ipv6/ipip6/files/ipip6.sh
index 1fcf21adf5..7a206cbb99 100644
--- a/package/network/ipv6/ipip6/files/ipip6.sh
+++ b/package/network/ipv6/ipip6/files/ipip6.sh
@@ -134,7 +134,6 @@ proto_dslite_teardown() {
 }
 
 [ -n "$INCLUDE_ONLY" ] || {
-
-	add_protocol ipip6;
-	add_protocol dslite;
+	add_protocol ipip6
+	add_protocol dslite
 }
-- 
2.40.1.windows.1




More information about the openwrt-devel mailing list