summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <donaldsharp72@gmail.com>2023-11-21 15:00:34 -0500
committerGitHub <noreply@github.com>2023-11-21 15:00:34 -0500
commit61bb5917cf715223f523afcd76c67450dc162d81 (patch)
treee171df52276b0bbfcc665449d2bd7cd4bd3afd7b
parent31b4c7a6ae067ea4fd134bff9f477b4b7cf03c93 (diff)
parent10a9a5f400586450d52d7acfdd05c2cff27b7f80 (diff)
Merge pull request #14848 from FRRouting/mergify/bp/stable/8.5/pr-14835
zebra: Fix fpm multipath encap addition (backport #14835)
-rw-r--r--zebra/rt_netlink.c27
1 files changed, 10 insertions, 17 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index d846918e6c..5d23629143 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -2296,6 +2296,16 @@ ssize_t netlink_route_multipath_msg_encode(int cmd,
tag))
return 0;
+ /*
+ * Add encapsulation information when installing via
+ * FPM.
+ */
+ if (fpm) {
+ if (!netlink_route_nexthop_encap(
+ &req->n, datalen, nexthop))
+ return 0;
+ }
+
if (!setsrc && src1) {
if (p->family == AF_INET)
src.ipv4 = src1->ipv4;
@@ -2309,23 +2319,6 @@ ssize_t netlink_route_multipath_msg_encode(int cmd,
nl_attr_nest_end(&req->n, nest);
- /*
- * Add encapsulation information when installing via
- * FPM.
- */
- if (fpm) {
- for (ALL_NEXTHOPS_PTR(dplane_ctx_get_ng(ctx),
- nexthop)) {
- if (CHECK_FLAG(nexthop->flags,
- NEXTHOP_FLAG_RECURSIVE))
- continue;
- if (!netlink_route_nexthop_encap(
- &req->n, datalen, nexthop))
- return 0;
- }
- }
-
-
if (setsrc) {
if (p->family == AF_INET) {
if (!nl_attr_put(&req->n, datalen, RTA_PREFSRC,