]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Fix pim not recognizing itself as an RP in some cases
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 6 Jul 2017 17:44:18 +0000 (13:44 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 24 Jul 2017 17:51:41 +0000 (13:51 -0400)
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>
pimd/pim_zlookup.c

index 9d85941596c5aa1f01e2205fbe245d86c12ce459..896b1f2195fa7443bf5f7d6c13a2cc14ad68c84e 100644 (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);