Skip to content

net/cxgbe: fix packed Rx handling and flow port scoping

Abdulrahman Alshawi dpdk-dev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2net/cxgbe: fix Rx handling for packed responses+0 -01 reply
2/2net/cxgbe: restrict rte flow rules to ingress port+0 -01 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/2] net/cxgbe: fix packed Rx handling and flow port scoping

This series fixes two correctness issues in the cxgbe PMD that can cause traffic loss on Chelsio T6 adapters, especially when rte_flow QUEUE rules concentrate ingress on a small set of RX queues.

Patch 1 fixes packed Rx response handling. The current PMD assumes every response descriptor starts a new Free List buffer by requiring F_RSPD_NEWBUF on each response. That assumption does not always hold for packed ingress responses. Under sustained small-packet traffic to a single ingress queue, the FL/IQ state goes out of sync and the affected Rx path stops making forward progress.

Patch 2 scopes rte_flow rules to the ingress port they were created on. Chelsio filters are programmed in adapter-wide tables, and the PMD already supports the iport field in the hardware filter spec. However, the flow parser never fills it for normal per-port rules, so a rule created on one port can also match traffic arriving on sibling ports of the same adapter.

Both issues reproduce with stock testpmd on T62100-LP-CR. The per-patch commit messages include the details and reproducers.

Abdulrahman Alshawi (2):
net/cxgbe: fix Rx handling for packed responses net/cxgbe: restrict rte_flow rules to ingress port

.mailmap | 1 +
drivers/net/cxgbe/base/adapter.h | 1 + drivers/net/cxgbe/cxgbe_flow.c | 19 +++++ drivers/net/cxgbe/sge.c | 122 ++++++++++++++++++++++++-------

4 files changed, 118 insertions(+), 25 deletions(-) 

--
2.39.5