|WARNING| crypto/ipsec_mb: require minimum version 2.0 for IPsec MB

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Tue Aug 11 13:50:00 CEST 2026


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

_AI Code Review_

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

# DPDK Patch Review

## Summary
This patch updates the minimum required Intel IPsec MB library version from 1.4.0 to 2.0.0 and removes conditional compilation code for older versions. The changes are primarily cleanup of version-gated code blocks.

---

## Errors

None found.

---

## Warnings

### 1. Missing release notes entry for QAT driver

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

The patch updates the minimum IPsec MB version requirement in `drivers/common/qat/meson.build` but the release notes only mention the AESNI_MB crypto driver. The QAT driver also uses IPsec MB for HMAC precomputes and has the same version requirement change.

**Suggested fix:**
```rst
* **Updated AESNI_MB crypto driver.**

  * Remove support for versions older than 2.0 of IPsec MB Library.

* **Updated QAT crypto driver.**

  * Minimum required IPsec MB library version increased to 2.0 for HMAC precomputes.
```

---

### 2. Inconsistent alignment attribute usage

**File:** `drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h`, line 1035

The `alignas(16)` attribute is used within the struct definition for the `encode` field. While this is valid C11, DPDK style prefers using `__rte_aligned(N)` for consistency with the rest of the codebase.

**Current:**
```c
alignas(16) uint32_t encode[IMB_SM4_KEY_SCHEDULE_ROUNDS];
```

**Suggested:**
```c
uint32_t encode[IMB_SM4_KEY_SCHEDULE_ROUNDS] __rte_aligned(16);
```

This is a pre-existing pattern being exposed by the cleanup, but worth noting for future changes.

---

## Info

### 1. Version table formatting opportunity

**Files:** `doc/guides/cryptodevs/aesni_gcm.rst`, `aesni_mb.rst`, `snow3g.rst`, `zuc.rst`

The version compatibility tables are updated with correct information. The formatting is consistent with existing style. No changes needed, but consider aligning the version ranges for readability:

```rst
   ==============  ============================
   DPDK version    Minimum version
   ==============  ============================
   20.11 - 21.08   0.53 - 1.3
   21.11 - 24.07   1.0  - 1.5
   24.11 - 26.07   1.4  - 2.0
   26.11+          2.0+
   ==============  ============================
```

Current formatting is acceptable; this is just a consistency observation.

---

### 2. Comment cleanup

**File:** `drivers/common/qat/meson.build`, line 49

The patch removes this comment:
```python
    # Check for IPsec MB library (required)
```

The comment removal is fine since the preceding comment on line 39 already states "IPsec MB is REQUIRED", making the removed comment redundant.

---

## Positive Observations

1. **Consistent version bump across all components:** The patch correctly updates the version requirement in all affected drivers and documentation.

2. **Proper conditional compilation removal:** All `#if IMB_VERSION(1, 5, 0) <= IMB_VERSION_NUM` and `#if IMB_VERSION(1, 5, 0) < IMB_VERSION_NUM` blocks are cleanly removed, leaving only the code for the new minimum version.

3. **No behavioral changes:** The code cleanup only removes version checks; all functional code remains identical.

4. **Documentation updated atomically:** All user-facing documentation (PMD guides) and release notes are updated in the same patch.

---

## Conclusion

The patch is well-structured and correct. The only actionable item is the missing QAT release notes entry (Warning #1). The alignment attribute observation (Warning #2) is pre-existing style and not introduced by this patch, so it's optional to address.


More information about the test-report mailing list