[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0bda852b-baaa-4167-ad9d-12931e213e29@linux.microsoft.com>
Date: Thu, 6 Nov 2025 13:36:50 -0800
From: Hardik Garg <hargar@...ux.microsoft.com>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: apais@...rosoft.com, cho@...rosoft.com, conor+dt@...nel.org,
decui@...rosoft.com, devicetree@...r.kernel.org, haiyangz@...rosoft.com,
hargar@...rosoft.com, krzk+dt@...nel.org, kys@...rosoft.com,
linux-hyperv@...r.kernel.org, linux-kernel@...r.kernel.org, robh@...nel.org,
ssengar@...ux.microsoft.com, wei.liu@...nel.org
Subject: Re: [PATCH v4 1/2] dt-bindings: microsoft: Add vmbus
message-connection-id property
On 11/4/2025 10:55 PM, Krzysztof Kozlowski wrote:
> On 05/11/2025 02:10, Hardik Garg wrote:
>> Each guest has a private hypervisor mailbox and cannot access any other
>> guest’s communication path. Using an incorrect connection ID does not
>> allow eavesdropping or cause interference — it only results in failed
>> VMBus initialization because the host drops messages sent to an
>> unexpected port. Thus, exposing the correct connection ID to the guest
>> is safe and necessary for correct initialization.
>>
>>> If different values are important for the host, then all guests should
>>> use whatever 0 which will map to different values on host by other means
>>> of your protocol.
>>>
>> Using a fixed value such as 0 for all guests would not work, because the
>> Hyper-V host differentiates between multiple control-plane contexts (for
>> example, VTL0 vs VTL2) using distinct connection IDs. The guest must use
>> the value assigned by the host, as there is no implicit mapping or
>> negotiation protocol to determine it otherwise.
> Sorry, I am not going back to three months old discussion.
I understand your point and I apologize again for the delay in getting
back to you. It took me some time to explore alternative approaches and
verify whether the connection ID could be handled differently, but I’m
now done with that investigation. I’ll make sure to respond in a timely
manner going forward.
>
> Therefore I close this topic for me with: since the actual value does
> not matter for the host - it will discard all messages which are not
> intended to this guest - you can just use value 0 and your hypervisor
> will map to proper port.
The connection ID is managed entirely by the hypervisor and varies
depending on the VM’s configuration (for example, whether the control
plane is in VTL0 or VTL2). There is no existing mapping logic on the
guest side that could translate a constant value like 0 into the correct
port assignment. The host assigns distinct IDs for each configuration,
and the guest must use that specific value to establish the VMBus
control channel correctly.
Could you please confirm if I’m misunderstanding your suggestion about
the mapping mechanism? Without receiving the correct ID from the
hypervisor (via DT or another interface), the guest cannot infer the
right port on its own.
Also, since this thread is quite old, would you prefer that I start a new
thread when I resend the updated patch?
Thanks again for your feedback and patience.
Thanks,
Hardik
Powered by blists - more mailing lists