Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From a3ebed1641deca92e4eae2b32d34dbe5fc5e9f57 Mon Sep 17 00:00:00 2001
From: Aakash <saakashkumar@marvell.com>
Date: Mon, 1 Aug 2022 04:59:02 -0400
Subject: [PATCH 01/13] linux-cp: add support for xfrm netlink notifcation
Subject: [PATCH 01/17] linux-cp: add support for xfrm netlink notifcation

This patch contains changes to add support for handlng xfrm
notifications in linux-cp plugin.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From b2bce6dc411175928d52e207d8890403af1f4792 Mon Sep 17 00:00:00 2001
From: Kommula Shiva Shankar <kshankar@marvell.com>
Date: Tue, 6 Feb 2024 23:23:14 +0530
Subject: [PATCH 02/13] linux-cp: update code to support api proto changes
Subject: [PATCH 02/17] linux-cp: update code to support api proto changes

Type: fix

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 2a1f214e452225b78150a0fa8fa0938a9d55e118 Mon Sep 17 00:00:00 2001
From: Bheemappa Agasimundin <bagasimundin@marvell.com>
Date: Tue, 5 Dec 2023 18:25:33 +0000
Subject: [PATCH 03/13] linux-cp: add ipsec interface support for xfrm
Subject: [PATCH 03/17] linux-cp: add ipsec interface support for xfrm

This patch adds ipsec interface support for strongswan
based SA configuration.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 8ffe977acdba505759bd6645871ab976c7fbce87 Mon Sep 17 00:00:00 2001
From: Kommula Shiva Shankar <kshankar@marvell.com>
Date: Wed, 7 Feb 2024 11:58:17 +0530
Subject: [PATCH 04/13] linux-cp: initialize sw_if_index variable
Subject: [PATCH 04/17] linux-cp: initialize sw_if_index variable

Type: fix

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 57f0bafafe203da5f7fa04efbc2e850e391f3589 Mon Sep 17 00:00:00 2001
From: Bheemappa Agasimundin <bagasimundin@marvell.com>
Date: Sun, 24 Mar 2024 08:36:48 +0000
Subject: [PATCH 05/13] linux-cp: add readme for xfrm implementation
Subject: [PATCH 05/17] linux-cp: add readme for xfrm implementation

This patch adds REAMDE for XFRM changes design and startup.conf
configuration details.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 3aee268143607b829b9e006ff3d72dfb67bd919b Mon Sep 17 00:00:00 2001
From: Bheemappa Agasimundin <bagasimundin@marvell.com>
Date: Tue, 27 Aug 2024 17:29:30 +0000
Subject: [PATCH 06/13] linux-cp: fix esn and anti-replay issue
Subject: [PATCH 06/17] linux-cp: fix esn and anti-replay issue

This patch enables anti-replay when ESN is enabled on a Security
Association (SA) configured via strongSwan.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 48d57e9543244fb29b8e9bdce4d5775950332e9d Mon Sep 17 00:00:00 2001
From: Bheemappa Agasimundin <bagasimundin@marvell.com>
Date: Tue, 1 Oct 2024 15:06:41 +0000
Subject: [PATCH 07/13] linux-cp: fix ipsec policy incorrect protocol type
Subject: [PATCH 07/17] linux-cp: fix ipsec policy incorrect protocol type

This patch changes protocol type 0 to IPSEC_POLICY_PROTOCOL_ANY to
allow any transport protocol for protect/bypass.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 28a3d6f27e0237f07d71a305191a814e07550128 Mon Sep 17 00:00:00 2001
From: zdc <taras@vyos.io>
Date: Wed, 12 Feb 2025 12:29:57 +0200
Subject: [PATCH 08/13] linux-cp: Added build dependency for XFRM
Subject: [PATCH 08/17] linux-cp: Added build dependency for XFRM

Added `libnl-xfrm-3-200` to build dependencies to make build
`linux-cp` with XFRM possible.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From c784244ca4092210ea74fcff1ec7c1a7d633e2ff Mon Sep 17 00:00:00 2001
From: zsdc <taras@vyos.io>
Date: Tue, 23 Jul 2024 20:06:41 +0300
Subject: [PATCH 09/13] linux-cp: Added routing for prefixes with no paths
Subject: [PATCH 09/17] linux-cp: Added routing for prefixes with no paths
available

A new CLI and configuration file option is available:
Expand Down
2 changes: 1 addition & 1 deletion patches/vpp/0010-Resync-ip-fib-with-Linux-state.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From d66645af550b6916e11f3923c1fbaf511094e1b8 Mon Sep 17 00:00:00 2001
From: Denys Haryachyy <garyachy@gmail.com>
Date: Wed, 24 Jul 2024 08:35:25 +0000
Subject: [PATCH 10/13] Resync ip fib with Linux state.
Subject: [PATCH 10/17] Resync ip fib with Linux state.

A new CLI and API file option is available:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 9653065d5de59ab76e10f67117896f7ed6478585 Mon Sep 17 00:00:00 2001
From: Denys Haryachyy <garyachy@gmail.com>
Date: Wed, 29 Jan 2025 11:57:01 +0200
Subject: [PATCH 11/13] LCP: Improved lcp resync CLI and API to wait until
Subject: [PATCH 11/17] LCP: Improved lcp resync CLI and API to wait until
Netlink sync is finished.

(cherry picked from commit b19375e7e42023a5cdca84f259036574ccd9da77)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From e34ad0e3b7ae9f4e630687e39278e5dd43a43c31 Mon Sep 17 00:00:00 2001
From: zdc <taras@vyos.io>
Date: Tue, 11 Feb 2025 20:33:46 +0200
Subject: [PATCH 12/13] build: Fixed compatibility with build on Debian 12
Subject: [PATCH 12/17] build: Fixed compatibility with build on Debian 12

(cherry picked from commit ca7d5bcd381edb68e9d4ae6ffa915bda4d2c1adf)
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 44830bdae2c4cefe94dd3c8ceee471b7dadeef8b Mon Sep 17 00:00:00 2001
From: Viacheslav Hletenko <v.gletenko@vyos.io>
Date: Thu, 13 Feb 2025 11:37:36 +0000
Subject: [PATCH 13/13] linux-cp: Added build dependency libunwind8 for XFRM
Subject: [PATCH 13/17] linux-cp: Added build dependency libunwind8 for XFRM

Added `libunwind8` to build dependencies required by
`linux-cp` for XFRM
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
From 0696c16075caa700a0c9313400c67582da42de99 Mon Sep 17 00:00:00 2001
From: Denys Haryachyy <garyachy@gmail.com>
Date: Thu, 6 Mar 2025 16:27:51 +0200
Subject: [PATCH 14/17] Revert "linux-cp: Added routing for prefixes with no
paths available"

This reverts commit c784244ca4092210ea74fcff1ec7c1a7d633e2ff.
---
src/plugins/linux-cp/lcp.c | 16 ----------------
src/plugins/linux-cp/lcp.h | 7 -------
src/plugins/linux-cp/lcp_cli.c | 14 +-------------
src/plugins/linux-cp/lcp_interface.c | 4 ----
src/plugins/linux-cp/lcp_router.c | 21 ++++-----------------
5 files changed, 5 insertions(+), 57 deletions(-)

diff --git a/src/plugins/linux-cp/lcp.c b/src/plugins/linux-cp/lcp.c
index 6e8c38b8c..34e8550a1 100644
--- a/src/plugins/linux-cp/lcp.c
+++ b/src/plugins/linux-cp/lcp.c
@@ -183,22 +183,6 @@ lcp_get_default_num_queues (u8 is_tx)
return lcpm->num_rx_queues ?: vlib_num_workers ();
}

-void
-lcp_set_route_no_paths (u8 is_del)
-{
- lcp_main_t *lcpm = &lcp_main;
-
- lcpm->route_no_paths = (is_del != 0);
-}
-
-u8
-lcp_get_route_no_paths (void)
-{
- lcp_main_t *lcpm = &lcp_main;
-
- return lcpm->route_no_paths;
-}
-
/*
* fd.io coding-style-patch-verification: ON
*
diff --git a/src/plugins/linux-cp/lcp.h b/src/plugins/linux-cp/lcp.h
index 5349bb492..e89b149f6 100644
--- a/src/plugins/linux-cp/lcp.h
+++ b/src/plugins/linux-cp/lcp.h
@@ -33,7 +33,6 @@ typedef struct lcp_main_s
u8 test_mode; /* Set when Unit testing */
u8 netlink_processing_active; /* Set while a batch of Netlink messages are
being processed */
- u8 route_no_paths; /* Add routes with no paths as local */
} lcp_main_t;

extern lcp_main_t lcp_main;
@@ -70,12 +69,6 @@ u8 lcp_get_netlink_processing_active (void);
void lcp_set_default_num_queues (u16 num_queues, u8 is_tx);
u16 lcp_get_default_num_queues (u8 is_tx);

-/**
- * Get/Set whether to install routes with no paths as local
- */
-void lcp_set_route_no_paths (u8 is_del);
-u8 lcp_get_route_no_paths (void);
-
#endif

/*
diff --git a/src/plugins/linux-cp/lcp_cli.c b/src/plugins/linux-cp/lcp_cli.c
index c7f0658ee..0dcf600b3 100644
--- a/src/plugins/linux-cp/lcp_cli.c
+++ b/src/plugins/linux-cp/lcp_cli.c
@@ -192,17 +192,6 @@ lcp_param_command_fn (vlib_main_t *vm, unformat_input_t *input,
return clib_error_return (0, "unknown input `%U'",
format_unformat_error, line_input);
}
- else if (unformat (line_input, "route-no-paths"))
- {
- if (unformat (line_input, "on") || unformat (line_input, "enable"))
- lcp_set_route_no_paths (1 /* is_del */);
- else if (unformat (line_input, "off") ||
- unformat (line_input, "disable"))
- lcp_set_route_no_paths (0 /* is_del */);
- else
- return clib_error_return (0, "unknown input `%U'",
- format_unformat_error, line_input);
- }
else
return clib_error_return (0, "unknown input `%U'",
format_unformat_error, line_input);
@@ -215,8 +204,7 @@ lcp_param_command_fn (vlib_main_t *vm, unformat_input_t *input,
VLIB_CLI_COMMAND (lcp_param_command, static) = {
.path = "lcp param",
.short_help = "lcp param [del-static-on-link-down (on|enable|off|disable)] "
- "[del-dynamic-on-link-down (on|enable|off|disable)] "
- "[route-no-paths (on|enable|off|disable)]",
+ "[del-dynamic-on-link-down (on|enable|off|disable)]",
.function = lcp_param_command_fn,
};

diff --git a/src/plugins/linux-cp/lcp_interface.c b/src/plugins/linux-cp/lcp_interface.c
index 6f2b2e5c9..61665ad41 100644
--- a/src/plugins/linux-cp/lcp_interface.c
+++ b/src/plugins/linux-cp/lcp_interface.c
@@ -138,8 +138,6 @@ lcp_itf_pair_show (u32 phy_sw_if_index)
lcp_get_del_static_on_link_down () ? "on" : "off");
vlib_cli_output (vm, "lcp del-dynamic-on-link-down %s\n",
lcp_get_del_dynamic_on_link_down () ? "on" : "off");
- vlib_cli_output (vm, "lcp route-no-paths %s\n",
- lcp_get_route_no_paths () ? "on" : "off");

if (phy_sw_if_index == ~0)
{
@@ -590,8 +588,6 @@ lcp_itf_pair_config (vlib_main_t *vm, unformat_input_t *input)
lcp_set_default_num_queues (tmp, 0 /* is_tx */);
else if (unformat (input, "num-tx-queues %d", &tmp))
lcp_set_default_num_queues (tmp, 1 /* is_tx */);
- else if (unformat (input, "route-no-paths"))
- lcp_set_route_no_paths (1 /* is_del */);
else
return clib_error_return (0, "interfaces not found");
}
diff --git a/src/plugins/linux-cp/lcp_router.c b/src/plugins/linux-cp/lcp_router.c
index 0879d00bc..0efd53e64 100644
--- a/src/plugins/linux-cp/lcp_router.c
+++ b/src/plugins/linux-cp/lcp_router.c
@@ -1167,7 +1167,7 @@ lcp_router_route_path_add_special (struct rtnl_route *rr,
{
fib_route_path_t *path;

- if (rtnl_route_get_type (rr) < RTN_BLACKHOLE && !(lcp_get_route_no_paths ()))
+ if (rtnl_route_get_type (rr) < RTN_BLACKHOLE)
return;

/* if it already has a path, it does not need us to add one */
@@ -1176,21 +1176,8 @@ lcp_router_route_path_add_special (struct rtnl_route *rr,

vec_add2 (ctx->paths, path, 1);

- /* If there are no paths, and `lcp param route-no-paths` is enabled
- * we need to add an extra local path. This allows punting traffic
- * with destinations available only via kernel */
- if (lcp_get_route_no_paths ())
- {
- path->frp_flags = FIB_ROUTE_PATH_LOCAL | ctx->type_flags;
- } else {
- path->frp_flags = FIB_ROUTE_PATH_FLAG_NONE | ctx->type_flags;
- }
-
- /* Do not add interface to routes from kernel */
- if (rtnl_route_get_protocol (rr) != RTPROT_KERNEL) {
- path->frp_sw_if_index = ~0;
- }
-
+ path->frp_flags = FIB_ROUTE_PATH_FLAG_NONE | ctx->type_flags;
+ path->frp_sw_if_index = ~0;
path->frp_proto = fib_proto_to_dpo (ctx->route_proto);
path->frp_preference = ctx->preference;

@@ -1348,7 +1335,7 @@ lcp_router_route_add (struct rtnl_route *rr, int is_replace)

nlt = lcp_router_table_add_or_lock (table_id, pfx.fp_proto);
/* Skip any kernel routes and IPv6 LL or multicast routes */
- if ((rproto == RTPROT_KERNEL && !(lcp_get_route_no_paths ())) ||
+ if (rproto == RTPROT_KERNEL ||
(FIB_PROTOCOL_IP6 == pfx.fp_proto &&
(ip6_address_is_multicast (&pfx.fp_addr.ip6) ||
ip6_address_is_link_local_unicast (&pfx.fp_addr.ip6))))
--
2.39.5

Loading