On Fri, Jul 17, 2026 at 8:18 AM Hardik Garg <[email protected]> wrote: > > VMBus sends CHANNELMSG_INITIATE_CONTACT through a Hyper-V message > connection ID. Older protocol versions use VMBUS_MESSAGE_CONNECTION_ID, > while protocol version 5.0 and newer normally use > VMBUS_MESSAGE_CONNECTION_ID_4. > > For a VTL2 kernel using VMBus protocol 5.0 or newer, the host > may expect INITIATE_CONTACT on either the redirect connection ID or > VMBUS_MESSAGE_CONNECTION_ID_4. There is no capability indication that > identifies which ID is active, so the driver must determine it at runtime. > > During VMBus negotiation, the redirect ID is tried first because it is > used by VTL2 configurations with VMBus redirection enabled. If the > redirect ID is unavailable, the host rejects it synchronously with > HV_STATUS_INVALID_CONNECTION_ID, allowing fallback to the standard ID. > > Return a distinct error for an invalid Initiate Contact connection ID so > this fallback does not mask other post-message failures or > protocol-version rejections. Preserve the existing connection ID > selection for older protocol versions or when running below VTL2. > > Signed-off-by: Hardik Garg <[email protected]>
Reviewed-by: Tianyu Lan <[email protected]> -- Thanks Tianyu Lan

