summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2024-09-06 01:17:56 +0300
committerWilliam A. Kennington III <wak@google.com>2024-09-13 07:34:03 +0300
commit280f77127d1b42a5b72ef99e0c9d822ff2f932a3 (patch)
treeeb0b913748e8f0d659112c60a5de82985afb8610
parent770b25aa6ebe14aaf195953b2d153f36a00dbb7f (diff)
downloadopenbmc-280f77127d1b42a5b72ef99e0c9d822ff2f932a3.tar.xz
meta-google: gbmc-bridge: GW SRC latch gateway status
We don't want route changes to cause the networkd reloads for flapping default gateway status. We can assume that once a node has a default route outside the machine it will always be able to act as a router until powercycle (we don't dynamically reconfigure network uplinks). Tested: Subordinate nodes still do not become routes and nodes with uplinks are still correctly identified as routers. Fewer reloads are shown in the logs. Change-Id: I170add23a6a24b3e184809ca24d8d1920b42d266 Signed-off-by: William A. Kennington III <wak@google.com>
-rw-r--r--meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-gw-src.sh5
1 files changed, 5 insertions, 0 deletions
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 1d420c120e..56dd840284 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
@@ -31,6 +31,11 @@ gbmc_br_set_router() {
break
fi
done
+ # Make becoming a router sticky, if we ever have a default route we are
+ # always treated as a router. Otherwise, we end up reloading unnecessarily
+ # a number of times. The reload causes the network configuration to be
+ # reappplied with packet drops for a short amount of time.
+ [[ -z $defgw ]] && return
[[ $defgw == "$gbmc_br_gw_defgw" ]] && return
gbmc_br_gw_defgw="$defgw"