From: Donald Sharp Date: Tue, 23 May 2017 18:50:45 +0000 (-0400) Subject: pimd: Allow secondary address comparisons to work X-Git-Tag: reindent-master-before~122^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F610%2Fhead;p=mirror%2Ffrr.git pimd: Allow secondary address comparisons to work The secondary address comparison done to determine if we are an RP for a specified address was comparing A.B.C.D/32 to A.B.C.D/0 because when we created the rp_info we were not setting the prefixlen Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c index d3d9beb053..3dde187081 100644 --- a/pimd/pim_rp.c +++ b/pimd/pim_rp.c @@ -98,6 +98,7 @@ pim_rp_init (void) str2prefix ("224.0.0.0/4", &rp_info->group); rp_info->group.family = AF_INET; rp_info->rp.rpf_addr.family = AF_INET; + rp_info->rp.rpf_addr.prefixlen = IPV4_MAX_PREFIXLEN; rp_info->rp.rpf_addr.u.prefix4.s_addr = INADDR_NONE; tail = rp_info; @@ -306,6 +307,7 @@ pim_rp_new (const char *rp, const char *group_range, const char *plist) } rp_info->rp.rpf_addr.family = AF_INET; + rp_info->rp.rpf_addr.prefixlen = IPV4_MAX_PREFIXLEN; result = inet_pton (rp_info->rp.rpf_addr.family, rp, &rp_info->rp.rpf_addr.u.prefix4); if (result <= 0)