From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0FF6D42DE6; Thu, 6 Jul 2023 10:39:46 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F2AEF42D98; Thu, 6 Jul 2023 10:39:45 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id 7B7B842D94 for ; Thu, 6 Jul 2023 10:39:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688632783; x=1720168783; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=j+huFTeQlURabCowikRjmj1fpcyh56XAE8jrz2Qs30g=; b=dJqCWSg0LQs1fhx+8aF8+YygnAGARPPgcGVNmvTvgt5JuxpA/EMsr0fN vkJGeYCcoE55OMBCfZpzW3NKxwsI5TaXfnXi8Fm+X6Y81fzgHysNiCIpI LhyJER0GQOD/YXDjXWlrKsaGdfNai6ZFYy5esKaTES1EexL4wIP/3vJ67 ASdXDl4PfzZ1kp97GwxBoIUOtDk84QMomjYtWDwCKvl2zfpoIKdt+96sk o34fNJjuIKMIdPKoRUD/V+++EpfnisKihWRRsD43hZVJxartomhkhPvUa r4j+3sEnlnMgyYaWGYq1l+cSLs2lOGRpwCORWA8tuXVMYZbb6BLAnYoB3 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10762"; a="363569766" X-IronPort-AV: E=Sophos;i="6.01,185,1684825200"; d="scan'208";a="363569766" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jul 2023 01:39:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10762"; a="832861423" X-IronPort-AV: E=Sophos;i="6.01,185,1684825200"; d="scan'208";a="832861423" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga002.fm.intel.com with ESMTP; 06 Jul 2023 01:39:42 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 6 Jul 2023 01:39:41 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 6 Jul 2023 01:39:41 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Thu, 6 Jul 2023 01:39:41 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Thu, 6 Jul 2023 01:39:40 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bQtps1f/7rVv1q88+hJ/wwPbkd8Xw3PkNIH2YHCq9Mgq0xxVTfbPSico1ZIHYN8fyjMo3/hF+ccHv2CcUgMTXnkWu+dgoEfpOLgowAWOaF/Pnubj9oCHY9eJZCEYyCr971mDnQ7Slil52Fe7y3m5ml5LNqJrAwEQOvHrNsEtHLAyyS91Rri5rZ6kasmU1pe8Xtop0nMn2ghso7eMoUS/gO9Eg9Oq0hFlEGJdn6kOfGkT0p8kDEwy973A15o9/BjH2VeaR7lssAMKFsY0HSEL1v9dNekZPy1ubMYjwEp21+jYWfAcP++qYiu9B+iqJvojcqv6NE58Xey47O/6AaBM7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TSgJZoWDsoLgwsCxvh+qXO/GTUtLJDPoDjSqjRK/SZU=; b=k08V07tE8rf1itDaMJ6+7ND8uIUUTv6eY8AuMIXlQZJGMpr9GDja7XYtw2poJhqmOpfAQKd9x6kR1lnoLgTJwy8w3jxC53yBZ7FyxXbOhK4daZytumANuvGgISZqI9C3LVxY5w4Z+gjUNIuuzi4zQzgLtIx5IntH/y8i3UYDGKLVml7o2nWgKcLNaRYsAcLcfBEfnj+H5y5DKGjQ7fIRpW1SMErOMHvOESTV+ZqCfG1KnS0jIF90YgYV1URezaT8lMzFKU8luOGglWi8c9xlonKaNV5L2b+i0zzAQtNCnkBa+VU9VomeF3tjy+UWbsnIDDkiW4DsJwia7XIMeLCvTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by CY8PR11MB6939.namprd11.prod.outlook.com (2603:10b6:930:59::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.17; Thu, 6 Jul 2023 08:39:39 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::e508:44ff:3d34:60bc]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::e508:44ff:3d34:60bc%4]) with mapi id 15.20.6544.024; Thu, 6 Jul 2023 08:39:39 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "david.marchand@redhat.com" Subject: RE: [PATCH v2 2/2] vhost: fix vduse features negotiation Thread-Topic: [PATCH v2 2/2] vhost: fix vduse features negotiation Thread-Index: AQHZr+HFtYfIwv07SUCb5aHD7keUO6+sau7A Date: Thu, 6 Jul 2023 08:39:38 +0000 Message-ID: References: <20230706081223.151832-1-maxime.coquelin@redhat.com> <20230706081223.151832-3-maxime.coquelin@redhat.com> In-Reply-To: <20230706081223.151832-3-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR11MB3504:EE_|CY8PR11MB6939:EE_ x-ms-office365-filtering-correlation-id: 518bac28-3b9d-4e89-4012-08db7dfc892c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 86zLTgcwxRhk/tYUyq1gcOCv6ZYuT5bkeTqzLbc2VmrBw0f4XlxAJRs5v1kQgTjfxaKNgWElTsXqAcKDwRmoWk5YXKUlkftH+RzWRNKnVlRHG9AtUemDPxVUKi52HAcepSUOKxMk44QTX1C6yfm5+z8zrLGN7z6nv45+02l/+z2QdJKRg9TDkNKkwrn/lSK/KUZtr+5HkoUbNb8yjNtqDBCm8AKNLxtQH6tOr8exYjBeXeUfbbj+0eQimSzzzhB0nb+bKMvrlqVBNI66lxeH9SXDD8mPM/waJ6daeFhxsrCDoXxY/XuqJgEWeYja2cX61mJWhsxKcMa1Sq2rASggtcfWrgavPcYdefaRzENjpXTzpgZLut3Wk1VmsGaPpVv989oS0fCLLziJ/Z4rGyrumqsmVeqtHB7IIdOb1LWxFqQHUpl+yAfPwa/RDbbR5lfyA7kmlaD2fU488W4DKjS8hi3kUbHzJahJ1bd2brtBfI6lXkNYRZCHAEK5jfr7r6xQ8AXJYXROUE2Z5hnmmCf8RlAgdFcWBrDQBPUcVTaHd/hOaiwrfry2011UrVxGOSrlEBlh3QmSJ3x2uQ/BS1OSySUUvv5SexW5sys1XjXXEAh2yiyJd9eV1Ainhih6YMf/ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(136003)(39860400002)(376002)(366004)(346002)(451199021)(41300700001)(8936002)(8676002)(52536014)(71200400001)(7696005)(55016003)(110136005)(316002)(2906002)(5660300002)(66476007)(66556008)(64756008)(76116006)(66446008)(478600001)(33656002)(83380400001)(82960400001)(86362001)(38100700002)(186003)(38070700005)(122000001)(66946007)(26005)(53546011)(9686003)(6506007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?8G6K8tvWYNj8gDKRxH7Dv8xRPIvwmcWV2t2wUNU0eA5HG24JXoZMFu2jIyp2?= =?us-ascii?Q?yF+2UNEUsI/RtmBCI3zQlrKktYBFjCr5gOY5oavyYwzs9fUCQ4gbDl4rsnAn?= =?us-ascii?Q?BOsj1zJuI0ie29w36p/bpjK5ZO2K+sZSLBvDVWDAH7vgyjSp85tcv1frYP8/?= =?us-ascii?Q?dWsN0fAZpILsIJr3/WpEhzEYCkMooEwb5UXGUn0CDdJZhLvz1xnS3HH9OYQM?= =?us-ascii?Q?xKp9nto6kYnREv+Yg3wTvrHbGFoVw26NVbCHr8+YbCqE7b7ZxNURMOrKAs0Z?= =?us-ascii?Q?BvX+h050FYMA283n/xsF4tGGkTpd5vKK23yz3NMGVRbdg7IaQNgsGUyia4mH?= =?us-ascii?Q?NejYtKgdnWNq/0I6L4/sMDUVdKbyumi0v26dgs1CqJvKe41Lg2xMSu0DXUXI?= =?us-ascii?Q?GEMD2Nn2rQ8znzti8wIdC7Z/d601CBhyaHxhU31neLJvgDL7abEMoqEsoJSu?= =?us-ascii?Q?u2DeLnNNCtFFBZDYxZZjebCEo0zMfwaLIAhQOS1iRYqsWnmIpxa2JhocW/cQ?= =?us-ascii?Q?dYExrGfbdxnoCCH+u3S8DmuqcYTaaS8orB597e6Mda09n2YmmCkVgY0mLypB?= =?us-ascii?Q?qs9OX31IX7WAFuQEgSwgW7U0JYWBnsKRPM6mYFN5B0l5FoL6hA2mJUFSjpQP?= =?us-ascii?Q?3MyUX6wNoBPJxZk4eDnCU5XWiSZxU2KzJjEcl5JvxHwlm6jDigsikHehu+Qb?= =?us-ascii?Q?CHLwGS1iWKD0Y4JJv319GDFoMxdm+E19U7ZLwC/i3cLRpMCuzVokxIUjx6hc?= =?us-ascii?Q?PGNHFfZcJ7XJJr/OzKJSTvtsI39KZGq2+POzYogYyz566XNcX6LTyPayBXf8?= =?us-ascii?Q?He8CQtqshqgYHz+H2K6ZlXK6ecGr2vbthY6Z7xqPOO7tPLtmjt5dy38+mFbO?= =?us-ascii?Q?n/ItSkufoNL9Y7gmewLalSVLbXDXJ2mVchjl69lv0uOPpFy36ZaOoINbRJq0?= =?us-ascii?Q?rKhjBtNAbfzSv+/RNVybr5XgL+R8nu8k8ri/G0aZHgfNOYIG5T+KO7mKTdxE?= =?us-ascii?Q?A5hopUQUN/lehTGesTq67ENWhVHJ7CIQJZBiZK4VFSjLmmYpB8g5VyqDhMzL?= =?us-ascii?Q?V8U8N5rHvGct+JjrMRoamuAuWVnMAjmby2H1vZMtrfM7bvONMMFAT4GKvnYi?= =?us-ascii?Q?hgSXmmbkSHyj1eAa3ThzOxodL+iQvl3YvnxVfZZaEnBcFBA3hxvbQguesG3i?= =?us-ascii?Q?MOTnxMo39Bk2yI8erdprW9qzpcbAfRdiLPVocylX05ESxSrMaiSLKmWWiMR0?= =?us-ascii?Q?x+TuhTsYh+5Kc3dFVoW4EsLD/X6LIQhxTmzZrFZWpVV1GcwjABPxyxAvQ64z?= =?us-ascii?Q?xPmpZBpj6wjzHuTrwEBWxXaQ4aez9wRi2ZN3iQbr/uOg785RNccJersUIXtW?= =?us-ascii?Q?C1c4jqqvWaN4GuMam4BUrUm8u1e77mqOipEJdxprskPAOq7aSqUhcf2n7Q2d?= =?us-ascii?Q?SmMqt173AAXiUR/Y6zSXKGmacyfCTseXlW7kdoubqBlqtXKieiWLtLsYAG8x?= =?us-ascii?Q?rqWx5Kaw9ajEPAlif1o5+taa73P0IDkOEAJR5ERCdrvdkwmM5RqZmrWoA9ie?= =?us-ascii?Q?wX4aTuoAWHE2Bv2m3z2VRSZZb0d3Yq2MgA/AZp06?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 518bac28-3b9d-4e89-4012-08db7dfc892c X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jul 2023 08:39:38.9533 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Ajhko1rOPyfP8vBmitthU9oy0m+K1an0iQxJbjoLTpTsgUqz5dTwGGLKhbyrpMLRbwnQz/ZX7D+fkKBe85hdcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB6939 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org > -----Original Message----- > From: Maxime Coquelin > Sent: Thursday, July 6, 2023 4:12 PM > To: dev@dpdk.org; Xia, Chenbo ; > david.marchand@redhat.com > Cc: Maxime Coquelin > Subject: [PATCH v2 2/2] vhost: fix vduse features negotiation >=20 > The series introducing VDUSE support missed the > application capability to disable supported features. >=20 > This results in TSO being negotiated while not supported by > the application. >=20 > Fixes: 0adb8eccc6a6 ("vhost: add VDUSE device creation and destruction") >=20 > Signed-off-by: Maxime Coquelin > --- > lib/vhost/socket.c | 19 +++++++++++++------ > lib/vhost/vduse.c | 29 +++++++---------------------- > lib/vhost/vduse.h | 2 ++ > lib/vhost/vhost.h | 8 +------- > lib/vhost/vhost_user.h | 9 +++++++++ > 5 files changed, 32 insertions(+), 35 deletions(-) >=20 > diff --git a/lib/vhost/socket.c b/lib/vhost/socket.c > index 19a7469e45..f55fb299fd 100644 > --- a/lib/vhost/socket.c > +++ b/lib/vhost/socket.c > @@ -921,6 +921,10 @@ rte_vhost_driver_register(const char *path, uint64_t > flags) > VHOST_LOG_CONFIG(path, ERR, "failed to init connection > mutex\n"); > goto out_free; > } > + > + if (!strncmp("/dev/vduse/", path, strlen("/dev/vduse/"))) > + vsocket->is_vduse =3D true; > + > vsocket->vdpa_dev =3D NULL; > vsocket->max_queue_pairs =3D VHOST_MAX_QUEUE_PAIRS; > vsocket->extbuf =3D flags & RTE_VHOST_USER_EXTBUF_SUPPORT; > @@ -950,9 +954,14 @@ rte_vhost_driver_register(const char *path, uint64_t > flags) > * two values. > */ > vsocket->use_builtin_virtio_net =3D true; > - vsocket->supported_features =3D VIRTIO_NET_SUPPORTED_FEATURES; > - vsocket->features =3D VIRTIO_NET_SUPPORTED_FEATURES; > - vsocket->protocol_features =3D VHOST_USER_PROTOCOL_FEATURES; > + if (vsocket->is_vduse) { > + vsocket->supported_features =3D VDUSE_NET_SUPPORTED_FEATURES; > + vsocket->features =3D VDUSE_NET_SUPPORTED_FEATURES; > + } else { > + vsocket->supported_features =3D > VHOST_USER_NET_SUPPORTED_FEATURES; > + vsocket->features =3D > VHOST_USER_NET_SUPPORTED_FEATURES; > + vsocket->protocol_features =3D VHOST_USER_PROTOCOL_FEATURES; > + } >=20 > if (vsocket->async_copy) { > vsocket->supported_features &=3D ~(1ULL << VHOST_F_LOG_ALL); > @@ -993,9 +1002,7 @@ rte_vhost_driver_register(const char *path, uint64_t > flags) > #endif > } >=20 > - if (!strncmp("/dev/vduse/", path, strlen("/dev/vduse/"))) { > - vsocket->is_vduse =3D true; > - } else { > + if (!vsocket->is_vduse) { > if ((flags & RTE_VHOST_USER_CLIENT) !=3D 0) { > vsocket->reconnect =3D !(flags & > RTE_VHOST_USER_NO_RECONNECT); > if (vsocket->reconnect && reconn_tid =3D=3D 0) { > diff --git a/lib/vhost/vduse.c b/lib/vhost/vduse.c > index b9514e6c29..1478562be1 100644 > --- a/lib/vhost/vduse.c > +++ b/lib/vhost/vduse.c > @@ -26,27 +26,6 @@ > #define VHOST_VDUSE_API_VERSION 0 > #define VDUSE_CTRL_PATH "/dev/vduse/control" >=20 > -#define VDUSE_NET_SUPPORTED_FEATURES ((1ULL << VIRTIO_NET_F_MRG_RXBUF) | > \ > - (1ULL << VIRTIO_F_ANY_LAYOUT) | \ > - (1ULL << VIRTIO_F_VERSION_1) | \ > - (1ULL << VIRTIO_NET_F_GSO) | \ > - (1ULL << VIRTIO_NET_F_HOST_TSO4) | \ > - (1ULL << VIRTIO_NET_F_HOST_TSO6) | \ > - (1ULL << VIRTIO_NET_F_HOST_UFO) | \ > - (1ULL << VIRTIO_NET_F_HOST_ECN) | \ > - (1ULL << VIRTIO_NET_F_CSUM) | \ > - (1ULL << VIRTIO_NET_F_GUEST_CSUM) | \ > - (1ULL << VIRTIO_NET_F_GUEST_TSO4) | \ > - (1ULL << VIRTIO_NET_F_GUEST_TSO6) | \ > - (1ULL << VIRTIO_NET_F_GUEST_UFO) | \ > - (1ULL << VIRTIO_NET_F_GUEST_ECN) | \ > - (1ULL << VIRTIO_RING_F_INDIRECT_DESC) | \ > - (1ULL << VIRTIO_RING_F_EVENT_IDX) | \ > - (1ULL << VIRTIO_F_IN_ORDER) | \ > - (1ULL << VIRTIO_F_IOMMU_PLATFORM) | \ > - (1ULL << VIRTIO_NET_F_CTRL_VQ) | \ > - (1ULL << VIRTIO_NET_F_MQ)) > - > struct vduse { > struct fdset fdset; > }; > @@ -441,7 +420,7 @@ vduse_device_create(const char *path) > struct virtio_net *dev; > struct virtio_net_config vnet_config =3D { 0 }; > uint64_t ver =3D VHOST_VDUSE_API_VERSION; > - uint64_t features =3D VDUSE_NET_SUPPORTED_FEATURES; > + uint64_t features; > struct vduse_dev_config *dev_config =3D NULL; > const char *name =3D path + strlen("/dev/vduse/"); >=20 > @@ -489,6 +468,12 @@ vduse_device_create(const char *path) > goto out_ctrl_close; > } >=20 > + ret =3D rte_vhost_driver_get_features(path, &features); > + if (ret < 0) { > + VHOST_LOG_CONFIG(name, ERR, "Failed to get backend > features\n"); > + goto out_free; > + } > + > ret =3D rte_vhost_driver_get_queue_num(path, &max_queue_pairs); > if (ret < 0) { > VHOST_LOG_CONFIG(name, ERR, "Failed to get max queue pairs\n"); > diff --git a/lib/vhost/vduse.h b/lib/vhost/vduse.h > index a15e5d4c16..d0142694a7 100644 > --- a/lib/vhost/vduse.h > +++ b/lib/vhost/vduse.h > @@ -7,6 +7,8 @@ >=20 > #include "vhost.h" >=20 > +#define VDUSE_NET_SUPPORTED_FEATURES VIRTIO_NET_SUPPORTED_FEATURES > + > #ifdef VHOST_HAS_VDUSE >=20 > int vduse_device_create(const char *path); > diff --git a/lib/vhost/vhost.h b/lib/vhost/vhost.h > index 9ecede0f30..f49ce943b0 100644 > --- a/lib/vhost/vhost.h > +++ b/lib/vhost/vhost.h > @@ -438,12 +438,8 @@ struct vring_packed_desc_event { > #define VIRTIO_NET_SUPPORTED_FEATURES ((1ULL << VIRTIO_NET_F_MRG_RXBUF) = | > \ > (1ULL << VIRTIO_F_ANY_LAYOUT) | \ > (1ULL << VIRTIO_NET_F_CTRL_VQ) | \ > - (1ULL << VIRTIO_NET_F_CTRL_RX) | \ > - (1ULL << VIRTIO_NET_F_GUEST_ANNOUNCE) | \ > (1ULL << VIRTIO_NET_F_MQ) | \ > (1ULL << VIRTIO_F_VERSION_1) | \ > - (1ULL << VHOST_F_LOG_ALL) | \ > - (1ULL << VHOST_USER_F_PROTOCOL_FEATURES) | \ > (1ULL << VIRTIO_NET_F_GSO) | \ > (1ULL << VIRTIO_NET_F_HOST_TSO4) | \ > (1ULL << VIRTIO_NET_F_HOST_TSO6) | \ > @@ -457,10 +453,8 @@ struct vring_packed_desc_event { > (1ULL << VIRTIO_NET_F_GUEST_ECN) | \ > (1ULL << VIRTIO_RING_F_INDIRECT_DESC) | \ > (1ULL << VIRTIO_RING_F_EVENT_IDX) | \ > - (1ULL << VIRTIO_NET_F_MTU) | \ > (1ULL << VIRTIO_F_IN_ORDER) | \ > - (1ULL << VIRTIO_F_IOMMU_PLATFORM) | \ > - (1ULL << VIRTIO_F_RING_PACKED)) > + (1ULL << VIRTIO_F_IOMMU_PLATFORM)) >=20 >=20 > struct guest_page { > diff --git a/lib/vhost/vhost_user.h b/lib/vhost/vhost_user.h > index 1ffeca92f3..edf7adb3c0 100644 > --- a/lib/vhost/vhost_user.h > +++ b/lib/vhost/vhost_user.h > @@ -13,6 +13,15 @@ >=20 > #define VHOST_MEMORY_MAX_NREGIONS 8 >=20 > +#define VHOST_USER_NET_SUPPORTED_FEATURES \ > + (VIRTIO_NET_SUPPORTED_FEATURES | \ > + (1ULL << VIRTIO_F_RING_PACKED) | \ > + (1ULL << VIRTIO_NET_F_MTU) | \ > + (1ULL << VHOST_F_LOG_ALL) | \ > + (1ULL << VHOST_USER_F_PROTOCOL_FEATURES) | \ > + (1ULL << VIRTIO_NET_F_CTRL_RX) | \ > + (1ULL << VIRTIO_NET_F_GUEST_ANNOUNCE)) > + > #define VHOST_USER_PROTOCOL_FEATURES ((1ULL << > VHOST_USER_PROTOCOL_F_MQ) | \ > (1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD) > |\ > (1ULL << VHOST_USER_PROTOCOL_F_RARP) | \ > -- > 2.41.0 Reviewed-by: Chenbo Xia =20