mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-24 21:54:36 +02:00
properly keep track of bridged interfaces in the network state
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12004 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
6d19fadd65
commit
0448c53b0d
@ -64,6 +64,16 @@ add_vlan() {
|
||||
}
|
||||
}
|
||||
|
||||
# sort the device list, drop duplicates
|
||||
sort_list() {
|
||||
local arg="$*"
|
||||
(
|
||||
for item in $arg; do
|
||||
echo "$item"
|
||||
done
|
||||
) | sort -u
|
||||
}
|
||||
|
||||
# Create the interface, if necessary.
|
||||
# Return status 0 indicates that the setup_interface() call should continue
|
||||
# Return status 1 means that everything is set up already.
|
||||
@ -94,6 +104,13 @@ prepare_interface() {
|
||||
bridge)
|
||||
[ -x /usr/sbin/brctl ] && {
|
||||
ifconfig "br-$config" 2>/dev/null >/dev/null && {
|
||||
local newdevs=
|
||||
|
||||
config_get devices "$config" device
|
||||
for dev in $(sort_list "$devices" "$iface"); do
|
||||
append newdevs "$dev"
|
||||
done
|
||||
uci_set_state network "$config" device "$newdevs"
|
||||
$DEBUG brctl addif "br-$config" "$iface"
|
||||
# Bridge existed already. No further processing necesary
|
||||
} || {
|
||||
|
Loading…
Reference in New Issue
Block a user