Page MenuHomeFreeBSD

ice: Restart disabled VF Tx queues from saved configuration
Needs ReviewPublic

Authored by kbowling on Sun, Sep 20, 12:35 AM.
Tags
None
Referenced Files
F172768379: D59851.diff
Sun, Sep 20, 8:54 PM
Unknown Object (File)
Sun, Sep 20, 2:46 AM
Unknown Object (File)
Sun, Sep 20, 1:56 AM
Unknown Object (File)
Sun, Sep 20, 1:54 AM
Unknown Object (File)
Sun, Sep 20, 1:23 AM
Subscribers

Details

Reviewers
kgalazka
Group Reviewers
Intel Networking
Restricted Owners Package(Owns No Changed Paths)
Summary
DPDK iavf's per-queue stop/start operations send DISABLE_QUEUES followed
by ENABLE_QUEUES without another CONFIG_VSI_QUEUES. Disabling an ice Tx
queue removes its hardware scheduler leaf, so acknowledging ENABLE alone
cannot restart it. Clearing the configured bitmap also prevents the VF
from requesting this sequence.

Track saved configuration separately from active Tx queues. Retain ring
parameters and queue handles on disable, and recreate only the selected
inactive queues on enable. Share the existing Tx context builder between
initial VSI configuration and per-queue restart. Keep the initial
Tx-at-CONFIG behavior and the existing dense-prefix CONFIG validation.

Track cleanup progress per queue and publish valid configuration only
after both Tx and Rx configuration succeed. If an enable fails, undo its
partial setup before permitting a retry. Retain hardware ownership when
cleanup fails and reject another enable of that queue rather than
silently acknowledging it. A failed post-add rollback without a software
scheduler node requires VF reset, not a successful no-op disable.

MFC after:      2 weeks
Sponsored by:   BBOX.io

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped