From: Hans Dedecker Date: Thu, 12 Jan 2017 08:53:32 +0000 (+0100) Subject: map: delete map-t device when tearing down map interface X-Git-Tag: v17.01.0-rc1~128 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=bb8e9c51ab457b0bc010b47ceeab8c0e4f0d6a67 map: delete map-t device when tearing down map interface Delete the map-t device when tearing down the map-t interface; as such there's no conflict when the map-t interface comes up again when trying to add the map-t device as the map-t device was still present (Can not add: device 'map-wan6_4' already exists!). Only call ifdown in teardown for map-e and lw6o4 map interfaces types in order to suppress the trace "wan6_4 (6652): Interface wan6_4_ not found" Signed-off-by: Hans Dedecker --- diff --git a/package/network/ipv6/map/Makefile b/package/network/ipv6/map/Makefile index 8cc1afeda1..9e51c40531 100644 --- a/package/network/ipv6/map/Makefile +++ b/package/network/ipv6/map/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=map PKG_VERSION:=4 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_LICENSE:=GPL-2.0 include $(INCLUDE_DIR)/package.mk diff --git a/package/network/ipv6/map/files/map.sh b/package/network/ipv6/map/files/map.sh index 98a493dd57..fe872828c3 100755 --- a/package/network/ipv6/map/files/map.sh +++ b/package/network/ipv6/map/files/map.sh @@ -192,7 +192,17 @@ proto_map_setup() { proto_map_teardown() { local cfg="$1" - ifdown "${cfg}_" + local link="map-$cfg" + + json_get_var type type + + [ -z "$type" ] && type="map-e" + + case "$type" in + "map-e"|"lw4o6") ifdown "${cfg}_" ;; + "map-t") [ -f "/proc/net/nat46/control" ] && echo del $link > /proc/net/nat46/control ;; + esac + rm -f /tmp/map-$cfg.rules }