|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