summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_evpn_mh.h
diff options
context:
space:
mode:
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2020-05-11 03:02:37 +0200
committerAnuradha Karuppiah <anuradhak@nvidia.com>2020-11-24 19:20:32 +0100
commitb2ee2b71f4864c691e7b022e06e01b521745bc85 (patch)
treecb8be2384efbfe58239c0581e28d6f62e249a6bb /zebra/zebra_evpn_mh.h
parentMerge pull request #7475 from eololab/add-more-parameters-for-crosscompilation (diff)
downloadfrr-b2ee2b71f4864c691e7b022e06e01b521745bc85.tar.xz
frr-b2ee2b71f4864c691e7b022e06e01b521745bc85.zip
zebra: Keep DAD disabled if EVPN MH is turned on
DAD is not supported currently with EVPN-MH so we turn it off internally when the first ES config is detected. PS: Note that when all local ESs are deleted DAD will stay off and will need to be cleared via a daemon restart. Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'zebra/zebra_evpn_mh.h')
-rw-r--r--zebra/zebra_evpn_mh.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/zebra/zebra_evpn_mh.h b/zebra/zebra_evpn_mh.h
index 09af26a3a..c232e3b8f 100644
--- a/zebra/zebra_evpn_mh.h
+++ b/zebra/zebra_evpn_mh.h
@@ -164,6 +164,12 @@ struct zebra_evpn_access_bd {
/* multihoming information stored in zrouter */
#define zmh_info (zrouter.mh_info)
struct zebra_evpn_mh_info {
+ uint32_t flags;
+/* DAD support for EVPN-MH is yet to be added. So on detection of
+ * first local ES, DAD is turned off
+ */
+#define ZEBRA_EVPN_MH_DUP_ADDR_DETECT_OFF (1 << 1)
+
/* RB tree of Ethernet segments (used for EVPN-MH) */
struct zebra_es_rb_head es_rb_tree;
/* List of local ESs */
@@ -228,6 +234,12 @@ static inline bool zebra_evpn_mh_is_fdb_nh(uint32_t id)
(id & EVPN_NH_ID_TYPE_BIT));
}
+static inline bool zebra_evpn_mh_do_dup_addr_detect(void)
+{
+ return !(zmh_info->flags & ZEBRA_EVPN_MH_DUP_ADDR_DETECT_OFF);
+}
+
+
/*****************************************************************************/
extern esi_t *zero_esi;
extern void zebra_evpn_mh_init(void);