summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zebra/zapi_msg.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c
index 21f40ce7c2..ae38b2955f 100644
--- a/zebra/zapi_msg.c
+++ b/zebra/zapi_msg.c
@@ -1445,11 +1445,14 @@ bool zserv_nexthop_num_warn(const char *caller, const struct prefix *p,
if (nexthop_num > zrouter.multipath_num) {
char buff[PREFIX2STR_BUFFER];
- prefix2str(p, buff, sizeof(buff));
+ if (p)
+ prefix2str(p, buff, sizeof(buff));
+
flog_warn(
EC_ZEBRA_MORE_NH_THAN_MULTIPATH,
"%s: Prefix %s has %d nexthops, but we can only use the first %d",
- caller, buff, nexthop_num, zrouter.multipath_num);
+ caller, (p ? buff : "(NULL)"), nexthop_num,
+ zrouter.multipath_num);
return true;
}
@@ -1767,21 +1770,17 @@ static void zread_nhg_reader(ZAPI_HANDLER_ARGS)
size_t nhops, i;
struct zapi_nexthop zapi_nexthops[MULTIPATH_NUM];
struct nexthop_group *nhg = NULL;
- struct prefix p;
uint16_t proto;
struct nhg_hash_entry *nhe;
- memset(&p, 0, sizeof(p));
-
s = msg;
STREAM_GETW(s, proto);
STREAM_GETL(s, id);
STREAM_GETW(s, nhops);
- // TODO: Can't use this without a prefix.
- // if (zserv_nexthop_num_warn(__func__, &p, nhops))
- // return;
+ if (zserv_nexthop_num_warn(__func__, NULL, nhops))
+ return;
if (nhops <= 0) {
flog_warn(EC_ZEBRA_NEXTHOP_CREATION_FAILED,
@@ -1800,8 +1799,8 @@ static void zread_nhg_reader(ZAPI_HANDLER_ARGS)
}
}
- if (!zapi_read_nexthops(client, &p, zapi_nexthops, 0, 0, nhops, 0, &nhg,
- NULL)) {
+ if (!zapi_read_nexthops(client, NULL, zapi_nexthops, 0, 0, nhops, 0,
+ &nhg, NULL)) {
flog_warn(EC_ZEBRA_NEXTHOP_CREATION_FAILED,
"%s: Nexthop Group Creation failed",
__func__);