summaryrefslogtreecommitdiffstats
path: root/lib/if.h
diff options
context:
space:
mode:
authorMark Stapp <mjs@voltanet.io>2021-05-11 21:57:39 +0200
committerMark Stapp <mjs@voltanet.io>2021-05-12 15:37:00 +0200
commite3d901f8638dec32eac4c2690912138963ae5a05 (patch)
tree8b61690f526d085040cc5bd8e1ea98a5ec9f8683 /lib/if.h
parentMerge pull request #8652 from ton31337/fix/doc_bgp_alias (diff)
downloadfrr-e3d901f8638dec32eac4c2690912138963ae5a05.tar.xz
frr-e3d901f8638dec32eac4c2690912138963ae5a05.zip
lib,zebra: Use a flag to track down status for connected addrs
Track 'down' state of connected addresses with a new flag. We may have multiple addresses on an interface that share a prefix; in those cases, we need to determine when the first address is valid, to install a connected route, and similarly detect when the last address goes 'down', to remove the connected route. Signed-off-by: Mark Stapp <mjs@voltanet.io>
Diffstat (limited to 'lib/if.h')
-rw-r--r--lib/if.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/if.h b/lib/if.h
index f425ba8bc..0d689fe14 100644
--- a/lib/if.h
+++ b/lib/if.h
@@ -393,6 +393,7 @@ struct connected {
#define ZEBRA_IFC_REAL (1 << 0)
#define ZEBRA_IFC_CONFIGURED (1 << 1)
#define ZEBRA_IFC_QUEUED (1 << 2)
+#define ZEBRA_IFC_DOWN (1 << 3)
/*
The ZEBRA_IFC_REAL flag should be set if and only if this address
exists in the kernel and is actually usable. (A case where it exists
@@ -406,6 +407,8 @@ struct connected {
in the kernel. It may and should be set although the address might
not be
usable yet. (compare with ZEBRA_IFC_REAL)
+ The ZEBRA_IFC_DOWN flag is used to record that an address is
+ present, but down/unavailable.
*/
/* Flags for connected address. */