summaryrefslogtreecommitdiff
path: root/pimd/pim_iface.h
diff options
context:
space:
mode:
authorDonald Sharp <donaldsharp72@gmail.com>2021-12-02 04:05:03 -0500
committerGitHub <noreply@github.com>2021-12-02 04:05:03 -0500
commitd047ba78d257f0e182eea9f0d1b0b4d22a64ce18 (patch)
treec7306e7234d326f3b846de936f929dcc80616ebe /pimd/pim_iface.h
parent0da8c0876c2b456ca213c66e4bab3cc8c6ad9c50 (diff)
parent0d16f9d8243dccdddafb956a6c19ea9e5d656f8d (diff)
Merge pull request #9708 from mobash-rasool/new_b
pimd: hello sent stats counter change and new flag addition to decide hello send
Diffstat (limited to 'pimd/pim_iface.h')
-rw-r--r--pimd/pim_iface.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/pimd/pim_iface.h b/pimd/pim_iface.h
index d0fd3d5925..72168b690a 100644
--- a/pimd/pim_iface.h
+++ b/pimd/pim_iface.h
@@ -61,6 +61,20 @@
#define PIM_I_am_DR(pim_ifp) (pim_ifp)->pim_dr_addr.s_addr == (pim_ifp)->primary_address.s_addr
#define PIM_I_am_DualActive(pim_ifp) (pim_ifp)->activeactive == true
+/* Macros for interface flags */
+
+/*
+ * PIM needs to know if hello is required to send before other PIM messages
+ * like Join, prune, assert would go out
+ */
+#define PIM_IF_FLAG_HELLO_SENT (1 << 0)
+
+#define PIM_IF_FLAG_TEST_HELLO_SENT(flags) ((flags)&PIM_IF_FLAG_HELLO_SENT)
+
+#define PIM_IF_FLAG_SET_HELLO_SENT(flags) ((flags) |= PIM_IF_FLAG_HELLO_SENT)
+
+#define PIM_IF_FLAG_UNSET_HELLO_SENT(flags) ((flags) &= ~PIM_IF_FLAG_HELLO_SENT)
+
struct pim_iface_upstream_switch {
struct in_addr address;
struct list *us;
@@ -161,6 +175,7 @@ struct pim_interface {
uint32_t pim_ifstat_bsm_cfg_miss;
uint32_t pim_ifstat_ucast_bsm_cfg_miss;
uint32_t pim_ifstat_bsm_invalid_sz;
+ uint8_t flags;
bool bsm_enable; /* bsm processing enable */
bool ucast_bsm_accept; /* ucast bsm processing */