Only configure DHCP for real interfaces
Updates the generate-interfaces-file.sh script in the dhcp-all-interfaces element so that we only add interfaces that have real MAC addresses. The generate-interfaces-file.sh script is run early enough in the boot process (before OVS is initialized) that this isn't usually a problem unless you execute it manually by hand after booting. Then you'll end up with network/DHCP configs for all of your OVS bridges, etc. This patch avoids configuring all of the virtual interfaces which have generated MAC addresses. Change-Id: I7a705084aa5b11305ac0ec5ca37fd2e87a2ae8b7 Closes-bug: 1239479
This commit is contained in:
parent
1e04079d4f
commit
f58f859303
@ -3,8 +3,8 @@ Autodetect network interfaces during boot and configure them for DHCP
|
|||||||
The rationale for this is that we are likely to require multiple
|
The rationale for this is that we are likely to require multiple
|
||||||
network interfaces for use cases such as baremetal and there is no way
|
network interfaces for use cases such as baremetal and there is no way
|
||||||
to know ahead of time which one is which, so we will simply run a
|
to know ahead of time which one is which, so we will simply run a
|
||||||
DHCP client on all interfaces (except lo) that are visible on the first
|
DHCP client on all interfaces with real MAC addresses (except lo) that
|
||||||
boot.
|
are visible on the first boot.
|
||||||
|
|
||||||
The script /usr/local/sbin/generate-interfaces-file.sh will be called
|
The script /usr/local/sbin/generate-interfaces-file.sh will be called
|
||||||
early in each boot and will scan available network interfaces and
|
early in each boot and will scan available network interfaces and
|
||||||
|
@ -51,10 +51,14 @@ function disable_interface() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for interface in $(ls /sys/class/net | grep -v ^lo$) ; do
|
for interface in $(ls /sys/class/net | grep -v ^lo$) ; do
|
||||||
|
MAC_ADDR_TYPE="$(cat /sys/class/net/${interface}/addr_assign_type)"
|
||||||
|
|
||||||
echo -n "Inspecting interface: $interface..."
|
echo -n "Inspecting interface: $interface..."
|
||||||
if ifquery $interface >/dev/null 2>&1 ; then
|
if ifquery $interface >/dev/null 2>&1 ; then
|
||||||
echo "Has config, skipping."
|
echo "Has config, skipping."
|
||||||
else
|
elif [ "$MAC_ADDR_TYPE" != "0" ]; then
|
||||||
|
echo "Device has generated MAC, skipping."
|
||||||
|
else
|
||||||
ip link set dev $interface up >/dev/null 2>&1
|
ip link set dev $interface up >/dev/null 2>&1
|
||||||
HAS_LINK="$(get_if_link $interface)"
|
HAS_LINK="$(get_if_link $interface)"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user