blob: e13c7aeabc6e177b50504a81f9faea71cc3c50a1 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001#!/bin/sh
2path_sh=`nv get path_sh`
3. $path_sh/global.sh
4echo "Info: landev_updown.sh $1 $2 start" >> $test_log
5lan_enable=`nv get LanEnable`
6
7xgw_lan()
8{
9 . $path_sh/xjz_init.sh
10 xgwlan=`nv get lan_name`
11 real_gw=`nv get lan_ipaddr`
12 real_nm=`nv get lan_netmask`
13 ifconfig $xgwlan down
14 ifconfig $xgwlan $real_gw netmask $real_nm up
15 if [ $? -ne 0 ];then
16 echo "Error: ifconfig $xgwlan $real_gw netmask $real_nm up failed." >> $test_log
17 fi
18
19 echo "stop gtp_proxy .... " >> $test_log
20 killall -9 gtp_proxy
21 gtp_proxy &
22 echo "start gtp_proxy .... " >> $test_log
23}
24
25landev_up()
26{
27 if [ "-$1" == "-ethwan" ]; then
28 (router_msg_proxy del_timer ethwan 1>> $test_log 2>&1 || echo "Error: router_msg_proxy del_timer failed." >> $test_log) &
29 fi
30 landev_name=`nv get $1`
31 if [ "-$lan_enable" == "-2" ]; then
32
33 ip=`nv get lan_ipaddr`
34 nm=`nv get lan_netmask`
35 ifconfig $landev_name $ip netmask $nm up 2>>$test_log
36 if [ $? -ne 0 ];then
37 echo "Error: ifconfig $lan_if $ip netmask $nm failed." >> $test_log
38 fi
39
40 else
xf.lidf7f8ba2024-09-12 23:53:34 -070041 br_name=`nv get lan_name_$landev_name`
42 if [ "x$br_name" == "x" ]; then
43 br_name=`nv get lan_name`
44 fi
lh9ed821d2023-04-07 01:36:19 -070045 ifconfig $landev_name down 2>>$test_log
46 if [ $? -ne 0 ];then
47 echo "Error: ifconfig $landev_name down failed." >> $test_log
48 fi
49 ifconfig $landev_name up 2>>$test_log
50 if [ $? -ne 0 ];then
51 echo "Error: ifconfig $landev_name up failed." >> $test_log
52 fi
53 brctl addif $br_name $landev_name
54
55 fi
56}
57
58landev_down()
59{
60 landev_name=`nv get $1`
61 ifconfig $landev_name down 2>>$test_log
62 if [ $? -ne 0 ];then
63 echo "Error: ifconfig $landev_name down failed." >> $test_log
64 fi
65 if [ "-$lan_enable" == "-1" ]; then
xf.lidf7f8ba2024-09-12 23:53:34 -070066 br_name=`nv get lan_name_$landev_name`
67 if [ "x$br_name" == "x" ]; then
68 br_name=`nv get lan_name`
69 fi
lh9ed821d2023-04-07 01:36:19 -070070 brctl delif $br_name $landev_name 2>>$test_log
71 if [ $? -ne 0 ];then
72 echo "Error: brctl delif $br_name $landev_name" >> $test_log
73 fi
74 fi
75 if [ "-$lan_enable" == "-2" ]; then
76 ps > ${path_tmp}/landev_updown.sh.$$
77 udhcpd_pid=`awk 'BEGIN{temp1="'"${landev_name}"'";temp2="'dhcpd'"}{if(index($0,temp1)>0 && index($0,temp2)>0){print $1}}' ${path_tmp}/landev_updown.sh.$$`
78 rm -f ${path_tmp}/landev_updown.sh.$$
79 [ -n "$udhcpd_pid" ] && { kill $udhcpd_pid; echo "Info: kill udhcpd $udhcpd_pid " >> $test_log ; }
80 fi
81}
82
83get_cid()
84{
85 ps_ext_cid=$1
86 c_id=${ps_ext_cid##ps_ext}
87}
88
89ps_ext_up()
90{
91 landev_name=`nv get $1`
92 get_cid $1
93 landev_name=`nv get $1`
94 get_cid $1
95 br="br"$c_id
96 br_ip6=`nv get $br"_ipv6_ip"`
97 up_flag="0"
98 if [ "-$br_ip6" != "-" -a "-$br_ip6" != "-::" ]; then
99 up_flag="1"
100 fi
101 br_ip=`nv get $br"_ip"`
102 if [ "-$br_ip" != "-" -a "-$br_ip" != "-0.0.0.0" ]; then
103 up_flag="1"
104 fi
105 if [ "-$up_flag" == "-1" ]; then
106 ifconfig $landev_name up 2>>$test_log
107 if [ $? -ne 0 ];then
108 echo "Error: ifconfig $landev_name up failed." >> $test_log
109 fi
110 #for usb remove netlink
111 brctl addif $br $landev_name
112 fi
113}
114
115ps_ext_down()
116{
117 landev_name=`nv get $1`
118 ifconfig $landev_name down 2>>$test_log
119 if [ $? -ne 0 ];then
120 echo "Error: ifconfig $landev_name down failed." >> $test_log
121 fi
122}
123
124if [ "-$1" == "-ethlan" -o "-$1" == "-wifilan" -o "-$1" == "-wifilan2" -o "-$1" == "-usblan" -o "-$1" == "-ethwan" ]; then
125 if [ "-$2" == "-up" ]; then
126 landev_up $1
127 else
128 landev_down $1
129 fi
130else #ps_ext
131 ps_ext_state=`nv get $1"_pdpstate"`
132 if [ "-$ps_ext_state" == "-working" ]; then
133 if [ "-$2" == "-up" ]; then
134 ps_ext_up $1
135 else
136 ps_ext_down $1
137 fi
138 fi
139fi