summaryrefslogtreecommitdiff
path: root/zebra
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2025-01-27 17:57:15 +0100
committerDavid Lamparter <equinox@opensourcerouting.org>2025-01-28 11:10:31 +0100
commit1d341d461e8549524f9054534fb20cec7b7c967d (patch)
treeca362ff908da1fc71385a7c25e2f7cded1171a7c /zebra
parentee67699bd7e0175057ffab4c8c30c74b6c7cc844 (diff)
zebra: install dst-src routes without NHG
The Linux kernel doesn't support dst-src routes with NHGs as nexthop, for some (rather dubious) caching reasons. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'zebra')
-rw-r--r--zebra/rt_netlink.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index b32882e858..d696b19859 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -2588,10 +2588,10 @@ ssize_t netlink_route_multipath_msg_encode(int cmd, struct zebra_dplane_ctx *ctx
}
}
- if ((!fpm && kernel_nexthops_supported()
- && (!proto_nexthops_only()
- || is_proto_nhg(dplane_ctx_get_nhe_id(ctx), 0)))
- || (fpm && force_nhg)) {
+ if ((!fpm && kernel_nexthops_supported() &&
+ (!proto_nexthops_only() || is_proto_nhg(dplane_ctx_get_nhe_id(ctx), 0)) &&
+ (!src_p || !src_p->prefixlen)) ||
+ (fpm && force_nhg)) {
/* Kernel supports nexthop objects */
if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug("%s: %pFX nhg_id is %u", __func__, p,