diff options
author | Hans Dedecker <dedeckeh@gmail.com> | 2017-01-12 09:53:32 +0100 |
---|---|---|
committer | Hans Dedecker <dedeckeh@gmail.com> | 2017-01-12 11:41:11 +0100 |
commit | bb8e9c51ab457b0bc010b47ceeab8c0e4f0d6a67 (patch) | |
tree | 49c4172a3765f7713849ca3820c5400eda867bde /package/network/ipv6/map/files | |
parent | 1ad30be982e953a36e4677d3022248a962f039b9 (diff) | |
download | upstream-bb8e9c51ab457b0bc010b47ceeab8c0e4f0d6a67.tar.gz upstream-bb8e9c51ab457b0bc010b47ceeab8c0e4f0d6a67.tar.bz2 upstream-bb8e9c51ab457b0bc010b47ceeab8c0e4f0d6a67.zip |
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>
Diffstat (limited to 'package/network/ipv6/map/files')
-rwxr-xr-x | package/network/ipv6/map/files/map.sh | 12 |
1 files changed, 11 insertions, 1 deletions
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 } |