|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:12:16 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

# Review of DPDK Patch: Remove Deprecated Functions and Macros

## Summary

This patch removes deprecated symbols that were marked for removal in DPDK 24.11. The patch is well-structured and follows the DPDK deprecation process correctly. No correctness bugs were identified.

## Findings

### Warnings

**1. Release notes structure**

**File:** `doc/guides/rel_notes/release_26_11.rst`

The release notes use a bullet list with library names as bold terms followed by symbol lists. This pattern would be clearer as an RST definition list:

```rst
Current format:
*  Deprecated symbols removed:

   fib
      - ``RTE_FIB6_IPV6_ADDR_SIZE``
      - ``RTE_FIB6_MAXDEPTH``
   lpm
      - ``RTE_LPM6_IPV6_ADDR_SIZE``
      ...

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

This produces better-structured HTML/PDF output and is easier to scan.

### Info

**1. Removal of `rte_common.h` includes**

**Files:** `lib/fib/rte_fib6.h`, `lib/lpm/rte_lpm6.h`, `lib/rib/rte_rib6.h`, `lib/table/rte_table_lpm_ipv6.h`

The patch removes `#include <rte_common.h>` from these headers after removing the deprecated macros. This is correct since:
- The removed macros (`RTE_DEPRECATED()`, `RTE_MIN()`, `RTE_MAX()`) came from `rte_common.h`
- Remaining code in these headers uses types and macros from `rte_ip6.h` (which is still included)
- `rte_rib6.h` uses `rte_memcpy()` which comes from `rte_memcpy.h` (still included)

The removal is appropriate and does not break the remaining code.

**2. Deprecated function removal from `rte_rib6.h`**

The removed functions (`rte_rib6_copy_addr`, `rte_rib6_is_equal`, `get_msk_part`) were properly marked as deprecated with suggested replacements in their Doxygen. Their removal follows DPDK deprecation policy.

## Positive Observations

1. **Complete deprecation removal**: All references to deprecated symbols are removed atomically in a single commit
2. **Documentation updated**: Release notes properly document the removed symbols, grouped by library
3. **Deprecation policy followed**: Symbols were marked deprecated in 24.11, removed in 26.11 (proper timeline)
4. **Clean header cleanup**: Removal of `rte_common.h` includes is appropriate since deprecated macros were the only usage
5. **No remaining references**: The deprecated inline function implementations are completely removed

## Conclusion

This is a clean deprecation removal patch with proper release notes. The only suggestion is to restructure the release notes for better formatting. No correctness issues were found.


More information about the test-report mailing list