bgpd, pimd: Handle return code for nexthop_decode

Appropriately handle the return code for the
zapi_nexthop_update_decode call.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2018-02-05 08:34:47 -05:00
parent 4a749e2cb2
commit 7d30a95973
2 changed files with 12 additions and 2 deletions

View File

@ -338,7 +338,12 @@ void bgp_parse_nexthop_update(int command, vrf_id_t vrf_id)
return;
}
zapi_nexthop_update_decode(zclient->ibuf, &nhr);
if (!zapi_nexthop_update_decode(zclient->ibuf, &nhr)) {
if (BGP_DEBUG(nht, NHT))
zlog_debug("%s: Failure to decode nexthop update",
__PRETTY_FUNCTION__);
return;
}
if (command == ZEBRA_NEXTHOP_UPDATE)
rn = bgp_node_lookup(

View File

@ -625,7 +625,12 @@ int pim_parse_nexthop_update(int command, struct zclient *zclient,
return 0;
pim = vrf->info;
zapi_nexthop_update_decode(zclient->ibuf, &nhr);
if (!zapi_nexthop_update_decode(zclient->ibuf, &nhr)) {
if (PIM_DEBUG_PIM_NHT)
zlog_debug("%s: Decode of nexthop update from zebra failed",
__PRETTY_FUNCTION__);
return 0;
}
if (command == ZEBRA_NEXTHOP_UPDATE) {
prefix_copy(&rpf.rpf_addr, &nhr.prefix);