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 BA0A2A00C3; Thu, 12 May 2022 15:34:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 63D0C40E64; Thu, 12 May 2022 15:34:21 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 26B3B40DDD for ; Thu, 12 May 2022 15:34:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1652362459; x=1683898459; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=SEUxc0i4FZsgszYINc8WqFDRzv3DmNt0wFoTL3DhQHU=; b=cUnuUe4Ux5WAa/x+p5qWhkOC6FluZkcLAPZ7+4CIOB2qNWv+wIh11BzU AVXuwk4TrS4gk+hx0GtoZR3KkbjoJGjVzjQMTOscDvsvdEnBS8aeTCN4e MrVbAUsaupyNON6YcHOSA2mez9ch2rXOXOvKZBs9vW/AM8nZEzaAN/lbb gShvWnofEMBnHOmiefbm+QWLzgwG00VcXSfVFQkS08ZAqVtFjJDaHntRN 7CkkOrIKBVJnoi3xf6vFW9WDIOWRlhReCVVlnG2H8BGU/LijSNns1acTe XuIqS7jQBiUVwk6tK83uAkt22DYGbHri/Bf9RgFHUehxWaHfUihUwR0uw Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10344"; a="330605351" X-IronPort-AV: E=Sophos;i="5.91,219,1647327600"; d="scan'208";a="330605351" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 May 2022 06:34:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,219,1647327600"; d="scan'208";a="553770329" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP; 12 May 2022 06:34:12 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) 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.2308.27; Thu, 12 May 2022 06:34:12 -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.2308.27 via Frontend Transport; Thu, 12 May 2022 06:34:12 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) 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.2308.27; Thu, 12 May 2022 06:34:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YMvc4qlbUujTWvYJet0vHjw6mN1YVdX46spzbhFkBd1gq5+g1P93l4mvt++GUr6M5tjoCsweOa+dHM9Ikr2EYrwnh5thp0rsgjWSiLPCEf8PgqKuziKYUwt9Sylu71vOVDNEWXT8RvBairv6iApuw4MBuYfnGzp+yHRXA13EOcLTu7/Yc0ftTosEKJlTaZ8m+hUt5v13ZS8+imSsf0/M+e87iQLUxNO+dGPSKsA5vyT341o5DhuhyZGQbVd9dyeU79HgduXvtEcNr1hp6c8hpK0QhtP4FXx3+Wmzmn1TwJ+eG5iQujC6RKwDRJyTww3tDEWTgaPC83nubAs6qaDtqQ== 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=d4+qbDc0Or2RaBLRNW8tLqFqViIZRNPSUfTM4ZvDT0k=; b=KOZpe9wddZeYvKxdkj0vvjS6GyPljQCF8YB50uM2jA9Usf5xYfDXlbSNAdJY41pZAn5uo0E7iv3jii50xiYQdPEVWwO6Fmj+pSwfwhKFoREEg9V78WGQhFru0dmOhoOXwBdbGfpdFrq1ZE0le6xxmbk0/U20vlZ+HVE39gEho1fp9/FeRHT/uVZ7bTpT0/rR3hrmmGpjCwNPxic9W9V6vfqtP7lGCrntfmCNsD5siD1IXTNzmklFqeQDduEcLqyt3wP43ERUmdA+WqjRfTgSOTOdMy5MnHVG6SCjBwSJmC7B1v+zw5BNNiBQJJw60PVqwRzh4IuZzTsNR2lkRXWXmg== 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 BN8PR11MB3780.namprd11.prod.outlook.com (2603:10b6:408:90::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.22; Thu, 12 May 2022 13:34:06 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::2c8f:42df:ed85:99e5]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::2c8f:42df:ed85:99e5%4]) with mapi id 15.20.5227.023; Thu, 12 May 2022 13:34:06 +0000 From: "Xia, Chenbo" To: "Pei, Andy" , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" , "Cao, Gang" , "Liu, Changpeng" Subject: RE: [PATCH v7 09/18] examples/vdpa: add vDPA blk support in example Thread-Topic: [PATCH v7 09/18] examples/vdpa: add vDPA blk support in example Thread-Index: AQHYWheFciAJRm+xPEiEnk5kGsKxWa0bU0Ug Date: Thu, 12 May 2022 13:34:06 +0000 Message-ID: References: <1643093258-47258-2-git-send-email-andy.pei@intel.com> <1651048206-282372-1-git-send-email-andy.pei@intel.com> <1651048206-282372-10-git-send-email-andy.pei@intel.com> In-Reply-To: <1651048206-282372-10-git-send-email-andy.pei@intel.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-office365-filtering-correlation-id: 3c0590fb-deb8-485f-4015-08da341c163b x-ms-traffictypediagnostic: BN8PR11MB3780:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QmQXg+3/JxUxZUrXjugw14jtcIF4iXEbtO68uDoll7s/lqlavMCyo0VfKIBwZ2XI4iNHRTazxwKxNjDNwd8pcwBa2JjhDvwg9aD9C/zX3hUjvNWqiby5nEJVMPbS6NOqk75yB68deBJctE/EU51a3q95iqm9fpDLIUx+JYOwMRWEq1iLVKdknyKZoOAs9mDcN2C7Njz00YYq/KPsrRNWM003lyfYfH9EQpITeuHxQp2UoTelw338R+IRe1GkrjeYTT1/ycEH8BYxszVV8vZ1kF6Hh4uaW7ot28hlR5RT0z5roFG9xdhCxvCctd5XLgmTbQ/QAbNOnZy7o7AU2MCoJGp9Hyx46I4jtyp4ajuxiiz6Kb007RUJd30V7J9Pp0aDLfPLZn4qwXlM5WIqiEXe8NVdLu82i5hukwgroghiaJxQpZryEgR6ItDedfCh6uQfaOYOlnL6aAP8lx7nX3JMGREz8iFyl41U4R9d6MrDfI92809bhNxscnJhVNobulzInDn2Y3H/jYOfaPsBiGTH9GlCT3nGt9kcdEQ4OWBaKaUcYQ749h/9aomOwOHs/cm+IKgrXsNUHZNzz8r7+teLq/Kx76E4UgFMevlOcXWOBBN43+SLflxxFh43Cz4J760h1kfRXPui7gMEWNk9SpeNkEhLkCK+iazIqE/QRTvHF2e+EnzyVeVInsqvKtxChQ5mXsQnF3HTmXFSjSGXpvEvhg== 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:(13230001)(366004)(38100700002)(71200400001)(66556008)(66446008)(66476007)(86362001)(82960400001)(122000001)(4326008)(66946007)(8676002)(76116006)(110136005)(64756008)(38070700005)(54906003)(316002)(508600001)(186003)(107886003)(7696005)(6506007)(53546011)(83380400001)(9686003)(5660300002)(26005)(52536014)(8936002)(2906002)(33656002)(55016003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ni7LDAks1kCTQMFJY4TlMuTX4X+f5EbuHur2N+VI0tBddNNrPTlhnqTPRw5C?= =?us-ascii?Q?4JACXrvEdKhbeKHx7lI8868XPUlVOUGbCkA1lNivlaX+IwQ8VDMAuZXbOMBe?= =?us-ascii?Q?rRYxw7F7BJMK7YsjABXTQFjcQ/3BQpyxGrrCC8zqt2Jmou6gqtCPDmKdGpT5?= =?us-ascii?Q?+mLu4pP/cdogSVW+yB5d62NleIryovn2IFuWaVa9EgcgnIeNLtS0pGnPUQcv?= =?us-ascii?Q?Fiuo2WfmdJ3oJHRqp8InnVBzyikTdGF99r6tjbJm4iG3SLLv3XwvseJzPBfp?= =?us-ascii?Q?pKUX8CpUiTmuY/Y88iCw9GGTy0NCRVecsaI99OMO08DmYy9Hcb1XQfQ3BKNR?= =?us-ascii?Q?FfYBsUXfLg+NmJGEHQsYIUqlwBEWeXmvhz29fvcxjAIacxgAdz/fq+43nnnl?= =?us-ascii?Q?zPAWbfY22G5nuEdzZ9TA88tde9Om9mUHKW27nUnaK96mEo5fCl54YoWk0cC5?= =?us-ascii?Q?0DFJJkvNnlJX6DqFtCj63JwC8zD395t3WUF/Srr3erkUGrE3ouDkINBoY4BQ?= =?us-ascii?Q?1Zov7NJwxmYvMKaObzoBgxirT8RuG/yxepYcqOor/h2VrpdtAuA+r3e77Kah?= =?us-ascii?Q?7L0MPvNbTpFPmg31BMYczRzcmH+2lUt0bN0WrUDHSnbVD+vMhqX8sYBtWMWQ?= =?us-ascii?Q?nhKJ0wILVkPOjpySBQ+VY626HFjutSnaziviw0cD9SLojbbmcKSghpu1nR/O?= =?us-ascii?Q?x40juRDZgAPPF8Z61EnhXJ56UZTGmhmaRb5l0yXS9quGk7tyh6P6MoF0sTkx?= =?us-ascii?Q?jOs25YqXtUCAXocAdCE6YvyO4RZKSs1AO4M+GWoHgApHwjft7cbwszIEm7Ll?= =?us-ascii?Q?BUMKZW03wshMA7SFJXHIsBrq+ytB3me4sOx+kJuSRiBEkvrQgpeSzxIJ678k?= =?us-ascii?Q?yo+avAfyx6r4kD+xwOrlDuHT+6MYRSgZjKgcs1WNU/Ua3pNzumm+LyXp+k/9?= =?us-ascii?Q?R9QFiTxk2XqhS0jnyD5NHS0QLsjRJ0tac6jlXvtTQyeYVYsKij/GTX6W6Tf7?= =?us-ascii?Q?JFNm3cDJefR5cU44v5MmmIkT+8RhuiCk4MZ7/rfYzWKIEqbyLNy46STu9SjG?= =?us-ascii?Q?+abKWFxxdQs9OwVkiAxXH96uj4QjNsjmdza4M6gKP0m8KDRaZ7vwhCOw2i1V?= =?us-ascii?Q?Pfb7Ty0xExQKQWqUb8t4p/V5wqMEgoc1BqE+j5Ezx4RzD4dIv31zKLMmSbJ9?= =?us-ascii?Q?wNk2ZOfOSi4zFJfQIgK8/hiFiQ91iePYN7gRB8zwIV2nUsApG/8p5tGm590Z?= =?us-ascii?Q?H+LCF2KOkAFsZq+eK3WzCT9wSplrPoOq1+zjYygBvQuGOYtSqNgV69q+82+e?= =?us-ascii?Q?SKx/b0K9qIccGBDBHS4aSZKkqBq6dOvh1w1NFyd7A1+9Tcdh9DzknCnKTtLR?= =?us-ascii?Q?iGZYwgvv0C8iC1sg3jXWdKoz0STGnXbe003KEh6h2EcsXDylBIEAvytXy4Ea?= =?us-ascii?Q?s7gTA1G5A46WSlruLXkBp575LOuxx3UlPriX6b1Hm/TEdfMD6JCzXHSXtX7h?= =?us-ascii?Q?oXgyCsmTt7GZevhUxY/Hfbfuvsn9oK3ELEFbRAe/08X1QpoSxQlAXF1BM8Id?= =?us-ascii?Q?FRCPRo4kTLw9NXnpypdjA6r+VfLFVvY97ay3ChpUfoGQ2mcfiqkIbDbpO2tj?= =?us-ascii?Q?tURTMTGZWv2/I0Fpma6AIpQrEFSuLmSbwsmLFTDnTdjZGWUC+3BCXccgUFuD?= =?us-ascii?Q?yuv3GiQuUYjMmHIpV54L0xT77+CC9RDzyiG+BQe5HduDcpTVSUGNloEM6VZ7?= =?us-ascii?Q?pCYotMDzlw=3D=3D?= 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: 3c0590fb-deb8-485f-4015-08da341c163b X-MS-Exchange-CrossTenant-originalarrivaltime: 12 May 2022 13:34:06.2744 (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: UFOgoyZ1hSOlnIsmGX2NP6u6Xg/o/V58Z9gveaQmgBoV41r7Cp40n3u2eAZUp/U0tNRr+4DETkXnJEWhUIuFIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR11MB3780 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: Pei, Andy > Sent: Wednesday, April 27, 2022 4:30 PM > To: dev@dpdk.org > Cc: Xia, Chenbo ; maxime.coquelin@redhat.com; Cao, > Gang ; Liu, Changpeng > Subject: [PATCH v7 09/18] examples/vdpa: add vDPA blk support in example Better be: examples/vdpa: add virtio blk support >=20 > Add virtio blk device support to vDPA example. >=20 > Signed-off-by: Andy Pei > --- > examples/vdpa/main.c | 57 ++++++++++++++++++++++++++++++++++= + > examples/vdpa/vdpa_blk_compact.h | 65 > ++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 122 insertions(+) > create mode 100644 examples/vdpa/vdpa_blk_compact.h >=20 > diff --git a/examples/vdpa/main.c b/examples/vdpa/main.c > index 5ab0765..2544141 100644 > --- a/examples/vdpa/main.c > +++ b/examples/vdpa/main.c > @@ -20,6 +20,7 @@ > #include > #include > #include > +#include "vdpa_blk_compact.h" >=20 > #define MAX_PATH_LEN 128 > #define MAX_VDPA_SAMPLE_PORTS 1024 > @@ -159,8 +160,54 @@ struct vdpa_port { > }; >=20 > static int > +vdpa_blk_device_set_features_and_protocol(const char *path) > +{ > + uint64_t protocol_features =3D 0; > + int ret; > + > + ret =3D rte_vhost_driver_set_features(path, VHOST_BLK_FEATURES); > + if (ret !=3D 0) { > + RTE_LOG(ERR, VDPA, > + "rte_vhost_driver_set_features for %s failed.\n", > + path); > + goto out; > + } > + > + ret =3D rte_vhost_driver_disable_features(path, > + VHOST_BLK_DISABLED_FEATURES); > + if (ret !=3D 0) { > + RTE_LOG(ERR, VDPA, > + "rte_vhost_driver_disable_features for %s failed.\n", > + path); > + goto out; > + } > + > + ret =3D rte_vhost_driver_get_protocol_features(path, > &protocol_features); > + if (ret !=3D 0) { > + RTE_LOG(ERR, VDPA, > + "rte_vhost_driver_get_protocol_features for %s > failed.\n", > + path); > + goto out; > + } > + > + protocol_features |=3D VHOST_BLK_PROTOCOL_FEATURES; > + > + ret =3D rte_vhost_driver_set_protocol_features(path, > protocol_features); > + if (ret !=3D 0) { > + RTE_LOG(ERR, VDPA, > + "rte_vhost_driver_set_protocol_features for %s > failed.\n", > + path); > + goto out; This goto is not needed. > + } > + > +out: > + return ret; > +} > + > +static int > start_vdpa(struct vdpa_port *vport) > { > + uint32_t device_type =3D 0; > int ret; > char *socket_path =3D vport->ifname; >=20 > @@ -192,6 +239,16 @@ struct vdpa_port { > "attach vdpa device failed: %s\n", > socket_path); >=20 > + ret =3D rte_vhost_driver_get_vdpa_dev_type(socket_path, &device_type); > + if (ret =3D=3D 0 && device_type =3D=3D VDPA_DEVICE_TYPE_BLK) { > + RTE_LOG(NOTICE, VDPA, "is a blk device\n"); Should add info of socket path > + ret =3D vdpa_blk_device_set_features_and_protocol(socket_path); > + if (ret !=3D 0) > + rte_exit(EXIT_FAILURE, > + "set vhost blk driver features and protocol > features failed: %s\n", > + socket_path); > + } > + > if (rte_vhost_driver_start(socket_path) < 0) > rte_exit(EXIT_FAILURE, > "start vhost driver failed: %s\n", > diff --git a/examples/vdpa/vdpa_blk_compact.h > b/examples/vdpa/vdpa_blk_compact.h > new file mode 100644 > index 0000000..136c3f6 > --- /dev/null > +++ b/examples/vdpa/vdpa_blk_compact.h > @@ -0,0 +1,65 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright(c) 2022 Intel Corporation > + */ > + > +#ifndef _VDPA_BLK_COMPACT_H_ > +#define _VDPA_BLK_COMPACT_H_ > + > +/** > + * @file > + * > + * Device specific vhost lib > + */ > + > +#include > + > +#include above two headers are not used in this file? > +#include > + > +/* Feature bits */ > +#define VIRTIO_BLK_F_SIZE_MAX 1 /* Indicates maximum segment size > */ > +#define VIRTIO_BLK_F_SEG_MAX 2 /* Indicates maximum # of segment= s > */ > +#define VIRTIO_BLK_F_GEOMETRY 4 /* Legacy geometry available */ > +#define VIRTIO_BLK_F_BLK_SIZE 6 /* Block size of disk is availabl= e > */ > +#define VIRTIO_BLK_F_TOPOLOGY 10 /* Topology information is > available */ > +#define VIRTIO_BLK_F_MQ 12 /* support more than one vq */ > + > +/* Legacy feature bits */ > +#ifndef VIRTIO_BLK_NO_LEGACY > +#define VIRTIO_BLK_F_BARRIER 0 /* Does host support barriers? */ > +#define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru > */ > +#define VIRTIO_BLK_F_CONFIG_WCE 11 /* Writeback mode available in > config */ > +#endif /* !VIRTIO_BLK_NO_LEGACY */ > + > +#ifndef VHOST_USER_F_PROTOCOL_FEATURES > +#define VHOST_USER_F_PROTOCOL_FEATURES 30 > +#endif It's already in rte_vhost.h, so no need to re-define. Thanks, Chenbo > + > +#define VHOST_BLK_FEATURES_BASE ((1ULL << VHOST_F_LOG_ALL) | \ > + (1ULL << VIRTIO_F_NOTIFY_ON_EMPTY) | \ > + (1ULL << VIRTIO_RING_F_INDIRECT_DESC) | \ > + (1ULL << VIRTIO_RING_F_EVENT_IDX) | \ > + (1ULL << VHOST_USER_F_PROTOCOL_FEATURES) | \ > + (1ULL << VIRTIO_F_VERSION_1)) > + > +#define VHOST_BLK_DISABLED_FEATURES_BASE ((1ULL << > VIRTIO_F_NOTIFY_ON_EMPTY) | \ > + (1ULL << VIRTIO_RING_F_EVENT_IDX)) > + > +#define VHOST_BLK_FEATURES (VHOST_BLK_FEATURES_BASE | \ > + (1ULL << VIRTIO_BLK_F_SIZE_MAX) | (1ULL << VIRTIO_BLK_F_SEG_MAX) | \ > + (1ULL << VIRTIO_BLK_F_GEOMETRY) | (1ULL << VIRTIO_BLK_F_BLK_SIZE) | > \ > + (1ULL << VIRTIO_BLK_F_TOPOLOGY) | (1ULL << VIRTIO_BLK_F_BARRIER) | > \ > + (1ULL << VIRTIO_BLK_F_SCSI) | (1ULL << VIRTIO_BLK_F_CONFIG_WCE) > | \ > + (1ULL << VIRTIO_BLK_F_MQ)) > + > +/* Not supported features */ > +#define VHOST_BLK_DISABLED_FEATURES (VHOST_BLK_DISABLED_FEATURES_BASE | = \ > + (1ULL << VIRTIO_BLK_F_GEOMETRY) | (1ULL << VIRTIO_BLK_F_BARRIER) | \ > + (1ULL << VIRTIO_BLK_F_SCSI) | (1ULL << VIRTIO_BLK_F_CONFIG_WCE)) > + > +/* Vhost-blk support protocol features */ > +#define VHOST_BLK_PROTOCOL_FEATURES \ > + ((1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD) | \ > + (1ULL << VHOST_USER_PROTOCOL_F_CONFIG)) > + > +#endif /* _VDPA_BLK_COMPACT_H_ */ > -- > 1.8.3.1