Skip to content

#12 - Fix DPDK flow isolation ordering#125

Merged
dleshchev merged 6 commits into
mainfrom
cburdick/fix-dpdk-flow-isolation-order
Jun 6, 2026
Merged

#12 - Fix DPDK flow isolation ordering#125
dleshchev merged 6 commits into
mainfrom
cburdick/fix-dpdk-flow-isolation-order

Conversation

@cliffburdick
Copy link
Copy Markdown
Collaborator

Flow isolation was being turned on after configure, which is incorrect.

Signed-off-by: Cliff Burdick <cburdick@nvidia.com>
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jun 5, 2026

Greptile Summary

This PR fixes a DPDK port-setup sequencing bug: rte_flow_isolate was previously called after rte_eth_dev_configure, but the DPDK specification requires isolation to be set before configure. The fix moves the call to the correct position and adds a fatal return on failure so a port is never started in a silently non-isolated state.

  • rte_flow_isolate is now invoked before rte_eth_dev_configure, with proper error logging and an early return on failure, eliminating the previous silent degradation path.
  • A new add_send_to_kernel_fallback helper adds a catch-all ETH-match flow (priority 100) in the same group used by the actual flows, ensuring unmatched packets are forwarded to the kernel rather than silently dropped by the NIC when isolation is active.
  • The loop tracking has_standard_flows / has_flex_item_flows correctly maps group 3 (standard, add_flow) and group 1 (flex item, add_flex_item_flow) to the two fallback calls, consistent with the jump-table groups defined in those helpers.

Confidence Score: 5/5

Safe to merge — the change is a targeted sequencing fix with no new configuration surface or public-API impact.

The ordering fix is correct per DPDK spec, the new failure path returns cleanly, and the fallback groups (3 for standard flows, 1 for flex-item flows) are consistent with the groups already used by add_flow and add_flex_item_flow. All commits carry DCO sign-offs and follow the required commit-title format.

No files require special attention.

Important Files Changed

Filename Overview
src/managers/dpdk/daqiri_dpdk_mgr.cpp Moves rte_flow_isolate before rte_eth_dev_configure (correct DPDK ordering), adds abort on isolation failure, and introduces add_send_to_kernel_fallback for isolated-port catch-all flows; group constants match existing add_flow (group 3) and add_flex_item_flow (group 1) usage.
src/managers/dpdk/daqiri_dpdk_mgr.h Adds declaration for the new add_send_to_kernel_fallback private helper; no other interface changes.

Reviews (6): Last reviewed commit: "#12 - Improve flow isolation failure log..." | Re-trigger Greptile

Comment thread src/managers/dpdk/daqiri_dpdk_mgr.cpp Outdated
cliffburdick and others added 4 commits June 5, 2026 16:27
Signed-off-by: Cliff Burdick <cburdick@nvidia.com>
Signed-off-by: Denis Leshchev <dleshchev@nvidia.com>
Signed-off-by: Denis Leshchev <dleshchev@nvidia.com>
Signed-off-by: Denis Leshchev <dleshchev@nvidia.com>
Signed-off-by: Denis Leshchev <dleshchev@nvidia.com>
@dleshchev dleshchev merged commit 665305f into main Jun 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants