From f0f7b285b99dbd971400d33feea007232c0bd4a9 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Sat, 28 Oct 2023 10:03:39 -0400 Subject: [PATCH] zebra: Add encap type when building packet for FPM Currently in the single nexthop case w/ evpn sending down via the FPM the encap type is not being set for the nexthop. This looks like the result of some code reorg for the nexthop happened but the fpm failed to be accounted for. Let's just move the encap type encoding to where it will happen. Signed-off-by: Donald Sharp (cherry picked from commit 4ac659fcbeb3848ee6caf06676a9ac1543ae62f1) --- zebra/rt_netlink.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 79d79d74be65..d846918e6c5a 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -2235,19 +2235,21 @@ ssize_t netlink_route_multipath_msg_encode(int cmd, p, routedesc, bytelen, nexthop, &req->n, &req->r, datalen, cmd)) return 0; + + /* + * Add encapsulation information when + * installing via FPM. + */ + if (fpm) { + if (!netlink_route_nexthop_encap(&req->n, + datalen, + nexthop)) + return 0; + } + nexthop_num++; break; } - - /* - * Add encapsulation information when installing via - * FPM. - */ - if (fpm) { - if (!netlink_route_nexthop_encap( - &req->n, datalen, nexthop)) - return 0; - } } if (setsrc) {