summaryrefslogtreecommitdiffstats
path: root/pimd/pim_register.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-05-20 01:36:53 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-07-24 19:51:35 +0200
commit9b29ea95fc5b03de64cf9de55a89894deaed17e7 (patch)
tree65ca0f047472ea8b25e98063d479d434bc18e5e9 /pimd/pim_register.c
parentpimd: pim_rp.c -> convert pimg to pim (diff)
downloadfrr-9b29ea95fc5b03de64cf9de55a89894deaed17e7.tar.xz
frr-9b29ea95fc5b03de64cf9de55a89894deaed17e7.zip
pimd: Remove pimg from pim_upstream.c
Move the upstream_list, hash and wheel into 'struct pim_instance' Remove all pimg to pim in pim_upstream Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_register.c')
-rw-r--r--pimd/pim_register.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/pimd/pim_register.c b/pimd/pim_register.c
index a9c1ab913..ce81db954 100644
--- a/pimd/pim_register.c
+++ b/pimd/pim_register.c
@@ -123,7 +123,7 @@ int pim_register_stop_recv(uint8_t *buf, int buf_size)
pim_parse_addr_ucast(&source, buf, buf_size);
sg.src = source.u.prefix4;
- upstream = pim_upstream_find(&sg);
+ upstream = pim_upstream_find(pimg, &sg);
if (!upstream) {
return 0;
}
@@ -357,7 +357,8 @@ int pim_register_recv(struct interface *ifp, struct in_addr dest_addr,
}
}
- struct pim_upstream *upstream = pim_upstream_find(&sg);
+ struct pim_upstream *upstream =
+ pim_upstream_find(pim_ifp->pim, &sg);
/*
* If we don't have a place to send ignore the packet
*/
@@ -375,7 +376,8 @@ int pim_register_recv(struct interface *ifp, struct in_addr dest_addr,
if ((upstream->sptbit == PIM_UPSTREAM_SPTBIT_TRUE)
|| ((SwitchToSptDesired(&sg))
- && pim_upstream_inherited_olist(upstream) == 0)) {
+ && pim_upstream_inherited_olist(pim_ifp->pim, upstream)
+ == 0)) {
// pim_scan_individual_oil (upstream->channel_oil);
pim_register_stop_send(ifp, &sg, dest_addr, src_addr);
sentRegisterStop = 1;