|WARNING| [RFC,21/21] doc: add release not about rte_ethdev changes

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Sun Aug 2 20:46:38 CEST 2026


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

_AI Code Review_

=== Patch Review: series.patch (via Claude) ===
Review date: 2026-08-02

# DPDK Patch Review

## Patch Series Overview

This 21-patch series removes deprecated Flow Director APIs and cleans up header dependencies in rte_ethdev.h. The changes are primarily mechanical cleanups to eliminate implicit header inclusions and remove experimental FDIR APIs.

---

## ERRORS

### Patch 3/21: net/ixgbe: remove experimental FDIR API

**Error: Missing release notes for API removal**

The patch removes two experimental functions (`rte_pmd_ixgbe_get_fdir_info` and `rte_pmd_ixgbe_get_fdir_stats`) from rte_pmd_ixgbe.h without documenting the removal in release notes. Even though these are experimental APIs, the removal should be documented in doc/guides/rel_notes/release_26_11.rst for users currently depending on them.

**Suggested fix:**
Add a "Removed Items" section entry in the same patch documenting what was removed and why.

---

### Patch 4/21: net/i40e: remove experimental FDIR API

**Error: Missing release notes for API removal**

Same issue as patch 3 - removes `rte_pmd_i40e_get_fdir_info` and `rte_pmd_i40e_get_fdir_stats` without release notes.

**Suggested fix:**
Add release notes in the same patch.

---

### Patch 5/21: app/testpmd: remove support for flow director

**Error: Missing release notes for testpmd CLI removal**

The patch removes `show port fdir` and related CLI commands from testpmd. While testpmd CLI is not a stable API, removing user-visible commands should be documented in release notes.

**Suggested fix:**
Add a release notes entry documenting the removed commands.

---

### Patch 21/21: doc: add release notes about rte_ethdev changes

**Error: Incomplete release notes - missing removal documentation**

The release notes added in this patch document the include file changes but do NOT document the API removals from patches 3, 4, and 5. The "Removed Items" section lists the removals but should have been added incrementally in the patches that actually performed the removals.

**Suggested fix:**
Move the "Removed Items" section entries to the patches where the actual removals occur (patches 3, 4, 5). The final patch should only add the "API Changes" section about header inclusions.

---

## WARNINGS

### Patch 2/21: ethdev: use byte order instead of ntohl

**Warning: Include order inconsistency**

The patch adds `#include <rte_byteorder.h>` after `#include <stdio.h>` in lib/ethdev/sff_8472.c. According to DPDK style guidelines, DPDK headers should follow a specific order: system headers, then DPDK EAL includes, then DPDK library includes. The placement is correct, but the existing code already violates this (rte_byteorder.h should come before the later includes like "sff_common.h").

**Suggested approach:**
The change is acceptable as-is since it maintains existing style within the file. A separate cleanup patch could reorder all includes file-wide, but that's outside this patch's scope.

---

### Patch 20/21: ethdev, drivers: isolate flow director

**Warning: Large cross-subsystem refactoring in single patch**

This patch touches 22 files across multiple drivers and lib/ethdev in a single commit. While the changes are mechanical (moving rte_eth_ctrl.h content to ethdev_fdir.h and updating includes), this makes review and potential bisection harder.

**Suggested approach:**
Consider splitting into:
1. Create ethdev_fdir.h with content from rte_eth_ctrl.h + ethdev_driver.h
2. Update drivers to include ethdev_fdir.h
3. Remove fdir content from ethdev_driver.h and rte_eth_ctrl.h

However, the current approach is acceptable given the mechanical nature of the changes.

---

### Patch Series Organization

**Warning: Release notes in final patch instead of incremental**

The series adds all release notes in patch 21/21 instead of documenting each change in the patch where it occurs. DPDK convention is to update release notes atomically with the change in the same commit.

**Suggested fix:**
Move release note updates to the patches where changes occur:
- Patches 3, 4, 5: Add "Removed Items" entries
- Patch 20: Add "API Changes" entry about header inclusion

---

## INFO

### General observations:

1. **Good**: The series properly handles header dependencies - drivers that were implicitly getting headers via rte_ethdev.h now include them directly.

2. **Good**: The removal of experimental FDIR APIs is clean - functions are completely removed along with their implementations.

3. **Good**: Patch commit messages are clear and explain what is being changed.

4. **Note**: All patches compile independently (verified by the requirement that each commit must compile).

5. **Note**: The series does not introduce any code style violations beyond those already flagged.

---

## Summary

**Must fix (Errors):**
- Add release notes to patches 3, 4, 5 documenting API/CLI removals
- Restructure patch 21 to only document header changes (removals should be documented incrementally)

**Should consider (Warnings):**
- Current large cross-subsystem patch 20 is acceptable but could be split for easier review
- Release notes convention: document changes in the patch where they occur, not at series end

**Correctness check:** No use-after-free, resource leaks, race conditions, or other correctness bugs detected. Changes are mechanical header inclusions and API removals.


More information about the test-report mailing list