Browse code

Use ip route replace to avoid the existing route

Change-Id: I3cc82aca1e3fd26e3beb4baee1f11a9b45e8b9f7
Closes-Bug: 1467762

gong yong sheng authored on 2015/06/23 15:03:47
Showing 1 changed files
... ...
@@ -721,7 +721,7 @@ function start_neutron_agents {
721 721
                 sudo ip addr del $IP dev $PUBLIC_INTERFACE
722 722
                 sudo ip addr add $IP dev $OVS_PHYSICAL_BRIDGE
723 723
             done
724
-            sudo route add -net $FIXED_RANGE gw $NETWORK_GATEWAY dev $OVS_PHYSICAL_BRIDGE
724
+            sudo ip route replace $FIXED_RANGE via $NETWORK_GATEWAY dev $OVS_PHYSICAL_BRIDGE
725 725
         fi
726 726
     fi
727 727
 
... ...
@@ -1275,7 +1275,7 @@ function _neutron_configure_router_v4 {
1275 1275
             fi
1276 1276
             ROUTER_GW_IP=`neutron port-list -c fixed_ips -c device_owner | grep router_gateway | awk -F '"' -v subnet_id=$PUB_SUBNET_ID '$4 == subnet_id { print $8; }'`
1277 1277
             die_if_not_set $LINENO ROUTER_GW_IP "Failure retrieving ROUTER_GW_IP"
1278
-            sudo route add -net $FIXED_RANGE gw $ROUTER_GW_IP
1278
+            sudo ip route replace  $FIXED_RANGE via $ROUTER_GW_IP
1279 1279
         fi
1280 1280
         _neutron_set_router_id
1281 1281
     fi
... ...
@@ -1310,7 +1310,7 @@ function _neutron_configure_router_v6 {
1310 1310
 
1311 1311
             # Configure interface for public bridge
1312 1312
             sudo ip -6 addr add $ipv6_ext_gw_ip/$ipv6_cidr_len dev $ext_gw_interface
1313
-            sudo ip -6 route add $FIXED_RANGE_V6 via $IPV6_ROUTER_GW_IP dev $ext_gw_interface
1313
+            sudo ip -6 route replace $FIXED_RANGE_V6 via $IPV6_ROUTER_GW_IP dev $ext_gw_interface
1314 1314
         fi
1315 1315
         _neutron_set_router_id
1316 1316
     fi