netmode: set gateway by routing instance

This commit is contained in:
Suvendhu Hansa 2026-01-16 12:23:53 +05:30 committed by Vivek Dutta
parent 42f891016e
commit 68d34bf1ec

View file

@ -42,12 +42,42 @@ l3_network_config() {
uci -q set network.wan.device="$wandev"
uci -q set network.wan.proto='static'
uci -q set network.wan.ipaddr="$NETMODE_ipaddr"
uci -q set network.wan.gateway="$NETMODE_gateway"
uci -q set network.wan.netmask="$NETMODE_netmask"
uci -q delete network.wan.disabled
uci -q delete network.wan.username
uci -q delete network.wan.password
# configure default gateway for wan
if [ -n "${NETMODE_gateway}" ]; then
routes=$(uci show network | grep '=route' | cut -d'=' -f 1 | cut -d'.' -f2)
for route in ${routes}; do
gw=$(uci -q get network."${route}".gateway)
if [ -z "${gw}" ]; then
continue
fi
target=$(uci -q get network."${route}".target)
mask=$(uci -q get network."${route}".netmask)
intf=$(uci -q get network."${route}".interface)
if [ "${intf}" != "wan" ]; then
continue;
fi
if ( [ -z "${target}" ] || [ "${target}" = "0.0.0.0" ] ) && ( [ -z "${target}" ] || [ "${target}" = "0.0.0.0" ] ); then
uci -q delete network."${route}"
fi
done
uci -q set network.default_route=route
uci -q set network.default_route.disabled='0'
uci -q set network.default_route.table='254'
uci -q set network.default_route.gateway="$NETMODE_gateway"
uci -q set network.default_route.interface='wan'
uci -q set network.default_route.target='0.0.0.0'
uci -q set network.default_route.netmask='0.0.0.0'
fi
uci -q delete network.wan6
# Delete all VLAN sections; new ones will be created in next function if required