firmware/src/packages/fff/fff-network/files/etc/uci-defaults/22-network-base

81 lines
2.0 KiB
Bash

#!/bin/sh
# SPDX-License-Identifier: GPL-3.0-or-later
. /lib/functions/system.sh
. /lib/functions/fff/interfaces
. /lib/functions/fff/network
. /lib/functions/fff/meshmac
. /lib/functions/fff/routermac
. /lib/functions/fff/switchports
[ -n "$ROUTERMAC" ] || ROUTERMAC=$(get_mac_label)
## Clear possibly existing network configuration
> /etc/config/network
## Add basic network configuration
uci batch <<-__EOF__
set network.loopback='interface'
set network.loopback.ifname='lo'
set network.loopback.proto='static'
set network.loopback.ipaddr='127.0.0.1'
set network.loopback.netmask='255.0.0.0'
set network.client='interface'
set network.client.type='bridge'
set network.client.proto='static'
set network.client.auto='1'
set network.wan='interface'
set network.wan.proto='none'
set network.wan.ifname='eth2'
set network.wan4='interface'
set network.wan4.proto='dhcp'
set network.wan4.ifname='@wan'
set network.wan6='interface'
set network.wan6.proto='dhcpv6'
set network.wan6.reqprefix='no'
set network.wan6.sourcefilter='0'
set network.wan6.ifname='@wan'
__EOF__
## Add switch configuration
SWITCHHW=$(swconfig list | awk '{ print $4 }')
if [ -n "$SWITCHHW" ]; then
uci batch <<-__EOF__
set network.$SWITCHDEV=switch
set network.$SWITCHDEV.name=$SWITCHHW
set network.$SWITCHDEV.enable=1
set network.$SWITCHDEV.reset=1
set network.$SWITCHDEV.enable_vlan=1
__EOF__
fi
## Set router label mac address on client interface
if [ -n "$ROUTERMAC" ]; then
uci set network.client.macaddr=$ROUTERMAC
uci commit network
fi
## Set default ip addresses
prefix="fdff::/64"
addr_def=$(owipcalc "$prefix" add ::1)
addr_mac=$(owipcalc "$prefix" add "::$(ipMacSuffix "$ROUTERMAC")")
addr_eui=$(owipcalc "$prefix" add "::$(ipEUISuffix "$ROUTERMAC")")
uci batch <<-__EOF__
set network.globals=globals
set network.globals.ula_prefix=$prefix
add_list network.client.ip6addr=$addr_def
add_list network.client.ip6addr=$addr_mac
add_list network.client.ip6addr=$addr_eui
__EOF__
uci commit network
[ -s /etc/init.d/fff-uradvd ] && /etc/init.d/fff-uradvd restart
exit 0