openvswitch: Move IP address from physical device to bridge

A physical ethernet device that is part of an Open vSwitch bridge
should not have an IP address. This patch restores the IP address
by moving it to the bridge itself.

Change-Id: I9100a65ecfbb0433a55449178d06879509d01987
This commit is contained in:
Hyunsun Moon 2017-10-25 09:42:27 +09:00
parent bc2bea5ee2
commit 27aadd67e0

View File

@ -47,6 +47,12 @@ if [ -n "${external_bridge}" ] ; then
# add external interface to the bridge
ovs-vsctl --no-wait --may-exist add-port $external_bridge $external_interface
ip link set dev $external_interface up
ip link set dev $external_bridge up
# move ip address from physical interface to the bridge
for IP in $(ip addr show dev $external_interface | grep ' inet ' | awk '{print $2}'); do
ip addr add $IP dev $external_bridge
ip addr del $IP dev $external_interface
done
fi
fi
@ -58,6 +64,12 @@ if [ -n "{{- $br -}}" ] ; then
if [ -n "{{- $phys -}}" ] ; then
ovs-vsctl --no-wait --may-exist add-port "{{ $br }}" "{{ $phys }}"
ip link set dev "{{ $phys }}" up
ip link set dev "{{ $br }}" up
# move ip address from physical interface to the bridge
for IP in $(ip addr show dev "{{ $phys }}" | grep ' inet ' | awk '{print $2}'); do
ip addr add $IP dev "{{ $br }}"
ip addr del $IP dev "{{ $phys }}"
done
fi
fi
{{- end }}