summaryrefslogtreecommitdiff
path: root/zebra/interface.h
diff options
context:
space:
mode:
authorStephen Worley <sworley@nvidia.com>2022-01-25 13:49:05 -0500
committerStephen Worley <sworley@nvidia.com>2022-03-09 18:02:42 -0500
commit0dcd8506f2dac65bcac06f79a1660d809b329340 (patch)
tree29efc49d7c035f863e37459bf206c1960fef8b31 /zebra/interface.h
parent71ef5cbb9563e09a76996448a7f34cec37ed3c15 (diff)
zebra: clear protodown_rc on shutdown and sweep
Add functionality to clear any reason code set on shutdown of zebra when we are freeing the interface, in case a bad client didn't tell us to clear it when the shutdown. Also, in case of a crash or failure to do the above, clear reason on startup if it is set. Signed-off-by: Stephen Worley <sworley@nvidia.com>
Diffstat (limited to 'zebra/interface.h')
-rw-r--r--zebra/interface.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/zebra/interface.h b/zebra/interface.h
index 70a5581a88..7429f5eade 100644
--- a/zebra/interface.h
+++ b/zebra/interface.h
@@ -320,6 +320,10 @@ enum zebra_if_flags {
ZIF_FLAG_LACP_BYPASS = (1 << 5)
};
+#define ZEBRA_IF_IS_PROTODOWN(zif) (zif->flags & ZIF_FLAG_PROTODOWN)
+#define ZEBRA_IF_IS_PROTODOWN_ONLY_EXTERNAL(zif) \
+ (zif->protodown_rc == ZEBRA_PROTODOWN_EXTERNAL)
+
/* `zebra' daemon local interface structure. */
struct zebra_if {
/* back pointer to the interface */