qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Konstantin Shkolnyy <kshk@linux.ibm.com>
To: Jason Wang <jasowang@redhat.com>
Cc: qemu-devel@nongnu.org, dtatulea@nvidia.com,
	Cindy Lu <lulu@redhat.com>, eperezma <eperezma@redhat.com>
Subject: Re: VDPA MAC address problem
Date: Thu, 20 Mar 2025 09:18:55 -0500	[thread overview]
Message-ID: <2aa3381f-cf89-4634-aac8-3ed5491f0ee8@linux.ibm.com> (raw)
In-Reply-To: <CACGkMEvrOx=jN9iULQ_svJdqKt3guJuZNEOan9-eeLirLk7_=g@mail.gmail.com>

On 3/19/2025 19:58, Jason Wang wrote:
> Adding Cindy and Eugenio
> 
> On Thu, Mar 20, 2025 at 12:34 AM Konstantin Shkolnyy <kshk@linux.ibm.com> wrote:
>>
>> I’m observing a problem while testing VDPA with Nvidia ConnectX-6 (mlx5)
>> on s390.
>>
>> Upon start, virtio_net_device_realize() tries to set a new MAC address
>> by VHOST_VDPA_SET_CONFIG which doesn’t do anything.
>>
>> Later, the VM gets started and learns about the old address from
>> virtio_net_get_config() which returns whatever VHOST_VDPA_GET_CONFIG
>> returns, unless it's "6 zero bytes", in which case it instead returns
>> the desired new address (and the problem is avoided).
>>
>> Then QEMU again tries to set the new address from vhost_net_start(), now
>> by calling vhost_vdpa_net_load_cmd(...,VIRTIO_NET_CTRL_MAC,
>> VIRTIO_NET_CTRL_MAC_ADDR_SET, ...). This time the new address is
>> successfully programmed into the NIC, but the VM doesn't know about it.
> 
> Have you enabled shadow virtqueue? If yes, does it work if you don't do that?

I only run it in the default configuration, which has SVQ enabled.

>> As it is, the only VDPA scenario that's working for me is:
>> 1) Avoid specifying the MAC address in the "vdpa dev add" command (which
>> will create the "6 zero bytes" condition on the first launch).
>> 2) Keep using the same MAC address for every subsequent VM launch on the
>> same NIC "virtual function" (so that the old and new addresses are the
>> same).
> 
> This is the way we currently use it. Is there any limitation of this?

To be honest, I don't know how severe this limitation is, because I'm 
not a sysadmin. The problem is that I was searching www for info on how 
to setup VDPA and ended up hitting this bug and investigating it. 
Because the found info sources are variable and some show the address 
specified in "vdpa dev add".


  parent reply	other threads:[~2025-03-20 14:19 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-19 16:34 VDPA MAC address problem Konstantin Shkolnyy
2025-03-20  0:58 ` Jason Wang
2025-03-20  6:54   ` Eugenio Perez Martin
2025-03-20 13:59     ` Konstantin Shkolnyy
2025-03-20  9:14   ` Cindy Lu
2025-03-20 14:18   ` Konstantin Shkolnyy [this message]
2025-03-21  1:23     ` Jason Wang
2025-03-20 16:45   ` Konstantin Shkolnyy
2025-03-21  1:22     ` Jason Wang
2025-03-21  4:29       ` Konstantin Shkolnyy
2025-03-21  6:18         ` Cindy Lu
2025-03-24  4:04         ` Jason Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2aa3381f-cf89-4634-aac8-3ed5491f0ee8@linux.ibm.com \
    --to=kshk@linux.ibm.com \
    --cc=dtatulea@nvidia.com \
    --cc=eperezma@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=lulu@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).