4 .
/lib
/functions
/network.sh
9 config_get enabled
$INTERFACE enabled
0
10 [ "$enabled" == "1" ] ||
exit 0
12 [ "$ACTION" == "ifup" -o "$ACTION" == "ifdown" ] ||
exit 1
13 [ -n "$INTERFACE" ] ||
exit 2
15 if [ "$ACTION" == "ifup" ]; then
16 [ -n "$DEVICE" ] ||
exit 3
19 [ -x /usr
/bin
/ip
] ||
exit 4
20 [ -x /usr
/sbin
/ipset
] ||
exit 5
21 [ -x /usr
/sbin
/iptables
] ||
exit 6
22 [ -x /usr
/sbin
/ip6tables
] ||
exit 7
23 [ -x /usr
/bin
/logger
] ||
exit 8
25 config_get family
$INTERFACE family ipv4
27 if [ "$family" == "ipv4" ]; then
28 network_get_gateway gateway
$INTERFACE
29 elif [ "$family" == "ipv6" ]; then
30 network_get_gateway6 gateway
$INTERFACE
33 [ -n "$gateway" ] ||
exit 9
35 $LOG notice
"$ACTION interface $INTERFACE (${DEVICE:-unknown})"
37 mwan3_set_connected_iptables
41 mwan3_set_general_rules
42 mwan3_set_general_iptables
43 mwan3_create_iface_rules
$INTERFACE $DEVICE
44 mwan3_create_iface_iptables
$INTERFACE $DEVICE
45 mwan3_create_iface_route
$INTERFACE $DEVICE
46 mwan3_track
$INTERFACE $DEVICE
47 mwan3_set_policies_iptables
49 mwan3_flush_conntrack
$INTERFACE $DEVICE "ifup"
52 mwan3_delete_iface_rules
$INTERFACE
53 mwan3_delete_iface_iptables
$INTERFACE
54 mwan3_delete_iface_route
$INTERFACE
55 mwan3_delete_iface_ipset_entries
$INTERFACE
56 mwan3_set_policies_iptables
58 mwan3_flush_conntrack
$INTERFACE $DEVICE "ifdown"