mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 07:27:09 +00:00
pimd: Fix intentional pass of NULL
pim_msdp_pkt_sa_gen is intentionally passed mp as NULL in some cases, so we need to pass through the pim instance Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
6d3c195375
commit
4097373f90
@ -370,21 +370,22 @@ static void pim_msdp_pkt_sa_fill_one(struct pim_msdp_sa *sa)
|
||||
stream_put_ipv4(sa->pim->msdp.work_obuf, sa->sg.src.s_addr);
|
||||
}
|
||||
|
||||
static void pim_msdp_pkt_sa_gen(struct pim_msdp_peer *mp)
|
||||
static void pim_msdp_pkt_sa_gen(struct pim_instance *pim,
|
||||
struct pim_msdp_peer *mp)
|
||||
{
|
||||
struct listnode *sanode;
|
||||
struct pim_msdp_sa *sa;
|
||||
int sa_count;
|
||||
int local_cnt = mp->pim->msdp.local_cnt;
|
||||
int local_cnt = pim->msdp.local_cnt;
|
||||
|
||||
sa_count = 0;
|
||||
if (PIM_DEBUG_MSDP_INTERNAL) {
|
||||
zlog_debug(" sa gen %d", local_cnt);
|
||||
}
|
||||
|
||||
local_cnt = pim_msdp_pkt_sa_fill_hdr(mp->pim, local_cnt);
|
||||
local_cnt = pim_msdp_pkt_sa_fill_hdr(pim, local_cnt);
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO(mp->pim->msdp.sa_list, sanode, sa)) {
|
||||
for (ALL_LIST_ELEMENTS_RO(pim->msdp.sa_list, sanode, sa)) {
|
||||
if (!(sa->flags & PIM_MSDP_SAF_LOCAL)) {
|
||||
/* current implementation of MSDP is for anycast i.e.
|
||||
* full mesh. so
|
||||
@ -403,8 +404,7 @@ static void pim_msdp_pkt_sa_gen(struct pim_msdp_peer *mp)
|
||||
zlog_debug(" sa gen for remainder %d",
|
||||
local_cnt);
|
||||
}
|
||||
local_cnt =
|
||||
pim_msdp_pkt_sa_fill_hdr(mp->pim, local_cnt);
|
||||
local_cnt = pim_msdp_pkt_sa_fill_hdr(pim, local_cnt);
|
||||
}
|
||||
}
|
||||
|
||||
@ -431,7 +431,7 @@ static void pim_msdp_pkt_sa_tx_done(struct pim_instance *pim)
|
||||
|
||||
void pim_msdp_pkt_sa_tx(struct pim_instance *pim)
|
||||
{
|
||||
pim_msdp_pkt_sa_gen(NULL /* mp */);
|
||||
pim_msdp_pkt_sa_gen(pim, NULL /* mp */);
|
||||
pim_msdp_pkt_sa_tx_done(pim);
|
||||
}
|
||||
|
||||
@ -446,7 +446,7 @@ void pim_msdp_pkt_sa_tx_one(struct pim_msdp_sa *sa)
|
||||
/* when a connection is first established we push all SAs immediately */
|
||||
void pim_msdp_pkt_sa_tx_to_one_peer(struct pim_msdp_peer *mp)
|
||||
{
|
||||
pim_msdp_pkt_sa_gen(mp);
|
||||
pim_msdp_pkt_sa_gen(mp->pim, mp);
|
||||
pim_msdp_pkt_sa_tx_done(mp->pim);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user