meta-google: gbmc-bridge: Fix gw src routes

Only clear the route from the list if the change command succeeds. If we
always clear it, we sometimes race with addresses coming and going. When
this happens, we don't ever update the source route because the route is
gone from the table when the address gets re-added.

Change-Id: I1d8658d8f0e23d74a2bdaf96cab3e399abe2b53e
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-gw-src.sh b/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-gw-src.sh
index 9e01d4a..4bd3828 100644
--- a/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-gw-src.sh
+++ b/meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-gw-src.sh
@@ -55,8 +55,8 @@
   for route in "${!gbmc_br_gw_src_routes[@]}"; do
     [[ "$route" != *" src $gbmc_br_gw_src_ip "* ]] || continue
     echo "gBMC Bridge Updating GW source [$gbmc_br_gw_src_ip]: $route" >&2
-    ip route change $route src "$gbmc_br_gw_src_ip"
-    unset 'gbmc_br_gw_src_routes[$route]'
+    ip route change $route src "$gbmc_br_gw_src_ip" && \
+      unset 'gbmc_br_gw_src_routes[$route]'
   done
 }