diff options
-rw-r--r-- | rc.inet1 | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -160,8 +160,12 @@ br_open() { /sbin/ip link set dev ${IFNAME[$1]} type bridge $IFOPT fi done <<<"${IFOPTS[$i]/%|*([[:blank:]])}|" # The | on the end is required. - debug_log "/sbin/ip link set dev ${IFNAME[$1]} up" - /sbin/ip link set dev ${IFNAME[$1]} up + # Don't bring up the interface if it will be brought up later during IP configuration. + # This prevents a situation where SLAAC takes a while to apply if the interface is already up. + if [ -z "${IPADDRS[$1]}" ] && [ -z "${IP6ADDRS[$1]}" ] && [ -z "${IPADDR[$1]}" ] && [ "${USE_DHCP[$1]}" != "yes" ] && [ "${USE_DHCP6[$1]}" != "yes" ] && [ "${USE_SLAAC[$1]}" != "yes" ]; then + debug_log "/sbin/ip link set dev ${IFNAME[$1]} up" + /sbin/ip link set dev ${IFNAME[$1]} up + fi } # Function to disassemble a bridge interface. |