diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-09 09:36:12 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-10 02:32:40 +0000 |
| commit | e9a4d3969a3164d41d41480bacd3520fcf05ccbf (patch) | |
| tree | 42f1ebfa93a9e25623f5d97aee77deffb7cb0e0a /lib/compat/(public-mirror) | |
| parent | a33860b0a2b98caf32c2ff62707f254ca92773f4 (diff) | |
A PF reset or loss of virtchnl service can make visible interface
initialization wait up to ten seconds and then return from the void
ifdi_init callback. Iflib consequently marks the interface running even
though its queues were not initialized, and no retry is scheduled when
the PF returns.
Check reset readiness without polling during reinitialization, propagate
queue-message submission errors, and bound a silent enable or disable to
one mailbox timeout. Report unsuccessful initialization to iflib and
publish link-down state without polling the stopped mailbox.
A VFLR also discards the Admin Queue and permits the PF to replace the
VF VSI. Track when full virtchnl rediscovery is required, renegotiate the
API version, refresh and validate the VF resources before using a cached
VSI ID, and replay the MAC and VLAN filters cleared by reset. Bound each
runtime discovery attempt while preserving the existing attach-time wait.
While the VF remains administratively up, retry complete
initialization after 250 ms, one second, four seconds, and then at a
capped eight-second interval.
MFC after: 2 weeks
Diffstat (limited to 'lib/compat/(public-mirror)')
0 files changed, 0 insertions, 0 deletions
