From nobody Thu Dec 18 17:52:37 2025 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=1662102368; cv=none; d=zohomail.com; s=zohoarc; b=c5e6Hh6HAgPVj0z0NKLC5Y+9KuixW5EFU443htqRkYDYCyQwTW1RLPWQ4vjwr7FX3Xm2OqWkogxPG3wnu4rOjUe4D8GTSlUFnNYykKGAApq6p1J8KWzGXLmB/XSF5qGYYRwr8z5dmTSzvCn8eUc7AqMFiC+wiaPOZ/lEnlcBFFQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1662102368; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=pP8QYxxdqXx+AFoVsWcfM2sQG+bN+PKVF28RGrfE9W4=; b=ePunjup/bImP20bOkrd/G29DlDvvsP4NvhNwHYHc096rP5B+TMADgQqJjQnBaRJYRMw5lE/QEzS9F67RIjr33hLvAHzdiLpR7UuTKNQyQ8t2DNfl1ZXDnTWDy0nVQk0fkAwSefL4yiFCmtXu2JtoNMkvnE52IMP+drq1NEQ3Li8= 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 1662102368207526.1920485674818; Fri, 2 Sep 2022 00:06:08 -0700 (PDT) Received: from localhost ([::1]:47280 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oU0kg-0002tW-J5 for importer@patchew.org; Fri, 02 Sep 2022 03:06:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46234) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oU0No-0007VT-KG for qemu-devel@nongnu.org; Fri, 02 Sep 2022 02:42:30 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:48289) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oU0Nn-0004v4-5O for qemu-devel@nongnu.org; Fri, 02 Sep 2022 02:42:28 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-447--SNA6DrnMuKQxojxabiOFw-1; Fri, 02 Sep 2022 02:42:23 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 26CF6101A58E; Fri, 2 Sep 2022 06:42:23 +0000 (UTC) Received: from localhost.localdomain (ovpn-12-152.pek2.redhat.com [10.72.12.152]) by smtp.corp.redhat.com (Postfix) with ESMTP id 066291415137; Fri, 2 Sep 2022 06:42:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1662100946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pP8QYxxdqXx+AFoVsWcfM2sQG+bN+PKVF28RGrfE9W4=; b=Q+b84ow8kKJagGbJ0ALbLrBL6f2cU/t0JkHw1I1TzyJuMEgq7gq+jPac8rkSjtqF3VD11k 2/YYwFrPQtLn6DtVWyaDx1JRmrN1dP9YmjIsG07fiDe0qhiyTvmk/Fg4NrAOOA0EAKChyt lYJ+Gf5z/qG5ZhaFlcvhQ2sWUDin3bM= X-MC-Unique: -SNA6DrnMuKQxojxabiOFw-1 From: Jason Wang To: qemu-devel@nongnu.org, peter.maydell@linaro.org Cc: =?UTF-8?q?Eugenio=20P=C3=A9rez?= , Jason Wang Subject: [PULL 13/21] vhost_net: Add NetClientInfo stop callback Date: Fri, 2 Sep 2022 14:41:30 +0800 Message-Id: <20220902064138.56468-14-jasowang@redhat.com> In-Reply-To: <20220902064138.56468-1-jasowang@redhat.com> References: <20220902064138.56468-1-jasowang@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.85 on 10.11.54.7 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.129.124; envelope-from=jasowang@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1662102370416100001 From: Eugenio P=C3=A9rez Used by the backend to perform actions after the device is stopped. In particular, vdpa net use it to unmap CVQ buffers to the device, cleaning the actions performed in prepare(). Signed-off-by: Eugenio P=C3=A9rez Acked-by: Jason Wang Signed-off-by: Jason Wang --- hw/net/vhost_net.c | 3 +++ include/net/net.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c index 2e0baeb..9d4b334 100644 --- a/hw/net/vhost_net.c +++ b/hw/net/vhost_net.c @@ -320,6 +320,9 @@ static void vhost_net_stop_one(struct vhost_net *net, net->nc->info->poll(net->nc, true); } vhost_dev_stop(&net->dev, dev); + if (net->nc->info->stop) { + net->nc->info->stop(net->nc); + } vhost_dev_disable_notifiers(&net->dev, dev); } =20 diff --git a/include/net/net.h b/include/net/net.h index ad9e800..476ad45 100644 --- a/include/net/net.h +++ b/include/net/net.h @@ -45,6 +45,7 @@ typedef struct NICConf { typedef void (NetPoll)(NetClientState *, bool enable); typedef bool (NetCanReceive)(NetClientState *); typedef int (NetStart)(NetClientState *); +typedef void (NetStop)(NetClientState *); typedef ssize_t (NetReceive)(NetClientState *, const uint8_t *, size_t); typedef ssize_t (NetReceiveIOV)(NetClientState *, const struct iovec *, in= t); typedef void (NetCleanup) (NetClientState *); @@ -73,6 +74,7 @@ typedef struct NetClientInfo { NetReceiveIOV *receive_iov; NetCanReceive *can_receive; NetStart *start; + NetStop *stop; NetCleanup *cleanup; LinkStatusChanged *link_status_changed; QueryRxFilter *query_rx_filter; --=20 2.7.4