Replicated Yi Zhao's fix for re-adding ipv6 addresses to neutron-legacy
(review I9ff62023dbc29a88aec3c48af331c0a49a1270bb).
Previously, re-stacking failed with "File exists" for ipv6 addresses
on br-ex. With this change, the existing address is replaced on
br-ex with the appropriate address.
Change-Id: I6e6235132a34469f4e68b5bb3cf51ebdf01c83a2
... | ... |
@@ -610,7 +610,7 @@ function _move_neutron_addresses_route { |
610 | 610 |
# on configure we will also add $from_intf as a port on $to_intf, |
611 | 611 |
# assuming it is an OVS bridge. |
612 | 612 |
|
613 |
- local IP_ADD="" |
|
613 |
+ local IP_REPLACE="" |
|
614 | 614 |
local IP_DEL="" |
615 | 615 |
local IP_UP="" |
616 | 616 |
local DEFAULT_ROUTE_GW |
... | ... |
@@ -635,7 +635,7 @@ function _move_neutron_addresses_route { |
635 | 635 |
|
636 | 636 |
if [[ "$IP_BRD" != "" ]]; then |
637 | 637 |
IP_DEL="sudo ip addr del $IP_BRD dev $from_intf" |
638 |
- IP_ADD="sudo ip addr add $IP_BRD dev $to_intf" |
|
638 |
+ IP_REPLACE="sudo ip addr replace $IP_BRD dev $to_intf" |
|
639 | 639 |
IP_UP="sudo ip link set $to_intf up" |
640 | 640 |
if [[ "$af" == "inet" ]]; then |
641 | 641 |
IP=$(echo $IP_BRD | awk '{ print $1; exit }' | grep -o -E '(.*)/' | cut -d "/" -f1) |
... | ... |
@@ -645,7 +645,7 @@ function _move_neutron_addresses_route { |
645 | 645 |
|
646 | 646 |
# The add/del OVS port calls have to happen either before or |
647 | 647 |
# after the address is moved in order to not leave it orphaned. |
648 |
- $DEL_OVS_PORT; $IP_DEL; $IP_ADD; $IP_UP; $ADD_OVS_PORT; $ADD_DEFAULT_ROUTE; $ARP_CMD |
|
648 |
+ $DEL_OVS_PORT; $IP_DEL; $IP_REPLACE; $IP_UP; $ADD_OVS_PORT; $ADD_DEFAULT_ROUTE; $ARP_CMD |
|
649 | 649 |
fi |
650 | 650 |
} |
651 | 651 |
|