[source] map: delete map-t device when tearing down map interface
LEDE Commits
lede-commits at lists.infradead.org
Thu Jan 12 02:41:22 PST 2017
dedeckeh pushed a commit to source.git, branch master:
https://git.lede-project.org/bb8e9c51ab457b0bc010b47ceeab8c0e4f0d6a67
commit bb8e9c51ab457b0bc010b47ceeab8c0e4f0d6a67
Author: Hans Dedecker <dedeckeh at gmail.com>
AuthorDate: Thu Jan 12 09:53:32 2017 +0100
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 at gmail.com>
---
package/network/ipv6/map/Makefile | 2 +-
package/network/ipv6/map/files/map.sh | 12 +++++++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/package/network/ipv6/map/Makefile b/package/network/ipv6/map/Makefile
index 8cc1afe..9e51c40 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 98a493d..fe87282 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
}
More information about the lede-commits
mailing list