summaryrefslogtreecommitdiff
path: root/zebra/zebra_router.h
diff options
context:
space:
mode:
authorJafar Al-Gharaibeh <Jafaral@users.noreply.github.com>2019-10-14 01:07:24 -0500
committerGitHub <noreply@github.com>2019-10-14 01:07:24 -0500
commitd563896dada99f3474d428f928786cbfde936fee (patch)
treebfb366c123c96cfc0b086803628b45dc2d2d6b05 /zebra/zebra_router.h
parent09ea1a40386f02a13cdb0462cc55af0d03f0c277 (diff)
parent40e79e94110c772bfb71b97b1d97e8ad35901b88 (diff)
Merge pull request #4885 from satheeshkarra/pim_mlag
pimd, lib, Zebra: PIM MLAG Support
Diffstat (limited to 'zebra/zebra_router.h')
-rw-r--r--zebra/zebra_router.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/zebra/zebra_router.h b/zebra/zebra_router.h
index 25a7adac11..1f80561986 100644
--- a/zebra/zebra_router.h
+++ b/zebra/zebra_router.h
@@ -71,6 +71,36 @@ struct zebra_mlag_info {
/* The system mac being used */
struct ethaddr mac;
+ /*
+ * Zebra will open the communication channel with MLAGD only if any
+ * clients are interested and it is controlled dynamically based on
+ * client registers & un-registers.
+ */
+ uint32_t clients_interested_cnt;
+
+ /* coomunication channel with MLAGD is established */
+ bool connected;
+
+ /* connection retry timer is running */
+ bool timer_running;
+
+ /* Holds the client data(unencoded) that need to be pushed to MCLAGD*/
+ struct stream_fifo *mlag_fifo;
+
+ /*
+ * A new Kernel thread will be created to post the data to MCLAGD.
+ * where as, read will be performed from the zebra main thread, because
+ * read involves accessing client registartion data structures.
+ */
+ struct frr_pthread *zebra_pth_mlag;
+
+ /* MLAG Thread context 'master' */
+ struct thread_master *th_master;
+
+ /* Threads for read/write. */
+ struct thread *t_read;
+ struct thread *t_write;
+ pthread_mutex_t mlag_th_mtx;
};
struct zebra_router {