4 .
/lib
/functions
/network.sh
7 [ "$ACTION" == "ifup" -o "$ACTION" == "ifdown" ] ||
exit 1
8 [ -n "$INTERFACE" ] ||
exit 2
10 if [ "$ACTION" == "ifup" ]; then
11 [ -n "$DEVICE" ] ||
exit 3
14 mwan3_set_connected_iptables
17 config_get enabled
$INTERFACE enabled
0
18 [ "$enabled" == "1" ] ||
exit 0
20 if [ "$ACTION" == "ifup" ]; then
21 config_get family
$INTERFACE family ipv4
22 if [ "$family" = "ipv4" ]; then
23 ubus call network.interface.
${INTERFACE}_4 status
&>/dev
/null
24 if [ "$?" -eq "0" ]; then
25 network_get_gateway gateway
${INTERFACE}_4
27 network_get_gateway gateway
$INTERFACE
29 elif [ "$family" = "ipv6" ]; then
30 ubus call network.interface.
${INTERFACE}_6 status
&>/dev
/null
31 if [ "$?" -eq "0" ]; then
32 network_get_gateway6 gateway
${INTERFACE}_6
34 network_get_gateway6 gateway
${INTERFACE}
38 [ -n "$gateway" ] ||
exit 9
41 $LOG notice
"$ACTION interface $INTERFACE (${DEVICE:-unknown})"
45 mwan3_set_general_rules
46 mwan3_set_general_iptables
47 mwan3_create_iface_rules
$INTERFACE $DEVICE
48 mwan3_create_iface_iptables
$INTERFACE $DEVICE
49 mwan3_create_iface_route
$INTERFACE $DEVICE
50 mwan3_track
$INTERFACE $DEVICE
51 mwan3_set_policies_iptables
53 mwan3_flush_conntrack
$INTERFACE $DEVICE "ifup"
56 mwan3_delete_iface_rules
$INTERFACE
57 mwan3_delete_iface_iptables
$INTERFACE
58 mwan3_delete_iface_route
$INTERFACE
59 mwan3_delete_iface_ipset_entries
$INTERFACE
60 mwan3_track_signal
$INTERFACE $DEVICE
61 mwan3_set_policies_iptables
63 mwan3_flush_conntrack
$INTERFACE $DEVICE "ifdown"