Fabian Bläse
17bc1a7e62
Previously, some interfaces in the client ifname list have been kept. The actual reason for this is unknown, it might have been used for the bat0 interfaces. Filtering the interface list in this way might lead to interfaces being retained unintentionally, especially with the diverse naming of DSA interfaces. As it is not required anymore, remove the retention of some interfaces completely. Fixes: #207 Signed-off-by: Fabian Bläse <fabian@blaese.de> Reviewed-by: Robert Langhammer <rlanghammer@web.de> Reviewed-by: Johannes Kimmel <fff@bareminimum.eu>
71 lines
1.7 KiB
Plaintext
71 lines
1.7 KiB
Plaintext
# load board specific properties
|
|
BOARD="$(uci get board.model.name)"
|
|
. /etc/network.$BOARD
|
|
|
|
|
|
configure() {
|
|
# ipaddr
|
|
#remove old ipaddr
|
|
uci -q del network.client.ipaddr
|
|
#set new ipaddr
|
|
if ipaddr=$(uci -q get gateway.@client[0].ipaddr); then
|
|
for ip in $ipaddr; do
|
|
uci add_list network.client.ipaddr=$ip
|
|
done
|
|
else
|
|
echo "WARNING: No client ipaddr set!"
|
|
fi
|
|
#put interface routes from set addresses into fff table
|
|
uci set network.client.ip4table='fff'
|
|
|
|
# ip6addr
|
|
#remove old ip6addr
|
|
for ip in $(uci -q get network.client.ip6addr); do
|
|
if echo "$ip" | grep -v -e "fdff:" -e "fe80::1/64" > /dev/null; then
|
|
uci del_list network.client.ip6addr="$ip"
|
|
fi
|
|
done
|
|
#set new ip6addr
|
|
if ip6addr=$(uci -q get gateway.@client[0].ip6addr); then
|
|
for ip in $ip6addr; do
|
|
uci add_list network.client.ip6addr=$ip
|
|
done
|
|
else
|
|
echo "WARNING: No client ip6addr set!"
|
|
fi
|
|
#put interface routes from set addresses into fff table
|
|
uci set network.client.ip6table='fff'
|
|
|
|
# dhcp
|
|
uci -q del dhcp.client.start
|
|
uci -q del dhcp.client.limit
|
|
if dhcp_start=$(uci -q get gateway.@client[0].dhcp_start); then
|
|
uci set dhcp.client=dhcp
|
|
uci set dhcp.client.interface=client
|
|
uci set dhcp.client.start=$dhcp_start
|
|
uci set dhcp.client.limit=$(uci -q get gateway.@client[0].dhcp_limit)
|
|
else
|
|
echo "WARNING: No DHCP range start and/or limit set!"
|
|
fi
|
|
|
|
# set interface
|
|
#remove all eth interfaces
|
|
if vlan=$(uci -q get gateway.@client[0].vlan); then
|
|
uci set network.client.ifname="${SWITCHDEV}.$vlan"
|
|
elif iface=$(uci -q get gateway.@client[0].iface); then
|
|
uci set network.client.ifname="$iface"
|
|
else
|
|
echo "WARNING: No Interface for client specified"
|
|
fi
|
|
}
|
|
|
|
apply() {
|
|
uci commit network
|
|
uci commit dhcp
|
|
}
|
|
|
|
revert() {
|
|
uci revert network
|
|
uci revert dhcp
|
|
}
|