diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-05-19 22:41:25 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-24 19:51:35 +0200 |
commit | fec883d95a64c37a9d0cb728085c816ff7188874 (patch) | |
tree | b13d0a701ae0a337178848b0ae0015be1f70e7d2 /pimd/pim_mroute.c | |
parent | pimd: Remove pimg from pim_nht.c in totality (diff) | |
download | frr-fec883d95a64c37a9d0cb728085c816ff7188874.tar.xz frr-fec883d95a64c37a9d0cb728085c816ff7188874.zip |
pimd: pim_rp.c -> convert pimg to pim
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_mroute.c')
-rw-r--r-- | pimd/pim_mroute.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/pimd/pim_mroute.c b/pimd/pim_mroute.c index cb45a6c92..7f657fae3 100644 --- a/pimd/pim_mroute.c +++ b/pimd/pim_mroute.c @@ -137,7 +137,7 @@ static int pim_mroute_msg_nocache(int fd, struct interface *ifp, struct pim_rpf *rpg; struct prefix_sg sg; - rpg = RP(msg->im_dst); + rpg = RP(pim_ifp->pim, msg->im_dst); /* * If the incoming interface is unknown OR * the Interface type is SSM we don't need to @@ -259,7 +259,7 @@ static int pim_mroute_msg_wholepkt(int fd, struct interface *ifp, pim_ifp = up->rpf.source_nexthop.interface->info; - rpg = RP(sg.grp); + rpg = RP(pim_ifp->pim, sg.grp); if ((pim_rpf_addr_is_inaddr_none(rpg)) || (!pim_ifp) || (!(PIM_I_am_DR(pim_ifp)))) { @@ -405,6 +405,8 @@ static int pim_mroute_msg_wrvifwhole(int fd, struct interface *ifp, struct prefix_sg sg; struct channel_oil *oil; + pim_ifp = ifp->info; + memset(&sg, 0, sizeof(struct prefix_sg)); sg.src = ip_hdr->ip_src; sg.grp = ip_hdr->ip_dst; @@ -435,7 +437,7 @@ static int pim_mroute_msg_wrvifwhole(int fd, struct interface *ifp, if (up) { struct pim_upstream *parent; struct pim_nexthop source; - struct pim_rpf *rpf = RP(sg.grp); + struct pim_rpf *rpf = RP(pim_ifp->pim, sg.grp); if (!rpf || !rpf->source_nexthop.interface) return 0; |