summaryrefslogtreecommitdiffstats
path: root/pimd/pim_rp.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-10-28 15:00:31 +0100
committerDonald Sharp <sharpd@cumulusnetwroks.com>2016-05-26 02:38:35 +0200
commited66602c64f18776c79cd7fb999555472f29e031 (patch)
tree3d0e648ab9ce312c842143aead56ddd7ec43f66b /pimd/pim_rp.c
parentlib: Fix compile warnings with zlog_hexdump (diff)
downloadfrr-ed66602c64f18776c79cd7fb999555472f29e031.tar.xz
frr-ed66602c64f18776c79cd7fb999555472f29e031.zip
pimd: Convert the RP(G) code to return a struct pim_rpf
This will facilitate sending packets to the right spot Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_rp.c')
-rw-r--r--pimd/pim_rp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c
index 5ad786bad..6ba8482d4 100644
--- a/pimd/pim_rp.c
+++ b/pimd/pim_rp.c
@@ -26,6 +26,8 @@
#include "pimd.h"
#include "pim_str.h"
#include "pim_rp.h"
+#include "pim_str.h"
+#include "pim_rpf.h"
static int i_am_rp = 0;
@@ -78,13 +80,14 @@ pim_rp_i_am_rp (struct in_addr group)
*
* Return the RP that the Group belongs too.
*/
-struct in_addr
+struct pim_rpf *
pim_rp_g (struct in_addr group)
{
/*
* For staticly configured RP, it is always the qpim_rp
*/
- return(qpim_rp.rpf_addr);
+ pim_nexthop_lookup(&qpim_rp.source_nexthop, qpim_rp.rpf_addr);
+ return(&qpim_rp);
}
/*