Hello Marcin,

this looks interesting, would you please elaborate on the intended usecase? Is 
that something like "the hardware goes crazy with too many next hops"?

I'm wondering whether this is a direct intended use, or some crazy workaround 
which could be done completely differently if BIRD had the right tooling for 
your use case.

Thanks,
Maria


On March 7, 2025 2:53:37 PM GMT+01:00, "Saklak, Marcin via Bird-users" 
<[email protected]> wrote:
>Hi All,
>I’m wondering if it’s possible to add a log entry whenever the merged path 
>limit is exceeded.
>For example, a route can have 64 next hops, but BIRD export to the kernel up 
>to merge limit and skip rest of next hops.
>I’d like to be able to detect when this happens.
>
>Below is a potential solution for that:
>
>---
>nest/rt-attr.c | 2 ++
>1 file changed, 2 insertions(+)
>
>diff --git a/nest/rt-attr.c b/nest/rt-attr.c
>index c8ef8e08..ef118cb0 100644
>--- a/nest/rt-attr.c
>+++ b/nest/rt-attr.c
>@@ -323,6 +323,8 @@ nexthop_merge(struct nexthop *x, struct nexthop *y, int 
>rx, int ry, int max, lin
>     n = &((*n)->next);
>   }
>   *n = NULL;
>+  if (max == -1)
>+    log(L_ERR "Exceeded merge paths on limit!");
>
>   return root;
>}
>--
>2.34.1
>
>If you have any suggestions or a better approach, please let me know!
>
>Best regards,
>Marcin Sakłak

-- 
Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.

Reply via email to