From e91ef7727f7c8062f0fc78fe3f6bf5a654abd0b7 Mon Sep 17 00:00:00 2001 From: Philippe Guibert Date: Fri, 24 Nov 2023 16:38:31 +0100 Subject: [PATCH] zebra: fix wrong nexthop id debug message When allocating big protocol level identifiers, the number range is big, and when pushing to netlink messages, the first nexthop group is truncated, whereas the nexthop has been installed on the kernel. > ubuntu2204(config)# nexthop-group A > ubuntu2204(config-nh-group)# group 1 > ubuntu2204(config-nh-group)# group 2 > ubuntu2204(config-nh-group)# exi > ubuntu2204(config)# nexthop-group 1 > ubuntu2204(config-nh-group)# nexthop 192.0.2.130 loop1 enable-proto-nhg-control > ubuntu2204(config-nh-group)# exi > ubuntu2204(config)# nexthop-group 2 > ubuntu2204(config-nh-group)# nexthop 192.0.2.131 loop1 enable-proto-nhg-control > [..] > 2023/11/24 16:47:40 ZEBRA: [VNMVB-91G3G] _netlink_nexthop_build_group: ID (179687500): group 17968/179687502 > # ip nexthop ls > id 179687500 group 179687501/179687502 proto 194 Fix this by increasing the buffer size when appending the first number. Fixes: 8d03bc501b5f ("zebra: Handle nhg_hash_entry encaps/more debugging") Signed-off-by: Philippe Guibert --- zebra/rt_netlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 477119d1ed..68b89454a5 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -2624,7 +2624,7 @@ static bool _netlink_nexthop_build_group(struct nlmsghdr *n, size_t req_size, if (IS_ZEBRA_DEBUG_KERNEL) { if (i == 0) - snprintf(buf, sizeof(buf1), "group %u", + snprintf(buf, sizeof(buf), "group %u", grp[i].id); else { snprintf(buf1, sizeof(buf1), "/%u", -- 2.39.5