This helps fix an issue where an IPv4 address is moved from an interface
and you lose your SSH session.
Change-Id: Idf37ccbaa6f615fcc714d49c3f0c00c893f56021
| ... | ... |
@@ -859,6 +859,13 @@ function _move_neutron_addresses_route {
|
| 859 | 859 |
|
| 860 | 860 |
IP_BRD=$(ip -f $af a s dev $from_intf scope global primary | grep inet | awk '{ print $2, $3, $4; exit }')
|
| 861 | 861 |
|
| 862 |
+ if [[ "$af" == "inet" ]]; then |
|
| 863 |
+ IP=$(echo $IP_BRD | awk '{ print $1; exit }' | grep -o -E '(.*)/' | cut -d "/" -f1)
|
|
| 864 |
+ ARP_CMD="arping -A -c 3 -w 4.5 -I $to_intf $IP " |
|
| 865 |
+ else |
|
| 866 |
+ ARP_CMD="" |
|
| 867 |
+ fi |
|
| 868 |
+ |
|
| 862 | 869 |
if [ "$DEFAULT_ROUTE_GW" != "" ]; then |
| 863 | 870 |
ADD_DEFAULT_ROUTE="sudo ip -f $af r replace default via $DEFAULT_ROUTE_GW dev $to_intf" |
| 864 | 871 |
fi |
| ... | ... |
@@ -879,7 +886,7 @@ function _move_neutron_addresses_route {
|
| 879 | 879 |
|
| 880 | 880 |
# The add/del OVS port calls have to happen either before or |
| 881 | 881 |
# after the address is moved in order to not leave it orphaned. |
| 882 |
- $DEL_OVS_PORT; $IP_DEL; $IP_ADD; $IP_UP; $ADD_OVS_PORT; $ADD_DEFAULT_ROUTE |
|
| 882 |
+ $DEL_OVS_PORT; $IP_DEL; $IP_ADD; $IP_UP; $ADD_OVS_PORT; $ADD_DEFAULT_ROUTE; $ARP_CMD |
|
| 883 | 883 |
fi |
| 884 | 884 |
} |
| 885 | 885 |
|