From 1cadfaf21367e4288d33f8a2bc71be01fac7409c Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Mon, 28 Mar 2022 07:35:53 -0400 Subject: [PATCH] zebra: When `zebra nexthop proto only` limit errors Operators are seeing: Mar 28 07:19:37 kingpin zebra[418]: [TZANK-DEMSE] netlink_nexthop_msg_encode: nhg_id 68 (zebra): proto-based nexthops only, ignoring Mar 28 07:19:37 kingpin zebra[418]: [TZANK-DEMSE] netlink_nexthop_msg_encode: nhg_id 68 (zebra): proto-based nexthops only, ignoring Mar 28 07:19:37 kingpin zebra[418]: [YXPF5-B2CE0] netlink_route_multipath_msg_encode: RTM_DELROUTE 2804:4d48:4000::/42 vrf 0(254) Mar 28 07:19:37 kingpin zebra[418]: [YXPF5-B2CE0] netlink_route_multipath_msg_encode: RTM_NEWROUTE 2804:4d48:4000::/42 vrf 0(254) Mar 28 07:19:37 kingpin zebra[418]: [TVM3E-A8ZAG] _netlink_route_build_singlepath: (single-path): 2804:4d48:4000::/42 nexthop via fe80::b6fb:e4ff:fe26:c5d5 if 2 vrf default(0) Mar 28 07:19:37 kingpin zebra[418]: [HYEHE-CQZ9G] nl_batch_send: netlink-dp (NS 0), batch size=140, msg cnt=2 Mar 28 07:19:37 kingpin zebra[418]: [P2XBZ-RAFQ5][EC 4043309074] Failed to install Nexthop ID (68) into the kernel When `zebra nexthop proto only` is turned on. Effectively zebra intentionally does not do the nexthop group installation and the dplane notification in zebra_nhg.c just assumes it was a failure and prints an error message. Since this act was intentional, let's just notice that it was intentional and not report the message as a failure. Signed-off-by: Donald Sharp --- zebra/zebra_nhg.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/zebra/zebra_nhg.c b/zebra/zebra_nhg.c index 02894632ea..f4524a8018 100644 --- a/zebra/zebra_nhg.c +++ b/zebra/zebra_nhg.c @@ -3001,10 +3001,12 @@ void zebra_nhg_dplane_result(struct zebra_dplane_ctx *ctx) nhe->zapi_session, nhe->id, ZAPI_NHG_FAIL_INSTALL); - flog_err( - EC_ZEBRA_DP_INSTALL_FAIL, - "Failed to install Nexthop ID (%u) into the kernel", - nhe->id); + if (!(zebra_nhg_proto_nexthops_only() && + !PROTO_OWNED(nhe))) + flog_err( + EC_ZEBRA_DP_INSTALL_FAIL, + "Failed to install Nexthop ID (%u) into the kernel", + nhe->id); } break; -- 2.39.5