Principally for hn(4) to match the synthetic and VF settings
Implement the iflib RSS key and hash query methods for both register-based and PF-managed RSS. Cache the programmed key and HENA selections instead of reading registers or issuing mailbox requests from the query path. This lets hn synchronize its synthetic RSS configuration with the VF. For PF-managed RSS, publish the snapshot only after successful replies to both CONFIG_RSS_KEY and SET_RSS_HENA. Failed sends, rejected requests, and missing replies leave it unavailable. Serialize mailbox completion and query state with vc_mtx, and invalidate it at init, stop, mailbox loss, and reset notification. Reject queries while stopped or recovering. Report the first 40 key bytes used by standard IPv4/IPv6 tuples, or the shorter key length supplied by the PF. Preserve register byte order on the direct-programming path and report the merged HENA rather than just the globally requested hash types. Translate the six representable IPv4/IPv6 TCP/UDP selections without treating fragment PCTYPEs as IPv6 extension-header selections. The single-queue register path reports RSS_FUNC_NONE; the PF-managed path retains its existing hashing policy. Leave key selection, queue distribution, and the receive datapath unchanged. RSS programming remains asynchronous; queries return ENXIO until both confirmations arrive without themselves waiting for a reply.