diff --git a/package/network/ipv6/ds-lite/Makefile b/package/network/ipv6/ds-lite/Makefile index 4a3d1b38cd..79b49feec3 100644 --- a/package/network/ipv6/ds-lite/Makefile +++ b/package/network/ipv6/ds-lite/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ds-lite -PKG_VERSION:=4 +PKG_VERSION:=5 PKG_RELEASE:=1 PKG_LICENSE:=GPL-2.0 @@ -17,7 +17,7 @@ include $(INCLUDE_DIR)/package.mk define Package/ds-lite SECTION:=net CATEGORY:=Network - DEPENDS:=+kmod-ipv6 +kmod-ip6-tunnel + DEPENDS:=+kmod-ipv6 +kmod-ip6-tunnel +resolveip TITLE:=Dual-Stack Lite (DS-Lite) configuration support MAINTAINER:=Steven Barth PKGARCH:=all diff --git a/package/network/ipv6/ds-lite/files/dslite.sh b/package/network/ipv6/ds-lite/files/dslite.sh index a526c91d31..7b686390b3 100755 --- a/package/network/ipv6/ds-lite/files/dslite.sh +++ b/package/network/ipv6/ds-lite/files/dslite.sh @@ -25,6 +25,17 @@ proto_dslite_setup() { ( proto_add_host_dependency "$cfg" "::" "$tunlink" ) + peeraddr=$(resolveip -6 $peeraddr) + if [ -z "$peeraddr" ]; then + sleep 3 + peeraddr=$(resolveip -6 $peeraddr) + if [ -z "$peeraddr" ]; then + proto_notify_error "$cfg" "AFTR_DNS_FAIL" + return + fi + fi + peeraddr="${peeraddr%% *}" + [ -z "$ip6addr" ] && { local wanif="$tunlink" if [ -z "$wanif" ] && ! network_find_wan6 wanif; then