]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: fix wrong nexthop id debug message
authorPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 24 Nov 2023 15:38:31 +0000 (16:38 +0100)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Thu, 30 Nov 2023 13:25:08 +0000 (14:25 +0100)
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 <philippe.guibert@6wind.com>
zebra/rt_netlink.c

index 477119d1ed3990a846e7a455d2d9ce01797b8767..68b89454a5705f54fce028ee55b88105d12b8dfe 100644 (file)
@@ -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",