[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/app/Script/scripts/psext_down_ipv6.sh b/ap/app/Script/scripts/psext_down_ipv6.sh
new file mode 100755
index 0000000..2ce0d21
--- /dev/null
+++ b/ap/app/Script/scripts/psext_down_ipv6.sh
@@ -0,0 +1,84 @@
+#!/bin/sh
+test_log=`nv get telog_path`
+if [ "$test_log" == "" ]; then
+	test_log=`nv get path_log`"te.log"
+fi
+echo "Info: psext_updown_ipv6.sh $ps_if $eth_if $br_if start" >> $test_log
+
+c_id=$1
+ps_if=`nv get pswan`$c_id
+eth_if=`nv get "ps_ext"$c_id`
+br_if="br"$c_id
+
+#删除相应的ipv6路由规则
+linkdown_route_set()
+{
+    br_ip=`nv get $br_if"_ipv6_ip"`
+    ps_ip=`nv get $ps_if"_ipv6_ip"`
+    pdp_ip=`nv get ipv6_wan_ipaddr`
+
+    ip6tables -t filter -D FORWARD -p icmpv6 --icmpv6-type 135 -j DROP
+	
+    marknum=`expr $c_id + 50`
+    rt_num=`expr $c_id + 150`
+    ip -6 rule del from $pdp_ip/64 fwmark $marknum table $rt_num
+    ip6tables -t mangle -D PREROUTING -i $br_if -j MARK --set-mark $marknum
+    ip -6 route del default dev $ps_if table $rt_num
+
+    marknum=`expr $c_id + 60`
+    rt_num=`expr $c_id + 160`
+    ip -6 rule del to $pdp_ip/64 fwmark $marknum table $rt_num
+    ip6tables -t mangle -D PREROUTING -i $ps_if -j MARK --set-mark $marknum
+    ip -6 route del default dev $br_if table $rt_num
+
+    ip -6 addr del $br_ip/126 dev $br_if
+	#if [ $? -ne 0 ];then
+	#    echo "Error: ip -6 addr del $eth_ip/126 dev $eth_if failed." >> $test_log
+    #fi
+    ip -6 addr del $ps_ip/126 dev $ps_if
+	#if [ $? -ne 0 ];then
+	#    echo "Error: ip -6 addr del $ps_ip/126 dev $ps_if  failed." >> $test_log
+    #fi
+    ip -6 route del default
+	#if [ $? -ne 0 ];then
+	#    echo "Error: ip -6 route del default failed." >> $test_log
+    #fi
+
+    ifconfig $br_if down 2>>$test_log
+	if [ $? -ne 0 ];then
+        echo "Error: ifconfig $br_if down failed." >> $test_log
+    fi
+    ifconfig $ps_if down 2>>$test_log
+	if [ $? -ne 0 ];then
+	    echo "Error: ifconfig $ps_if down failed." >> $test_log
+    fi
+
+    echo 0 > /proc/sys/net/ipv6/conf/$ps_if/accept_ra
+	
+    #reset nv 
+    nv set $br_if"_ipv6_ip"="::"
+    nv set $ps_if"_ipv6_ip"="::"
+    nv set $ps_if"_ipv6_pridns_auto"="::"
+    nv set $ps_if"_ipv6_secdns_auto"="::"
+    nv set $ps_if"_ipv6_gw"="::"
+    nv set $ps_if"_ipv6_interface_id"="::"
+    nv set $ps_if"_ipv6_prefix_info"="::"
+    nv set $ps_if"_dhcpv6_start"="::"
+    nv set $ps_if"_dhcpv6_end"="::"
+
+    #适配页面等其他地方使用老NV
+    nv set ipv6_wan_ipaddr="::"
+	nv set $ps_if"_ipv6_state"="dead"
+	
+	local_ipv6_addr_nv="$ps_if""_local_ipv6_addr"
+	nv set $local_ipv6_addr_nv="::"
+
+    #ndp_kill
+}
+
+tc_tbf.sh down $c_id
+linkdown_route_set
+brctl delif $br_if $eth_if
+ifconfig $eth_if down
+#echo "" > /etc/resolv.conf
+echo "Info: psext_down_ipv6.sh leave" >> $test_log