pimd: Fix pim not recognizing itself as an RP in some cases

During normal course of operations, zebra sends the ZEBRA_INTERFACE_VRF_UPDATE
call up into all connected zclients.  In the case of PIM the
zlookup was expecting a min length of 10, but ZEBRA_INTERFACE_VRF_UPDATE
was sending of size 6.  This min length check makes no sense,
so just remove.

Ticket: CM-16976
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-07-06 13:44:18 -04:00
parent 5cef40fcb7
commit d3a551b952

View File

@ -142,7 +142,6 @@ static int zclient_read_nexthop(struct pim_instance *pim,
{
int num_ifindex = 0;
struct stream *s;
const uint16_t MIN_LEN = 10; /* getipv4=4 getc=1 getl=4 getc=1 */
uint16_t length;
u_char marker;
u_char version;
@ -173,14 +172,6 @@ static int zclient_read_nexthop(struct pim_instance *pim,
zclient_lookup_failed(zlookup);
return -1;
}
if (length < MIN_LEN) {
zlog_err(
"%s: failure reading zclient lookup socket: len=%d < MIN_LEN=%d",
__PRETTY_FUNCTION__, length, MIN_LEN);
zclient_lookup_failed(zlookup);
return -2;
}
}
raddr.s_addr = stream_get_ipv4(s);