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 BF52EA00C5 for ; Wed, 20 Jul 2022 10:26:52 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B997840A7A; Wed, 20 Jul 2022 10:26:52 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2075.outbound.protection.outlook.com [40.107.223.75]) by mails.dpdk.org (Postfix) with ESMTP id EFAC940697 for ; Wed, 20 Jul 2022 10:26:50 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FDNlU5P7WG+Ik7RobCrW7DtY4Fzez/JV9ypkQr6+X6hbcGhrMUFEr/F/jS17SKZrc3QCcqjdC408qrXUe8queHsq1lexZz+9V+UzOB4TPI+3OGX6Ptr1elJKQAlSnMSJlNVSVwPJT4bzSrrtz9W+h/ANOGKHMEr/GeSACIPzEAtKn+95U/Yoh90rN9adLy3TOXngBl3Me2F8++EKJmepskEl737L4opZoN3YA6IvE4zBnJzdsczVYHW+4ODDCwPrXCgXA2S5Hp1W03MNVtqvBROmBvM5UiytFsapQ3zFkbpq7GSTsp0r7NsHpBY5hYRVQBYyXzLMe7hodXFzN7WQQg== 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=xhTFkA5a0AqV33rwqbQqKvYlB9w7AWW/3nCWRVDg2lI=; b=cUDP9s/FJ5+mxddQD1UOQq/n5JsJvvVmpM/WVQHiJJM1BlEIbhSiTd/07/fxrwOftx/XbiJZfHWhcltC9BwL4e9wxu5+dn2kzRovEhjNztUETMOZf5PawNwxkyN1iJ2wGlOZMduED3OhQMNaIuqUgAMyPAu5sxePElbYE4ZlM5p7TxEwZbTD3Kl6T9bYyLhIx+7vZmwbr3li0hwGiRXUuIQRc/XCvF/mD98HXM52to9IEbL4qnlSb4SFodz5m1hswbBjnGF9AmGIw+aBoc1KiBwsKrbT+NAKABuEv6bKRB1JKVUsKzAVljT4pKMeNIbshiF0XL9CwDfIX03crsHpSg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.238) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xhTFkA5a0AqV33rwqbQqKvYlB9w7AWW/3nCWRVDg2lI=; b=N/NfLhDuiCm5iaKCUsR3XlLzFCVLZzpQHpkgWUrKa+ptY0hxq+f7jEDlBQxKgGLWzjrm0In1nddV+WXPskBpEYxrho22Gh8pD0yOUE0Z2DDLSY+eptTJ668UYeV9phkLSe4EsMWYgWpl6SKk94DAxLm1GxtXIUMWx508eAg/nDDQ8UCGNe5Jks1LZKG453r4khMDK0yuTcvqB/gIhrHv+GbpiWVgJ7fVn5TEVUjKuS5R5U8ldnifG88Zkt0ToyX+4Al4ySfAbn65Nu5r3G8WIJMX3pONY7frCNdKxSIOfE6osc+/El7vk2ON76gvhr/lHZVflJaPNWi4kXuwomEOPA== Received: from MW4P223CA0007.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::12) by DM4PR12MB5262.namprd12.prod.outlook.com (2603:10b6:5:399::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.18; Wed, 20 Jul 2022 08:26:49 +0000 Received: from CO1NAM11FT040.eop-nam11.prod.protection.outlook.com (2603:10b6:303:80:cafe::31) by MW4P223CA0007.outlook.office365.com (2603:10b6:303:80::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.15 via Frontend Transport; Wed, 20 Jul 2022 08:26:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.238) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.238 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.238; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (12.22.5.238) by CO1NAM11FT040.mail.protection.outlook.com (10.13.174.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5458.17 via Frontend Transport; Wed, 20 Jul 2022 08:26:49 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL105.nvidia.com (10.27.9.14) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Wed, 20 Jul 2022 08:26:48 +0000 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Wed, 20 Jul 2022 01:26:47 -0700 From: Xueming Li To: Long Li CC: , Stephen Hemminger , dpdk stable Subject: patch 'net/netvsc: fix vmbus device reference in multi-process' has been queued to stable release 20.11.6 Date: Wed, 20 Jul 2022 11:21:25 +0300 Message-ID: <20220720082132.3954126-56-xuemingl@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220720082132.3954126-1-xuemingl@nvidia.com> References: <20220621080301.2315720-1-xuemingl@nvidia.com> <20220720082132.3954126-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 512bd7a5-e48e-4670-b70f-08da6a299789 X-MS-TrafficTypeDiagnostic: DM4PR12MB5262:EE_ X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?9gQFTqUPgk7RvkAp5KIAHydSqOEkGNbNfMPKXG9PiRppEL+kXYPT2CcuH31Q?= =?us-ascii?Q?gPGjEDbcTuIa/0fZyLVIZ5sk7FbsdDKAjiGkc1iGmsNHBudx73iaagTe1k7w?= =?us-ascii?Q?VrZQLKhUWwEC6NGdTFzkJu5fxo2CrmPDvVQ0h26tAOKESljKLru23cm2ydpv?= =?us-ascii?Q?w9nxhLUNtCA0GStZd5SNcur91y6KzJBd/iVIkmjkWSudhGZpFfs5yg8+pOGy?= =?us-ascii?Q?iHjDKXoQzxFJc1r2lPRAazj+hRV0QjhPvCkyvVK1b5tuirIj8/J1B8CLYPle?= =?us-ascii?Q?zcr0o6r64r5A6wsTlpV5XqaLocQojD37oMOiQXbjnWNIr3GJk4rnR+jfJbv2?= =?us-ascii?Q?QIaQOKDWJgCsmtaJqHFXeNgq4Zy2xktVsuQKMy15R+FiyRaJxxFdnyfsE6v9?= =?us-ascii?Q?H2I6y2pHVRjRT0+h+qSYPHmYOdwXU9Uj8o+xd6Jz9WLR8Gqn7sw+OAFm4K7g?= =?us-ascii?Q?qxAZFmmam6h9MJet2W43ym5nFkyyg8UDU/NQoCtm/bays7j7t/KdzAysLEM/?= =?us-ascii?Q?PQ3s3VfvUq5o66cmiKMeP30UjWmWS14kHbdXGOHdpiqVrjCN5hWR43HaZx56?= =?us-ascii?Q?a+vvSMO4CTemC/FMbEVzyHvALWEwCohEb+esD29bGolhb8s4QqIcjgp+kj0x?= =?us-ascii?Q?YGN9o/ml7+Elyy1iJH3ZVTIJhI2HZxopZKUBHX4l4mY9Gaob6UuRfJEYiN9p?= =?us-ascii?Q?hbbBQvA9YxUkbtbfJeYWlTiFADrl2coyXJYC8RTGUdaDGArMeDnkb+Vu0q8S?= =?us-ascii?Q?239yQX2jXbKPIxEqR6E0CMDbA7pbOfFde0A9jckSMsYlhtJj1vWqlB7yQh90?= =?us-ascii?Q?5uPVVZwTJrzkjbXy3XMfy119gDQNSzpgWvewsdzCK2PtWcBPoZGf/h1TbAOm?= =?us-ascii?Q?6HvxO7tVls4q7QF2B6KqsscbDX1O2+kBk5Q/3b61jT05fYdpW1B+npt6KVTI?= =?us-ascii?Q?kwmHBBJEAsLcWos7ukuX9g=3D=3D?= X-Forefront-Antispam-Report: CIP:12.22.5.238; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230016)(4636009)(396003)(136003)(39860400002)(346002)(376002)(46966006)(40470700004)(36840700001)(82310400005)(47076005)(426003)(336012)(16526019)(186003)(54906003)(6916009)(81166007)(6286002)(82740400003)(316002)(40460700003)(356005)(86362001)(2616005)(1076003)(70586007)(70206006)(8676002)(4326008)(45080400002)(478600001)(55016003)(40480700001)(966005)(36860700001)(83380400001)(53546011)(26005)(7696005)(41300700001)(6666004)(40140700001)(5660300002)(8936002)(36756003)(30864003)(2906002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2022 08:26:49.3528 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 512bd7a5-e48e-4670-b70f-08da6a299789 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.238]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT040.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5262 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 20.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/22/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/steevenlee/dpdk This queued commit can be viewed at: https://github.com/steevenlee/dpdk/commit/0a3411605f9ea69e8c26facb3ac0b1ee5fa08517 Thanks. Xueming Li --- >From 0a3411605f9ea69e8c26facb3ac0b1ee5fa08517 Mon Sep 17 00:00:00 2001 From: Long Li Date: Wed, 29 Jun 2022 16:29:44 -0700 Subject: [PATCH] net/netvsc: fix vmbus device reference in multi-process Cc: Xueming Li [ upstream commit 7b1a614dcbe2017f1984be28a01efabcd7fed8b8 ] The vmbus device is allocated via "calloc" before the EAL memory is initialized. The secondary process can't reference the vmbus device as it is not mapped correctly in the shared memory region. Replace all references to the vmbus device (and its contents) with the pointers/contents set by the primary process. Fixes: 4e9c73e96e ("net/netvsc: add Hyper-V network device") Signed-off-by: Long Li Acked-by: Stephen Hemminger --- drivers/bus/vmbus/private.h | 2 ++ drivers/bus/vmbus/vmbus_channel.c | 15 +++++++-------- drivers/net/netvsc/hn_ethdev.c | 4 ++-- drivers/net/netvsc/hn_nvs.c | 14 +++++++------- drivers/net/netvsc/hn_rxtx.c | 8 ++++---- drivers/net/netvsc/hn_var.h | 4 ++-- 6 files changed, 24 insertions(+), 23 deletions(-) diff --git a/drivers/bus/vmbus/private.h b/drivers/bus/vmbus/private.h index 74ef948282..5b8b01b808 100644 --- a/drivers/bus/vmbus/private.h +++ b/drivers/bus/vmbus/private.h @@ -77,6 +77,8 @@ struct vmbus_channel { uint16_t relid; uint16_t subchannel_id; uint8_t monitor_id; + + struct vmbus_mon_page *monitor_page; }; #define VMBUS_MAX_CHANNELS 64 diff --git a/drivers/bus/vmbus/vmbus_channel.c b/drivers/bus/vmbus/vmbus_channel.c index 119b9b367e..9bd01679c3 100644 --- a/drivers/bus/vmbus/vmbus_channel.c +++ b/drivers/bus/vmbus/vmbus_channel.c @@ -27,7 +27,7 @@ vmbus_sync_set_bit(volatile uint32_t *addr, uint32_t mask) } static inline void -vmbus_set_monitor(const struct rte_vmbus_device *dev, uint32_t monitor_id) +vmbus_set_monitor(const struct vmbus_channel *channel, uint32_t monitor_id) { uint32_t *monitor_addr, monitor_mask; unsigned int trigger_index; @@ -35,15 +35,14 @@ vmbus_set_monitor(const struct rte_vmbus_device *dev, uint32_t monitor_id) trigger_index = monitor_id / HV_MON_TRIG_LEN; monitor_mask = 1u << (monitor_id % HV_MON_TRIG_LEN); - monitor_addr = &dev->monitor_page->trigs[trigger_index].pending; + monitor_addr = &channel->monitor_page->trigs[trigger_index].pending; vmbus_sync_set_bit(monitor_addr, monitor_mask); } static void -vmbus_set_event(const struct rte_vmbus_device *dev, - const struct vmbus_channel *chan) +vmbus_set_event(const struct vmbus_channel *chan) { - vmbus_set_monitor(dev, chan->monitor_id); + vmbus_set_monitor(chan, chan->monitor_id); } /* @@ -81,7 +80,6 @@ rte_vmbus_set_latency(const struct rte_vmbus_device *dev, void rte_vmbus_chan_signal_tx(const struct vmbus_channel *chan) { - const struct rte_vmbus_device *dev = chan->device; const struct vmbus_br *tbr = &chan->txbr; /* Make sure all updates are done before signaling host */ @@ -91,7 +89,7 @@ rte_vmbus_chan_signal_tx(const struct vmbus_channel *chan) if (tbr->vbr->imask) return; - vmbus_set_event(dev, chan); + vmbus_set_event(chan); } @@ -218,7 +216,7 @@ void rte_vmbus_chan_signal_read(struct vmbus_channel *chan, uint32_t bytes_read) if (write_sz <= pending_sz) return; - vmbus_set_event(chan->device, chan); + vmbus_set_event(chan); } int rte_vmbus_chan_recv(struct vmbus_channel *chan, void *data, uint32_t *len, @@ -325,6 +323,7 @@ int vmbus_chan_create(const struct rte_vmbus_device *device, chan->subchannel_id = subid; chan->relid = relid; chan->monitor_id = monitor_id; + chan->monitor_page = device->monitor_page; *new_chan = chan; err = vmbus_uio_map_rings(chan); diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c index 49f954305d..3826d66b7e 100644 --- a/drivers/net/netvsc/hn_ethdev.c +++ b/drivers/net/netvsc/hn_ethdev.c @@ -980,8 +980,8 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev) } hv->vmbus = vmbus; - hv->rxbuf_res = &vmbus->resource[HV_RECV_BUF_MAP]; - hv->chim_res = &vmbus->resource[HV_SEND_BUF_MAP]; + hv->rxbuf_res = vmbus->resource[HV_RECV_BUF_MAP]; + hv->chim_res = vmbus->resource[HV_SEND_BUF_MAP]; hv->port_id = eth_dev->data->port_id; hv->latency = HN_CHAN_LATENCY_NS; hv->rx_copybreak = HN_RXCOPY_THRESHOLD; diff --git a/drivers/net/netvsc/hn_nvs.c b/drivers/net/netvsc/hn_nvs.c index 8d20c1e88d..4a2797bf8e 100644 --- a/drivers/net/netvsc/hn_nvs.c +++ b/drivers/net/netvsc/hn_nvs.c @@ -193,11 +193,11 @@ hn_nvs_conn_rxbuf(struct hn_data *hv) * Connect RXBUF to NVS. */ conn.type = NVS_TYPE_RXBUF_CONN; - conn.gpadl = hv->rxbuf_res->phys_addr; + conn.gpadl = hv->rxbuf_res.phys_addr; conn.sig = NVS_RXBUF_SIG; PMD_DRV_LOG(DEBUG, "connect rxbuff va=%p gpad=%#" PRIx64, - hv->rxbuf_res->addr, - hv->rxbuf_res->phys_addr); + hv->rxbuf_res.addr, + hv->rxbuf_res.phys_addr); error = hn_nvs_execute(hv, &conn, sizeof(conn), &resp, sizeof(resp), @@ -308,17 +308,17 @@ hn_nvs_conn_chim(struct hn_data *hv) struct hn_nvs_chim_conn chim; struct hn_nvs_chim_connresp resp; uint32_t sectsz; - unsigned long len = hv->chim_res->len; + unsigned long len = hv->chim_res.len; int error; /* Connect chimney sending buffer to NVS */ memset(&chim, 0, sizeof(chim)); chim.type = NVS_TYPE_CHIM_CONN; - chim.gpadl = hv->chim_res->phys_addr; + chim.gpadl = hv->chim_res.phys_addr; chim.sig = NVS_CHIM_SIG; PMD_DRV_LOG(DEBUG, "connect send buf va=%p gpad=%#" PRIx64, - hv->chim_res->addr, - hv->chim_res->phys_addr); + hv->chim_res.addr, + hv->chim_res.phys_addr); error = hn_nvs_execute(hv, &chim, sizeof(chim), &resp, sizeof(resp), diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c index 44a8eb4c0e..fe4ccd1c3e 100644 --- a/drivers/net/netvsc/hn_rxtx.c +++ b/drivers/net/netvsc/hn_rxtx.c @@ -582,7 +582,7 @@ static void hn_rxpkt(struct hn_rx_queue *rxq, struct hn_rx_bufinfo *rxb, * Use refcount to handle multiple packets in same * receive buffer section. */ - rxbuf = hv->rxbuf_res->addr; + rxbuf = hv->rxbuf_res.addr; iova = rte_mem_virt2iova(rxbuf) + RTE_PTR_DIFF(data, rxbuf); shinfo = &rxb->shinfo; @@ -765,8 +765,8 @@ hn_nvs_handle_rxbuf(struct rte_eth_dev *dev, { const struct vmbus_chanpkt_rxbuf *pkt; const struct hn_nvs_hdr *nvs_hdr = buf; - uint32_t rxbuf_sz = hv->rxbuf_res->len; - char *rxbuf = hv->rxbuf_res->addr; + uint32_t rxbuf_sz = hv->rxbuf_res.len; + char *rxbuf = hv->rxbuf_res.addr; unsigned int i, hlen, count; struct hn_rx_bufinfo *rxb; @@ -1266,7 +1266,7 @@ hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq, if (txd->chim_index == NVS_CHIM_IDX_INVALID) return NULL; - chim = (uint8_t *)hv->chim_res->addr + chim = (uint8_t *)hv->chim_res.addr + txd->chim_index * hv->chim_szmax; txq->agg_txd = txd; diff --git a/drivers/net/netvsc/hn_var.h b/drivers/net/netvsc/hn_var.h index bd874c6b4d..3d3429c1a2 100644 --- a/drivers/net/netvsc/hn_var.h +++ b/drivers/net/netvsc/hn_var.h @@ -119,7 +119,7 @@ struct hn_data { uint32_t link_status; uint32_t link_speed; - struct rte_mem_resource *rxbuf_res; /* UIO resource for Rx */ + struct rte_mem_resource rxbuf_res; /* UIO resource for Rx */ uint32_t rxbuf_section_cnt; /* # of Rx sections */ uint32_t rx_copybreak; uint32_t rx_extmbuf_enable; @@ -128,7 +128,7 @@ struct hn_data { uint64_t rss_offloads; rte_spinlock_t chim_lock; - struct rte_mem_resource *chim_res; /* UIO resource for Tx */ + struct rte_mem_resource chim_res; /* UIO resource for Tx */ struct rte_bitmap *chim_bmap; /* Send buffer map */ void *chim_bmem; uint32_t tx_copybreak; -- 2.35.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-07-20 15:01:01.388175206 +0800 +++ 0056-net-netvsc-fix-vmbus-device-reference-in-multi-proce.patch 2022-07-20 15:00:58.801000350 +0800 @@ -1 +1 @@ -From 7b1a614dcbe2017f1984be28a01efabcd7fed8b8 Mon Sep 17 00:00:00 2001 +From 0a3411605f9ea69e8c26facb3ac0b1ee5fa08517 Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Xueming Li + +[ upstream commit 7b1a614dcbe2017f1984be28a01efabcd7fed8b8 ] @@ -14 +16,0 @@ -Cc: stable@dpdk.org @@ -28 +30 @@ -index 1bca147e12..658303bc27 100644 +index 74ef948282..5b8b01b808 100644 @@ -31 +33 @@ -@@ -74,6 +74,8 @@ struct vmbus_channel { +@@ -77,6 +77,8 @@ struct vmbus_channel { @@ -107 +109 @@ -index 0a357d3645..787139c0b2 100644 +index 49f954305d..3826d66b7e 100644 @@ -110 +112 @@ -@@ -1169,8 +1169,8 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev) +@@ -980,8 +980,8 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev) @@ -122 +124 @@ -index a29ac18ff4..b90280c9ff 100644 +index 8d20c1e88d..4a2797bf8e 100644 @@ -163 +165 @@ -index 1afc14f280..909c07a4ab 100644 +index 44a8eb4c0e..fe4ccd1c3e 100644 @@ -166 +168 @@ -@@ -580,7 +580,7 @@ static void hn_rxpkt(struct hn_rx_queue *rxq, struct hn_rx_bufinfo *rxb, +@@ -582,7 +582,7 @@ static void hn_rxpkt(struct hn_rx_queue *rxq, struct hn_rx_bufinfo *rxb, @@ -175 +177 @@ -@@ -763,8 +763,8 @@ hn_nvs_handle_rxbuf(struct rte_eth_dev *dev, +@@ -765,8 +765,8 @@ hn_nvs_handle_rxbuf(struct rte_eth_dev *dev, @@ -186 +188 @@ -@@ -1264,7 +1264,7 @@ hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq, +@@ -1266,7 +1266,7 @@ hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq, @@ -196 +198 @@ -index 416c042a27..98a3b83033 100644 +index bd874c6b4d..3d3429c1a2 100644 @@ -199 +201 @@ -@@ -147,7 +147,7 @@ struct hn_data { +@@ -119,7 +119,7 @@ struct hn_data { @@ -208 +210 @@ -@@ -156,7 +156,7 @@ struct hn_data { +@@ -128,7 +128,7 @@ struct hn_data {