|SUCCESS| [v6, 4/4] net/af_packet: use kernel to filter multi-queue Rx

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Thu Oct 15 13:40:58 CEST 2026


Test-Label: ai-code-review
Test-Status: SUCCESS
https://dpdk.org/patch/171408

_AI Code Review_

=== Patch Review: series.patch (via Claude) ===
Review date: 2026-10-15

# DPDK Patch Review

## PATCH 1/4: test/af_packet: ignore stray packets in loopback test

### Errors

None.

### Warnings

None.

### Info

None.

---

## PATCH 2/4: net/af_packet: filter Rx of outgoing packets in the PMD

### Errors

None.

### Warnings

**Warning 1: Missing bounds check in `do_tap_fd_tx_burst()`**

The function `do_tap_fd_tx_burst()` calls `write()` in a loop but does not check whether `write()` returns fewer bytes than requested before returning success. While `write()` to a TAP device typically writes the full frame or fails, a short write is not impossible and would cause the function to return success after writing a partial frame.

```c
for (i = 0; i < n; i++) {
    if (write(fd, frame, sizeof(frame)) != (ssize_t)sizeof(frame))
        return -1;
}
```

Suggested fix: This is actually correct as written. The check `!= (ssize_t)sizeof(frame)` catches both short writes (return value less than `sizeof(frame)`) and errors (negative return value). No change needed.

(Correction: After re-reading, this is not an issue. The comparison already checks for both short writes and errors.)

---

## PATCH 3/4: net/af_packet: use kernel to filter single-queue Rx

### Errors

None.

### Warnings

None.

### Info

None.

---

## PATCH 4/4: net/af_packet: use kernel to filter multi-queue Rx

### Errors

None.

### Warnings

None.

### Info

None.

---

## Summary

All four patches are well-structured and follow DPDK coding standards. The code correctly:

- Tags frames with distinct source MACs to distinguish test traffic from stray packets
- Implements the `ignore_outgoing` devarg with proper kernel support detection
- Falls back to PMD-side filtering when kernel support is unavailable
- Updates documentation and release notes appropriately
- Adds comprehensive test coverage including error cases

The patches introduce no correctness bugs, follow DPDK style guidelines, and properly document the new feature.

Review-Result: CLEAN


More information about the test-report mailing list