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 <dedeckeh@gmail.com>
This commit is contained in:
Hans Dedecker 2017-01-12 09:53:32 +01:00
parent 1ad30be982
commit bb8e9c51ab
2 changed files with 12 additions and 2 deletions

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=map PKG_NAME:=map
PKG_VERSION:=4 PKG_VERSION:=4
PKG_RELEASE:=5 PKG_RELEASE:=6
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk

View file

@ -192,7 +192,17 @@ proto_map_setup() {
proto_map_teardown() { proto_map_teardown() {
local cfg="$1" 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 rm -f /tmp/map-$cfg.rules
} }