diff options
| author | Mobashshera Rasool <mrasool@vmware.com> | 2022-03-02 02:45:23 -0800 |
|---|---|---|
| committer | Mobashshera Rasool <mrasool@vmware.com> | 2022-03-10 03:24:52 -0800 |
| commit | a141ea61e7e884dbde6081eb6aeebcae8e7c9ad9 (patch) | |
| tree | 1a42eb6ba17c45b7822d1958b3ef298f7d2d1943 | |
| parent | c7842d245eb14b85d9efc9f23ce65f163173fd32 (diff) | |
pim6d: Handle B bit changes for IPv6
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
| -rw-r--r-- | pimd/pim_br.c | 8 | ||||
| -rw-r--r-- | pimd/pim_br.h | 6 | ||||
| -rw-r--r-- | pimd/pim_register.c | 6 |
3 files changed, 10 insertions, 10 deletions
diff --git a/pimd/pim_br.c b/pimd/pim_br.c index 3e64296deb..427409217d 100644 --- a/pimd/pim_br.c +++ b/pimd/pim_br.c @@ -30,14 +30,14 @@ struct pim_br { pim_sgaddr sg; - struct in_addr pmbr; + pim_addr pmbr; }; -struct in_addr pim_br_unknown = {.s_addr = 0}; +pim_addr pim_br_unknown = {.s_addr = 0}; static struct list *pim_br_list = NULL; -struct in_addr pim_br_get_pmbr(pim_sgaddr *sg) +pim_addr pim_br_get_pmbr(pim_sgaddr *sg) { struct listnode *node; struct pim_br *pim_br; @@ -50,7 +50,7 @@ struct in_addr pim_br_get_pmbr(pim_sgaddr *sg) return pim_br_unknown; } -void pim_br_set_pmbr(pim_sgaddr *sg, struct in_addr br) +void pim_br_set_pmbr(pim_sgaddr *sg, pim_addr br) { struct listnode *node, *next; struct pim_br *pim_br; diff --git a/pimd/pim_br.h b/pimd/pim_br.h index ef24ef3c19..522dc08500 100644 --- a/pimd/pim_br.h +++ b/pimd/pim_br.h @@ -20,13 +20,13 @@ #ifndef PIM_BR_H #define PIM_BR_H -struct in_addr pim_br_get_pmbr(pim_sgaddr *sg); +pim_addr pim_br_get_pmbr(pim_sgaddr *sg); -void pim_br_set_pmbr(pim_sgaddr *sg, struct in_addr value); +void pim_br_set_pmbr(pim_sgaddr *sg, pim_addr value); void pim_br_clear_pmbr(pim_sgaddr *sg); void pim_br_init(void); -extern struct in_addr pim_br_unknown; +extern pim_addr pim_br_unknown; #endif diff --git a/pimd/pim_register.c b/pimd/pim_register.c index bfb584f2f1..c8c0b66ddb 100644 --- a/pimd/pim_register.c +++ b/pimd/pim_register.c @@ -408,15 +408,15 @@ int pim_register_recv(struct interface *ifp, pim_addr dest_addr, } if (*bits & PIM_REGISTER_BORDER_BIT) { - struct in_addr pimbr = pim_br_get_pmbr(&sg); + pim_addr pimbr = pim_br_get_pmbr(&sg); if (PIM_DEBUG_PIM_PACKETS) zlog_debug( "%s: Received Register message with Border bit set", __func__); - if (pimbr.s_addr == pim_br_unknown.s_addr) + if (!pim_addr_cmp(pimbr, pim_br_unknown)) pim_br_set_pmbr(&sg, src_addr); - else if (src_addr.s_addr != pimbr.s_addr) { + else if (pim_addr_cmp(src_addr, pimbr)) { pim_register_stop_send(ifp, &sg, dest_addr, src_addr); if (PIM_DEBUG_PIM_PACKETS) |
