|WARNING| [v2] fib, lpm, net, rib, table: remove deprecated functions and macros

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Fri Jul 24 14:09:50 CEST 2026


Test-Label: ai-code-review
Test-Status: WARNING
https://dpdk.org/patch/166929

_AI Code Review_

=== Patch Review: series.patch (via Claude) ===
Review date: 2026-07-24

# DPDK Patch Review

## Summary
This patch removes deprecated symbols from fib, lpm, net, rib, and table libraries as announced in DPDK 24.11. The patch is generally clean with proper documentation updates.

---

## Errors

None found.

---

## Warnings

### 1. Missing ABI compatibility documentation
**File:** `doc/guides/rel_notes/release_26_11.rst`

The removal of deprecated symbols constitutes an ABI break. While these symbols were deprecated in 24.11, the release notes should explicitly state this is an ABI change and note the migration path for users still using the old symbols.

**Suggested fix:**
Add an entry under "API Changes" section noting the ABI impact and the replacements:

```rst
API Changes
-----------

* **Removed deprecated IPv6 symbols**

  The following deprecated symbols have been removed. Applications should use
  the replacements listed:

  * ``RTE_FIB6_IPV6_ADDR_SIZE`` - ``RTE_IPV6_ADDR_SIZE``
  * ``RTE_FIB6_MAXDEPTH`` - ``RTE_IPV6_MAX_DEPTH``
  * ``RTE_LPM6_IPV6_ADDR_SIZE`` - ``RTE_IPV6_ADDR_SIZE``
  * ``RTE_LPM6_MAX_DEPTH`` - ``RTE_IPV6_MAX_DEPTH``
  * ``RTE_IP_ICMP_ECHO_REPLY`` - ``RTE_ICMP_TYPE_ECHO_REPLY``
  * ``RTE_IP_ICMP_ECHO_REQUEST`` - ``RTE_ICMP_TYPE_ECHO_REQUEST``
  * ``RTE_RIB6_IPV6_ADDR_SIZE`` - ``RTE_IPV6_ADDR_SIZE``
  * ``rte_rib6_copy_addr()`` - direct struct assignment
  * ``rte_rib6_is_equal()`` - ``rte_ipv6_addr_eq()``
  * ``get_msk_part()`` - no direct replacement
  * ``RTE_LPM_IPV6_ADDR_SIZE`` - ``RTE_IPV6_ADDR_SIZE``
```

### 2. Release notes formatting - definition list preferred
**File:** `doc/guides/rel_notes/release_26_11.rst`

The removed symbols list uses bullet points where a definition list would be more appropriate per AGENTS.md RST style guidelines. Each library name is effectively a term with a list of symbols as its description.

**Suggested fix:**
```rst
*  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``
```

---

## Info

### 1. Removal of `rte_common.h` includes
The patch removes `#include <rte_common.h>` from several files now that `RTE_DEPRECATED` macro usage is gone. This is correct - the includes were only needed for the deprecation macros and are no longer required.

### 2. Deprecated function implementations removed
The removal of `rte_rib6_copy_addr()`, `rte_rib6_is_equal()`, and `get_msk_part()` inline function definitions is correct. These were marked deprecated and have documented replacements.

---

## Overall Assessment

The patch correctly removes deprecated symbols that were announced for removal in 24.11. The code changes are clean and the release notes properly document what was removed. The only improvement needed is better documentation of the ABI impact and migration path in the API Changes section, and minor RST formatting preference for the release notes.


More information about the test-report mailing list