From nobody Sun Nov 24 01:30:40 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1727625807; cv=none; d=zohomail.com; s=zohoarc; b=gqf+AqPC/OMhshVexLAFzDdMnKz86rrBXOPFHDzIziqGYM3BRwkpcPBPH304++OHA4J0xgDZO6BBjmwUIEtrZzZg612w9YTlC/sFX701IAsET0zlluwlH4gMVpX/5GGLxg1kTqClgz7z9KTPKIO/D7ztaRlCS8HS0kHdLGjUY0w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1727625807; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=7+nuK5WQbO5rZWKRG3yG9LJ0smn5LZqaLrZu/m8EPnY=; b=EMrVFpeSs1aoVYJgOrQqlNT0IVg5sZipwN8/eAgVK6EUNWIZLLPvDJjPD+1HGB7LCY0xMidGzVabxzL1KAzP54ZZnQtr8TTB1dr3yCxtq/oREP1HOuIWoby2r1AOilAw7MxoUMwIQqy//1dgWAJJ6xDTgR9Fzf6qYjo0bPFDAf8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1727625807577368.2414398376477; Sun, 29 Sep 2024 09:03:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1suwNg-00015D-GJ; Sun, 29 Sep 2024 12:02:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1suwND-0000sj-3K for qemu-devel@nongnu.org; Sun, 29 Sep 2024 12:02:26 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1suwNB-00052h-H8 for qemu-devel@nongnu.org; Sun, 29 Sep 2024 12:02:14 -0400 Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-46-pyPkoKXxMdyTuLsPPLN81A-1; Sun, 29 Sep 2024 12:01:04 -0400 Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (unknown [10.30.177.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C64861955F44 for ; Sun, 29 Sep 2024 16:01:03 +0000 (UTC) Received: from server.redhat.com (unknown [10.72.112.11]) by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 3131719373D7; Sun, 29 Sep 2024 16:01:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1727625732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7+nuK5WQbO5rZWKRG3yG9LJ0smn5LZqaLrZu/m8EPnY=; b=ZLN/QRZ//ikSBl0aJAXc1u0svzS6XUWQpxYVr/nlppfR4POvpqjtgRPWVWvtnlmgKCIDU0 39DBdDp6hy1ehLfsNEd2QpBK13dp95JQOVg/R540kLGMO5EmVXhHtR9FR44tS/Y31+oFBT 7Dqn9h1JH8EsSLGytN8q5vWRs3IXVpM= X-MC-Unique: pyPkoKXxMdyTuLsPPLN81A-1 From: Cindy Lu To: lulu@redhat.com, mst@redhat.com, jasowang@redhat.com, qemu-devel@nongnu.org Subject: [PATCH v2 1/3] virtio_net: Add the check for vdpa's mac address Date: Sun, 29 Sep 2024 23:59:55 +0800 Message-ID: <20240929160045.2133423-2-lulu@redhat.com> In-Reply-To: <20240929160045.2133423-1-lulu@redhat.com> References: <20240929160045.2133423-1-lulu@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=lulu@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.095, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1727625809352116600 Content-Type: text/plain; charset="utf-8" When using a VDPA device, it is important to ensure that the MAC address is correctly set. The MAC address in the hardware should match the MAC address from the QEMU command line. This is a recommended configuration and will allow the system to boot. Signed-off-by: Cindy Lu --- hw/net/virtio-net.c | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index fb84d142ee..7aa7308244 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3589,12 +3589,43 @@ static bool failover_hide_primary_device(DeviceList= ener *listener, /* failover_primary_hidden is set during feature negotiation */ return qatomic_read(&n->failover_primary_hidden); } +static bool virtio_net_check_vdpa_mac(NetClientState *nc, VirtIONet *n, + MACAddr *cmdline_mac, Error **errp) +{ + struct virtio_net_config hwcfg =3D {}; + static const MACAddr zero =3D { .a =3D { 0, 0, 0, 0, 0, 0 } }; + + vhost_net_get_config(get_vhost_net(nc->peer), (uint8_t *)&hwcfg, ETH_A= LEN); + + /*For VDPA device following situations are acceptable:*/ =20 + if (memcmp(&hwcfg.mac, &zero, sizeof(MACAddr)) !=3D 0) { + /* + * 1.The hardware MAC address is the same as the QEMU command line= MAC + * address, and both of them are not 0. + */ + if ((memcmp(&hwcfg.mac, cmdline_mac, sizeof(MACAddr)) =3D=3D 0)) { + return true; + } + } + + error_setg(errp, + "vDPA device's mac %02x:%02x:%02x:%02x:%02x:%02x" + "not same with the cmdline's mac %02x:%02x:%02x:%02x:%02x:%= 02x," + "Please check.", + hwcfg.mac[0], hwcfg.mac[1], hwcfg.mac[2], hwcfg.mac[3], + hwcfg.mac[4], hwcfg.mac[5], cmdline_mac->a[0], cmdline_mac-= >a[1], + cmdline_mac->a[2], cmdline_mac->a[3], cmdline_mac->a[4], + cmdline_mac->a[5]); + + return false; +} static void virtio_net_device_realize(DeviceState *dev, Error **errp) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIONet *n =3D VIRTIO_NET(dev); NetClientState *nc; + MACAddr macaddr_cmdline; int i; =20 if (n->net_conf.mtu) { @@ -3702,6 +3733,7 @@ static void virtio_net_device_realize(DeviceState *de= v, Error **errp) virtio_net_add_queue(n, 0); =20 n->ctrl_vq =3D virtio_add_queue(vdev, 64, virtio_net_handle_ctrl); + memcpy(&macaddr_cmdline, &n->nic_conf.macaddr, sizeof(n->mac)); qemu_macaddr_default_if_unset(&n->nic_conf.macaddr); memcpy(&n->mac[0], &n->nic_conf.macaddr, sizeof(n->mac)); n->status =3D VIRTIO_NET_S_LINK_UP; @@ -3749,10 +3781,10 @@ static void virtio_net_device_realize(DeviceState *= dev, Error **errp) nc->rxfilter_notify_enabled =3D 1; =20 if (nc->peer && nc->peer->info->type =3D=3D NET_CLIENT_DRIVER_VHOST_VDP= A) { - struct virtio_net_config netcfg =3D {}; - memcpy(&netcfg.mac, &n->nic_conf.macaddr, ETH_ALEN); - vhost_net_set_config(get_vhost_net(nc->peer), - (uint8_t *)&netcfg, 0, ETH_ALEN, VHOST_SET_CONFIG_TYPE_FRONTEN= D); + if (!virtio_net_check_vdpa_mac(nc, n, &macaddr_cmdline, errp)) { + virtio_cleanup(vdev); + return; + } } QTAILQ_INIT(&n->rsc_chains); n->qdev =3D dev; --=20 2.45.0 From nobody Sun Nov 24 01:30:40 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1727625807; cv=none; d=zohomail.com; s=zohoarc; b=JZu81+jIX7bBMeFKnAiC5qbd96LqoqTCjylK148kBxKqJDsznmbOi4qtZE0LtGNL88HnbskYtcYjV3LNfYS7b0ByVrB+yAPiq3BmBqoU+3kaAJu4Fe0Tzg/UcoDm2GjwJN7YXy1MYCCHU9GNpzfPdOGfgkqAjjdg8Kqv2oE80yw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1727625807; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=VwQC8bKf/OEarvRsEXY6j875sA5t7Fkeh/Q7c0jUIl4=; b=Olk0RCCUwr7SukQT/AD+fB4AhmCcifhckMYpzGrDp4B5rdS5N7vT3HPQ7JBMXNvVxKl38YidgCb+pfE4ZQCp6SuPQ6Wvx9hcvAVysQ0WLNSN1dOd0zhUCTPrXYp230X80uBz2rUeyG1+1bKpT77fEQjeDmtOpPFWueCqF5L9hBc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1727625807472803.6045577214113; Sun, 29 Sep 2024 09:03:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1suwNg-0001BC-HO; Sun, 29 Sep 2024 12:02:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1suwNK-0000wX-E2 for qemu-devel@nongnu.org; Sun, 29 Sep 2024 12:02:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1suwNH-00053X-Ab for qemu-devel@nongnu.org; Sun, 29 Sep 2024 12:02:20 -0400 Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-479-oItx7WseNz23LOkA9hkHRg-1; Sun, 29 Sep 2024 12:01:07 -0400 Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (unknown [10.30.177.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 14F7A195FE3B for ; Sun, 29 Sep 2024 16:01:07 +0000 (UTC) Received: from server.redhat.com (unknown [10.72.112.11]) by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 9489A19373D7; Sun, 29 Sep 2024 16:01:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1727625738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VwQC8bKf/OEarvRsEXY6j875sA5t7Fkeh/Q7c0jUIl4=; b=DLBJt563syzddJs2KPsPjTi7H6YKFY2R+BkGwPPusdrkKoyw4CB5pWfoxKiN42zF0wV/ZH Ugfgy+rl62EQmo1iIG/JfFvAi/pVK5t/+yIieuObHx1IAnGRoX5qEsQ4v/fOUbNP/BOul0 7xgvXAayrbsEjES7LR66tyvV7kjpSys= X-MC-Unique: oItx7WseNz23LOkA9hkHRg-1 From: Cindy Lu To: lulu@redhat.com, mst@redhat.com, jasowang@redhat.com, qemu-devel@nongnu.org Subject: [PATCH v2 2/3] virtio_net: Add the 2rd acceptable situation for Mac setup. Date: Sun, 29 Sep 2024 23:59:56 +0800 Message-ID: <20240929160045.2133423-3-lulu@redhat.com> In-Reply-To: <20240929160045.2133423-1-lulu@redhat.com> References: <20240929160045.2133423-1-lulu@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=lulu@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.095, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1727625809325116601 Content-Type: text/plain; charset="utf-8" When using a VDPA device, the following situations are also acceptable: the hardware MAC address is not 0, and the MAC address in the QEMU command line is 0. Signed-off-by: Cindy Lu --- hw/net/virtio-net.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 7aa7308244..5c610d8078 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3607,6 +3607,18 @@ static bool virtio_net_check_vdpa_mac(NetClientState= *nc, VirtIONet *n, if ((memcmp(&hwcfg.mac, cmdline_mac, sizeof(MACAddr)) =3D=3D 0)) { return true; } + /* + * 2.The hardware MAC address is not 0, + * and the MAC address in the QEMU command line is 0. + * In this situation, the hardware MAC address will overwrite + * the QEMU command line address. + */ + if (memcmp(cmdline_mac, &zero, sizeof(MACAddr)) =3D=3D 0) { + /* overwrite the mac address with hardware address*/ + memcpy(&n->mac[0], &hwcfg.mac, sizeof(n->mac)); + memcpy(&n->nic_conf.macaddr, &hwcfg.mac, sizeof(n->mac)); + return true; + } } =20 error_setg(errp, --=20 2.45.0 From nobody Sun Nov 24 01:30:40 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1727625807; cv=none; d=zohomail.com; s=zohoarc; b=FAapRofqprSeny9osfdPJUNDfB79cL4CokOQ15F+YQdb9kgq5oxNfe3f8DmIwoMre/3/7eRHqVGn5vnNNlTuIAYwVogemEn7ejmXMRI7miPr0O4ASgE+tFr5j2fNa92Gld4bfiSPYtK4E7ZcHxm9RKYjwDfx+lWQO8yxL224Tlg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1727625807; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=bD94lcvC8v6wGaXgi9MNfUlyhI2EIb4wEelTESyzNSU=; b=Avrtm34m7L1BsFnPmabQsgnEvqeV/pA0VB6xtNR4jmpeTtslCGDulgtZ4Of9OSSI1+hlkQFrk1EpdnFnm4d0fRITC6Cw6E8Cd3T3xnlxhv/zm2Pd6DuM+4/88cScD6vifVrVvdXQ82ui4OcVeTGF/TwpB/Se/vx5z+pqUpfaSNY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1727625807494388.34964663446567; Sun, 29 Sep 2024 09:03:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1suwNh-0001Eo-5l; Sun, 29 Sep 2024 12:02:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1suwNI-0000uN-Ju for qemu-devel@nongnu.org; Sun, 29 Sep 2024 12:02:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1suwNH-00053V-09 for qemu-devel@nongnu.org; Sun, 29 Sep 2024 12:02:20 -0400 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-77-P__mMd4gMyiVbFJMdslqUA-1; Sun, 29 Sep 2024 12:01:11 -0400 Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (unknown [10.30.177.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0123C1933B73 for ; Sun, 29 Sep 2024 16:01:11 +0000 (UTC) Received: from server.redhat.com (unknown [10.72.112.11]) by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id D755F19373D7; Sun, 29 Sep 2024 16:01:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1727625738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bD94lcvC8v6wGaXgi9MNfUlyhI2EIb4wEelTESyzNSU=; b=B9jJFkUoT/7edQ8VAD85X2oyItfa9DelPQMh5YbugVx8B3q1/O0BNRvl1CvOZIee+3V+KA qhmPs++jDlGa8zZPTMJ59+PcYzC7mRnkvS9NCu2QQmeQhgBQYVM41Q+uodf0uQBmoZdGLJ qbTCbt4xOGCz2q12+mVR5uRKVxMu7z4= X-MC-Unique: P__mMd4gMyiVbFJMdslqUA-1 From: Cindy Lu To: lulu@redhat.com, mst@redhat.com, jasowang@redhat.com, qemu-devel@nongnu.org Subject: [PATCH v2 3/3] virtio_net: Add the 3rd acceptable situation for Mac setup. Date: Sun, 29 Sep 2024 23:59:57 +0800 Message-ID: <20240929160045.2133423-4-lulu@redhat.com> In-Reply-To: <20240929160045.2133423-1-lulu@redhat.com> References: <20240929160045.2133423-1-lulu@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=lulu@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.095, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1727625809325116600 Content-Type: text/plain; charset="utf-8" While the hardware MAC address is 0 and the MAC address in the QEMU command line is also 0, this configuration is acceptable. Signed-off-by: Cindy Lu --- hw/net/virtio-net.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 5c610d8078..668fbed9f2 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3620,6 +3620,17 @@ static bool virtio_net_check_vdpa_mac(NetClientState= *nc, VirtIONet *n, return true; } } + /* + * 3.The hardware MAC address is 0, + * and the MAC address in the QEMU command line is also 0. + * In this situation, qemu will use random mac address + */ + if ((memcmp(&hwcfg.mac, &zero, sizeof(MACAddr)) =3D=3D 0) && + (memcmp(cmdline_mac, &zero, sizeof(MACAddr)) =3D=3D 0)) { + memcpy(&n->mac[0], &n->nic_conf.macaddr, sizeof(n->mac)); + + return true; + } =20 error_setg(errp, "vDPA device's mac %02x:%02x:%02x:%02x:%02x:%02x" --=20 2.45.0