summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlexander Skorichenko <askorichenko@netgate.com>2022-11-14 11:59:56 +0000
committerNeale Ranns <neale@graphiant.com>2022-11-23 00:33:24 +0000
commitf0781829d5145f288a2e42978d91bc8df9c50ca4 (patch)
tree77988b78f6309f1df0910d687f5ea8cfaa79b5b0 /src
parented5f291a2283dd2882a39a3019e82fd325079631 (diff)
linux-cp: fix FIB_ENTRY_FLAG_ATTACHED
Type: fix     Fib entries for attached routes when sourced from FIB_SOURCE_API or FIB_SOURCE_CLI get the FIB_ENTRY_FLAG_ATTACHED flag raised on the source. Such a route added from linux-cp doesn't get this flag.     Fix this flag for linux-cp sources by passing it to the fib entry's update/create function in lcp_router_route_add(). Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com> Change-Id: I24278ef86886cfee8a14acb250fb6992a754cc3c
Diffstat (limited to 'src')
-rw-r--r--src/plugins/linux-cp/lcp_router.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/plugins/linux-cp/lcp_router.c b/src/plugins/linux-cp/lcp_router.c
index 04a6ba05a89..ab8ab164972 100644
--- a/src/plugins/linux-cp/lcp_router.c
+++ b/src/plugins/linux-cp/lcp_router.c
@@ -1229,6 +1229,16 @@ lcp_router_route_add (struct rtnl_route *rr)
else
{
fib_source_t fib_src;
+ const fib_route_path_t *rpath;
+
+ vec_foreach (rpath, np.paths)
+ {
+ if (fib_route_path_is_attached (rpath))
+ {
+ entry_flags |= FIB_ENTRY_FLAG_ATTACHED;
+ break;
+ }
+ }
fib_src = lcp_router_proto_fib_source (rproto);