mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-11-07 04:36:52 -10:00
Hyper-V does not expose the normal Intel PF/VF mailbox. Import the Hyper-V operation overrides from DPDK and complete its reset callback with the configuration-space mechanism submitted by Microsoft. Route ixv operations through the operation table, use mailbox API 1.0, and limit this environment to one queue pair. Claim the 82599, X540, X550, X550EM-X, and X550EM-A Hyper-V device IDs listed by DPDK. Select the same path for the E610 Hyper-V subdevice identity defined there. For E610/Linkville, read the emulated VFLINKS-format status from PCI configuration space at offset 0x209. Older families retain the MMIO VFLINKS path. Treat receive-mode changes as host-owned no-ops and do not retry VLAN operations that Hyper-V permanently rejects. Limit the Hyper-V 82599 MTU to 1504 because its VF does not implement the X540 RLPML field. Use mailbox reset indications only to refresh cached Hyper-V link state. Hyper-V does not provide the mailbox handshake required to treat that indication as a request for an iflib reinitialization. Tested on 82599 and E610 (with a followup commit) with Windows Server 2025 Hyper-V. PR: 232472, 239849 Obtained from: DPDK (shared code) Sponsored by: BBOX.io Co-authored-by: Wei Hu <[email protected]>