* [PATCH dpdk] lpm6, fib6, rib6, table: remove deprecated functions and macros
@ 2026-07-24 8:49 Robin Jarry
2026-07-24 11:25 ` David Marchand
2026-07-24 11:45 ` [PATCH dpdk v2] fib, lpm, net, rib, " Robin Jarry
0 siblings, 2 replies; 3+ messages in thread
From: Robin Jarry @ 2026-07-24 8:49 UTC (permalink / raw)
To: dev, Vladimir Medvedkin, Bruce Richardson, Cristian Dumitrescu
These function were marked as deprecated in DPDK 24.11. Remove them
completely.
Signed-off-by: Robin Jarry <rjarry@redhat.com>
---
doc/guides/rel_notes/release_26_11.rst | 11 ++++
lib/fib/rte_fib6.h | 4 --
lib/lpm/rte_lpm6.h | 3 --
lib/rib/rte_rib6.h | 73 --------------------------
lib/table/rte_table_lpm_ipv6.h | 2 -
5 files changed, 11 insertions(+), 82 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 938617ca7542..fb9cde591695 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -68,6 +68,17 @@ Removed Items
Also, make sure to start the actual text at the margin.
=======================================================
+* Deprecated functions removed:
+
+ - ``RTE_FIB6_IPV6_ADDR_SIZE``
+ - ``RTE_FIB6_MAXDEPTH``
+ - ``RTE_LPM6_IPV6_ADDR_SIZE``
+ - ``RTE_LPM6_MAX_DEPTH``
+ - ``RTE_LPM_IPV6_ADDR_SIZE``
+ - ``RTE_RIB6_IPV6_ADDR_SIZE``
+ - ``get_msk_part``
+ - ``rte_rib6_copy_addr``
+ - ``rte_rib6_is_equal``
API Changes
-----------
diff --git a/lib/fib/rte_fib6.h b/lib/fib/rte_fib6.h
index 4527328bf00d..890a155a533a 100644
--- a/lib/fib/rte_fib6.h
+++ b/lib/fib/rte_fib6.h
@@ -25,10 +25,6 @@
extern "C" {
#endif
-#define RTE_FIB6_IPV6_ADDR_SIZE (RTE_DEPRECATED(RTE_FIB6_IPV6_ADDR_SIZE) RTE_IPV6_ADDR_SIZE)
-/** Maximum depth value possible for IPv6 FIB. */
-#define RTE_FIB6_MAXDEPTH (RTE_DEPRECATED(RTE_FIB6_MAXDEPTH) RTE_IPV6_MAX_DEPTH)
-
/* Maximum length of a FIB name. */
#define RTE_FIB6_NAMESIZE 64
diff --git a/lib/lpm/rte_lpm6.h b/lib/lpm/rte_lpm6.h
index 08b561861348..f7fd10e8a338 100644
--- a/lib/lpm/rte_lpm6.h
+++ b/lib/lpm/rte_lpm6.h
@@ -18,9 +18,6 @@
extern "C" {
#endif
-
-#define RTE_LPM6_MAX_DEPTH (RTE_DEPRECATED(RTE_LPM6_MAX_DEPTH) RTE_IPV6_MAX_DEPTH)
-#define RTE_LPM6_IPV6_ADDR_SIZE (RTE_DEPRECATED(RTE_LPM6_IPV6_ADDR_SIZE) RTE_IPV6_ADDR_SIZE)
/** Max number of characters in LPM name. */
#define RTE_LPM6_NAMESIZE 32
diff --git a/lib/rib/rte_rib6.h b/lib/rib/rte_rib6.h
index d66d9e7c07c6..88d949e1db9a 100644
--- a/lib/rib/rte_rib6.h
+++ b/lib/rib/rte_rib6.h
@@ -22,8 +22,6 @@
extern "C" {
#endif
-#define RTE_RIB6_IPV6_ADDR_SIZE (RTE_DEPRECATED(RTE_RIB6_IPV6_ADDR_SIZE) RTE_IPV6_ADDR_SIZE)
-
/**
* rte_rib6_get_nxt() flags
*/
@@ -49,77 +47,6 @@ struct rte_rib6_conf {
int max_nodes;
};
-/**
- * Copy IPv6 address from one location to another
- *
- * @param dst
- * pointer to the place to copy
- * @param src
- * pointer from where to copy
- */
-static inline void rte_rib6_copy_addr(uint8_t *dst, const uint8_t *src)
- __rte_deprecated_msg("use direct struct assignment");
-
-static inline void
-rte_rib6_copy_addr(uint8_t *dst, const uint8_t *src)
-{
- if ((dst == NULL) || (src == NULL))
- return;
- rte_memcpy(dst, src, RTE_IPV6_ADDR_SIZE);
-}
-
-/**
- * Compare two IPv6 addresses
- *
- * @param ip1
- * pointer to the first ipv6 address
- * @param ip2
- * pointer to the second ipv6 address
- *
- * @return
- * 1 if equal
- * 0 otherwise
- */
-static inline int rte_rib6_is_equal(const uint8_t *ip1, const uint8_t *ip2)
- __rte_deprecated_msg("use rte_ipv6_addr_eq");
-
-static inline int
-rte_rib6_is_equal(const uint8_t *ip1, const uint8_t *ip2) {
- int i;
-
- if ((ip1 == NULL) || (ip2 == NULL))
- return 0;
- for (i = 0; i < RTE_IPV6_ADDR_SIZE; i++) {
- if (ip1[i] != ip2[i])
- return 0;
- }
- return 1;
-}
-
-/**
- * Get 8-bit part of 128-bit IPv6 mask
- *
- * @param depth
- * ipv6 prefix length
- * @param byte
- * position of a 8-bit chunk in the 128-bit mask
- *
- * @return
- * 8-bit chunk of the 128-bit IPv6 mask
- */
-static inline uint8_t get_msk_part(uint8_t depth, int byte) __rte_deprecated;
-
-static inline uint8_t
-get_msk_part(uint8_t depth, int byte) {
- uint8_t part;
-
- byte &= 0xf;
- depth = RTE_MIN(depth, 128);
- part = RTE_MAX((int16_t)depth - (byte * 8), 0);
- part = (part > 8) ? 8 : part;
- return (uint16_t)(~UINT8_MAX) >> part;
-}
-
/**
* Lookup an IP into the RIB structure
*
diff --git a/lib/table/rte_table_lpm_ipv6.h b/lib/table/rte_table_lpm_ipv6.h
index 3ea888360635..8687e2612480 100644
--- a/lib/table/rte_table_lpm_ipv6.h
+++ b/lib/table/rte_table_lpm_ipv6.h
@@ -48,8 +48,6 @@
extern "C" {
#endif
-#define RTE_LPM_IPV6_ADDR_SIZE (RTE_DEPRECATED(RTE_LPM_IPV6_ADDR_SIZE) RTE_IPV6_ADDR_SIZE)
-
/** LPM table parameters */
struct rte_table_lpm_ipv6_params {
/** Table name */
--
2.55.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH dpdk] lpm6, fib6, rib6, table: remove deprecated functions and macros
2026-07-24 8:49 [PATCH dpdk] lpm6, fib6, rib6, table: remove deprecated functions and macros Robin Jarry
@ 2026-07-24 11:25 ` David Marchand
2026-07-24 11:45 ` [PATCH dpdk v2] fib, lpm, net, rib, " Robin Jarry
1 sibling, 0 replies; 3+ messages in thread
From: David Marchand @ 2026-07-24 11:25 UTC (permalink / raw)
To: Robin Jarry
Cc: dev, Vladimir Medvedkin, Bruce Richardson, Cristian Dumitrescu,
Thomas Monjalon
On Fri, 24 Jul 2026 at 10:49, Robin Jarry <rjarry@redhat.com> wrote:
>
> These function were marked as deprecated in DPDK 24.11. Remove them
> completely.
>
> Signed-off-by: Robin Jarry <rjarry@redhat.com>
> ---
> doc/guides/rel_notes/release_26_11.rst | 11 ++++
> lib/fib/rte_fib6.h | 4 --
> lib/lpm/rte_lpm6.h | 3 --
> lib/rib/rte_rib6.h | 73 --------------------------
> lib/table/rte_table_lpm_ipv6.h | 2 -
Thanks for the quick patch.
rte_fib6.h, rte_lpm6.h and rte_table_lpm_ipv6.h don't need to include
rte_common.h anymore.
It had been added when deprecating those macros/functions.
I think you missed RTE_IP_ICMP_ECHO_REPLY and
RTE_IP_ICMP_ECHO_REQUEST, from 87bde5ae6873 ("net: add more ICMP types
and codes").
> 5 files changed, 11 insertions(+), 82 deletions(-)
>
> diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
> index 938617ca7542..fb9cde591695 100644
> --- a/doc/guides/rel_notes/release_26_11.rst
> +++ b/doc/guides/rel_notes/release_26_11.rst
> @@ -68,6 +68,17 @@ Removed Items
> Also, make sure to start the actual text at the margin.
> =======================================================
>
> +* Deprecated functions removed:
> +
> + - ``RTE_FIB6_IPV6_ADDR_SIZE``
> + - ``RTE_FIB6_MAXDEPTH``
> + - ``RTE_LPM6_IPV6_ADDR_SIZE``
> + - ``RTE_LPM6_MAX_DEPTH``
> + - ``RTE_LPM_IPV6_ADDR_SIZE``
> + - ``RTE_RIB6_IPV6_ADDR_SIZE``
> + - ``get_msk_part``
> + - ``rte_rib6_copy_addr``
> + - ``rte_rib6_is_equal``
Yes good thing to add a generic entry, we have other removals that
will end up here.
I would sort those by libraries, as I intend to reuse this entry for
PCI cleanup.
So something like:
@@ -68,6 +68,14 @@ Removed Items
Also, make sure to start the actual text at the margin.
=======================================================
+* Removed deprecated macros and functions:
+
+ * fib: ``RTE_FIB6_IPV6_ADDR_SIZE``, ``RTE_FIB6_MAXDEPTH``,
+ * lpm: ``RTE_LPM6_IPV6_ADDR_SIZE``, ``RTE_LPM6_MAX_DEPTH``,
+ * rib: ``RTE_RIB6_IPV6_ADDR_SIZE``, ``get_msk_part``,
``rte_rib6_copy_addr``,
+ ``rte_rib6_is_equal``
+ * table: ``RTE_LPM_IPV6_ADDR_SIZE``,
+
API Changes
-----------
--
David Marchand
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH dpdk v2] fib, lpm, net, rib, table: remove deprecated functions and macros
2026-07-24 8:49 [PATCH dpdk] lpm6, fib6, rib6, table: remove deprecated functions and macros Robin Jarry
2026-07-24 11:25 ` David Marchand
@ 2026-07-24 11:45 ` Robin Jarry
1 sibling, 0 replies; 3+ messages in thread
From: Robin Jarry @ 2026-07-24 11:45 UTC (permalink / raw)
To: dev, Vladimir Medvedkin, Bruce Richardson, Cristian Dumitrescu
Cc: David Marchand
These symbols were marked as deprecated in DPDK 24.11. Remove them
completely.
Signed-off-by: Robin Jarry <rjarry@redhat.com>
---
Notes:
v2:
* Also remove RTE_IP_ICMP_ECHO_REPLY and RTE_IP_ICMP_ECHO_REQUEST.
* Restructure the release note entry to group symbols by library.
* Remove now unused rte_common.h includes.
doc/guides/rel_notes/release_26_11.rst | 18 +++++++
lib/fib/rte_fib6.h | 5 --
lib/lpm/rte_lpm6.h | 4 --
lib/net/rte_icmp.h | 4 --
lib/rib/rte_rib6.h | 74 --------------------------
lib/table/rte_table_lpm_ipv6.h | 3 --
6 files changed, 18 insertions(+), 90 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 938617ca7542..b6aea129efc8 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -68,6 +68,24 @@ Removed Items
Also, make sure to start the actual text at the margin.
=======================================================
+* Deprecated symbols removed:
+
+ fib
+ - ``RTE_FIB6_IPV6_ADDR_SIZE``
+ - ``RTE_FIB6_MAXDEPTH``
+ lpm
+ - ``RTE_LPM6_IPV6_ADDR_SIZE``
+ - ``RTE_LPM6_MAX_DEPTH``
+ net
+ - ``RTE_IP_ICMP_ECHO_REPLY``
+ - ``RTE_IP_ICMP_ECHO_REQUEST``
+ rib
+ - ``RTE_RIB6_IPV6_ADDR_SIZE``
+ - ``get_msk_part``
+ - ``rte_rib6_copy_addr``
+ - ``rte_rib6_is_equal``
+ table
+ - ``RTE_LPM_IPV6_ADDR_SIZE``
API Changes
-----------
diff --git a/lib/fib/rte_fib6.h b/lib/fib/rte_fib6.h
index 4527328bf00d..fcbd10de1597 100644
--- a/lib/fib/rte_fib6.h
+++ b/lib/fib/rte_fib6.h
@@ -17,7 +17,6 @@
#include <stdint.h>
-#include <rte_common.h>
#include <rte_ip6.h>
#include <rte_rcu_qsbr.h>
@@ -25,10 +24,6 @@
extern "C" {
#endif
-#define RTE_FIB6_IPV6_ADDR_SIZE (RTE_DEPRECATED(RTE_FIB6_IPV6_ADDR_SIZE) RTE_IPV6_ADDR_SIZE)
-/** Maximum depth value possible for IPv6 FIB. */
-#define RTE_FIB6_MAXDEPTH (RTE_DEPRECATED(RTE_FIB6_MAXDEPTH) RTE_IPV6_MAX_DEPTH)
-
/* Maximum length of a FIB name. */
#define RTE_FIB6_NAMESIZE 64
diff --git a/lib/lpm/rte_lpm6.h b/lib/lpm/rte_lpm6.h
index 08b561861348..c5928b9d88e2 100644
--- a/lib/lpm/rte_lpm6.h
+++ b/lib/lpm/rte_lpm6.h
@@ -11,16 +11,12 @@
#include <stdint.h>
-#include <rte_common.h>
#include <rte_ip6.h>
#ifdef __cplusplus
extern "C" {
#endif
-
-#define RTE_LPM6_MAX_DEPTH (RTE_DEPRECATED(RTE_LPM6_MAX_DEPTH) RTE_IPV6_MAX_DEPTH)
-#define RTE_LPM6_IPV6_ADDR_SIZE (RTE_DEPRECATED(RTE_LPM6_IPV6_ADDR_SIZE) RTE_IPV6_ADDR_SIZE)
/** Max number of characters in LPM name. */
#define RTE_LPM6_NAMESIZE 32
diff --git a/lib/net/rte_icmp.h b/lib/net/rte_icmp.h
index cca73b373368..a504c921deb8 100644
--- a/lib/net/rte_icmp.h
+++ b/lib/net/rte_icmp.h
@@ -51,13 +51,9 @@ struct __rte_packed_begin rte_icmp_hdr {
/* ICMP packet types */
#define RTE_ICMP_TYPE_ECHO_REPLY 0
-#define RTE_IP_ICMP_ECHO_REPLY \
- (RTE_DEPRECATED(RTE_IP_ICMP_ECHO_REPLY) RTE_ICMP_TYPE_ECHO_REPLY)
#define RTE_ICMP_TYPE_DEST_UNREACHABLE 3
#define RTE_ICMP_TYPE_REDIRECT 5
#define RTE_ICMP_TYPE_ECHO_REQUEST 8
-#define RTE_IP_ICMP_ECHO_REQUEST \
- (RTE_DEPRECATED(RTE_IP_ICMP_ECHO_REQUEST) RTE_ICMP_TYPE_ECHO_REQUEST)
#define RTE_ICMP_TYPE_TTL_EXCEEDED 11
#define RTE_ICMP_TYPE_PARAM_PROBLEM 12
#define RTE_ICMP_TYPE_TIMESTAMP_REQUEST 13
diff --git a/lib/rib/rte_rib6.h b/lib/rib/rte_rib6.h
index d66d9e7c07c6..e3fb464ae68e 100644
--- a/lib/rib/rte_rib6.h
+++ b/lib/rib/rte_rib6.h
@@ -15,15 +15,12 @@
*/
#include <rte_memcpy.h>
-#include <rte_common.h>
#include <rte_ip6.h>
#ifdef __cplusplus
extern "C" {
#endif
-#define RTE_RIB6_IPV6_ADDR_SIZE (RTE_DEPRECATED(RTE_RIB6_IPV6_ADDR_SIZE) RTE_IPV6_ADDR_SIZE)
-
/**
* rte_rib6_get_nxt() flags
*/
@@ -49,77 +46,6 @@ struct rte_rib6_conf {
int max_nodes;
};
-/**
- * Copy IPv6 address from one location to another
- *
- * @param dst
- * pointer to the place to copy
- * @param src
- * pointer from where to copy
- */
-static inline void rte_rib6_copy_addr(uint8_t *dst, const uint8_t *src)
- __rte_deprecated_msg("use direct struct assignment");
-
-static inline void
-rte_rib6_copy_addr(uint8_t *dst, const uint8_t *src)
-{
- if ((dst == NULL) || (src == NULL))
- return;
- rte_memcpy(dst, src, RTE_IPV6_ADDR_SIZE);
-}
-
-/**
- * Compare two IPv6 addresses
- *
- * @param ip1
- * pointer to the first ipv6 address
- * @param ip2
- * pointer to the second ipv6 address
- *
- * @return
- * 1 if equal
- * 0 otherwise
- */
-static inline int rte_rib6_is_equal(const uint8_t *ip1, const uint8_t *ip2)
- __rte_deprecated_msg("use rte_ipv6_addr_eq");
-
-static inline int
-rte_rib6_is_equal(const uint8_t *ip1, const uint8_t *ip2) {
- int i;
-
- if ((ip1 == NULL) || (ip2 == NULL))
- return 0;
- for (i = 0; i < RTE_IPV6_ADDR_SIZE; i++) {
- if (ip1[i] != ip2[i])
- return 0;
- }
- return 1;
-}
-
-/**
- * Get 8-bit part of 128-bit IPv6 mask
- *
- * @param depth
- * ipv6 prefix length
- * @param byte
- * position of a 8-bit chunk in the 128-bit mask
- *
- * @return
- * 8-bit chunk of the 128-bit IPv6 mask
- */
-static inline uint8_t get_msk_part(uint8_t depth, int byte) __rte_deprecated;
-
-static inline uint8_t
-get_msk_part(uint8_t depth, int byte) {
- uint8_t part;
-
- byte &= 0xf;
- depth = RTE_MIN(depth, 128);
- part = RTE_MAX((int16_t)depth - (byte * 8), 0);
- part = (part > 8) ? 8 : part;
- return (uint16_t)(~UINT8_MAX) >> part;
-}
-
/**
* Lookup an IP into the RIB structure
*
diff --git a/lib/table/rte_table_lpm_ipv6.h b/lib/table/rte_table_lpm_ipv6.h
index 3ea888360635..a9fbc906f3a0 100644
--- a/lib/table/rte_table_lpm_ipv6.h
+++ b/lib/table/rte_table_lpm_ipv6.h
@@ -39,7 +39,6 @@
#include <stdint.h>
-#include <rte_common.h>
#include <rte_ip6.h>
#include "rte_table.h"
@@ -48,8 +47,6 @@
extern "C" {
#endif
-#define RTE_LPM_IPV6_ADDR_SIZE (RTE_DEPRECATED(RTE_LPM_IPV6_ADDR_SIZE) RTE_IPV6_ADDR_SIZE)
-
/** LPM table parameters */
struct rte_table_lpm_ipv6_params {
/** Table name */
--
2.55.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-24 11:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-24 8:49 [PATCH dpdk] lpm6, fib6, rib6, table: remove deprecated functions and macros Robin Jarry
2026-07-24 11:25 ` David Marchand
2026-07-24 11:45 ` [PATCH dpdk v2] fib, lpm, net, rib, " Robin Jarry
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox