summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMobashshera Rasool <mrasool@vmware.com>2022-03-02 02:45:23 -0800
committerMobashshera Rasool <mrasool@vmware.com>2022-03-10 03:24:52 -0800
commita141ea61e7e884dbde6081eb6aeebcae8e7c9ad9 (patch)
tree1a42eb6ba17c45b7822d1958b3ef298f7d2d1943
parentc7842d245eb14b85d9efc9f23ce65f163173fd32 (diff)
pim6d: Handle B bit changes for IPv6
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
-rw-r--r--pimd/pim_br.c8
-rw-r--r--pimd/pim_br.h6
-rw-r--r--pimd/pim_register.c6
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)