summaryrefslogtreecommitdiffstats
path: root/pimd/pim_rpf.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-08-31 14:49:10 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-08-31 16:30:19 +0200
commitea89ab14e26e7041277e0a584ea7144e9cb455ac (patch)
tree0d520293ee0cceaf5fd827d5edf23331d6a98496 /pimd/pim_rpf.c
parentlib: Modify prefix_list_apply to allow retrieval of prefix (diff)
downloadfrr-ea89ab14e26e7041277e0a584ea7144e9cb455ac.tar.xz
frr-ea89ab14e26e7041277e0a584ea7144e9cb455ac.zip
pimd: Smarten up pim_nexthop_lookup
There exists cases where we have not properly configured a RP yet, but we are getting callbacks for nocache. This is generating allot of spam messages in the log. In the case where we attempt to lookup INADDR_NONE just say it fails without need to talk to anyone since we'll never get a real answer from zebra anyways. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_rpf.c')
-rw-r--r--pimd/pim_rpf.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/pimd/pim_rpf.c b/pimd/pim_rpf.c
index 36c6c894e..fd09b04b8 100644
--- a/pimd/pim_rpf.c
+++ b/pimd/pim_rpf.c
@@ -61,6 +61,14 @@ int pim_nexthop_lookup(struct pim_instance *pim, struct pim_nexthop *nexthop,
int found = 0;
int i = 0;
+ /*
+ * We should not attempt to lookup a
+ * 255.255.255.255 address, since
+ * it will never work
+ */
+ if (addr.s_addr == INADDR_NONE)
+ return -1;
+
if ((nexthop->last_lookup.s_addr == addr.s_addr)
&& (nexthop->last_lookup_time > last_route_change_time)) {
if (PIM_DEBUG_TRACE) {