diff options
| author | Jafar Al-Gharaibeh <Jafaral@users.noreply.github.com> | 2019-10-14 01:07:24 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-14 01:07:24 -0500 |
| commit | d563896dada99f3474d428f928786cbfde936fee (patch) | |
| tree | bfb366c123c96cfc0b086803628b45dc2d2d6b05 /zebra/zebra_router.h | |
| parent | 09ea1a40386f02a13cdb0462cc55af0d03f0c277 (diff) | |
| parent | 40e79e94110c772bfb71b97b1d97e8ad35901b88 (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.h | 30 |
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 { |
