From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: [RFC] ethdev: expand size of eth_dev_name in next release Date: Wed, 7 Dec 2016 18:27:17 -0800 Message-ID: <20161207182717.1fdb0851@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit To: dev@dpdk.org Return-path: Received: from mail-pf0-f171.google.com (mail-pf0-f171.google.com [209.85.192.171]) by dpdk.org (Postfix) with ESMTP id A2C962B8E for ; Thu, 8 Dec 2016 03:27:30 +0100 (CET) Received: by mail-pf0-f171.google.com with SMTP id 189so80629448pfz.3 for ; Wed, 07 Dec 2016 18:27:30 -0800 (PST) Received: from xeon-e3 (204-195-18-65.wavecable.com. [204.195.18.65]) by smtp.gmail.com with ESMTPSA id p13sm45567993pgf.47.2016.12.07.18.27.29 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 Dec 2016 18:27:29 -0800 (PST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This came up while revising earlier work on Hyper-V. The current versions of DPDK does not have enough space to support a logical device name in VMBUS. The kernel exposes the VMBUS devices by GUID in a manner similar to how PCI is expressed with domain:host:function notation. In order to support Hyper-V in a direct fashion, the eth_dev name needs to be expanded. The standard format for text representation of GUID is 36 bytes (plus null). See uuid_unparse(3). The other alternative is to use base64 encoding, but this worse for humans to read, and isn't directly handled by lib uuid. --- doc/guides/rel_notes/release_17_02.rst | 4 +++- lib/librte_ether/rte_ethdev.h | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/guides/rel_notes/release_17_02.rst b/doc/guides/rel_notes/release_17_02.rst index 3b65038..52c97c6 100644 --- a/doc/guides/rel_notes/release_17_02.rst +++ b/doc/guides/rel_notes/release_17_02.rst @@ -116,7 +116,9 @@ ABI Changes Also, make sure to start the actual text at the margin. ========================================================= - + * The macro ``RTE_ETH_NAME_MAX_LEN`` used in rte_eth_dev_data will be + increased from 32 to 40 characters to allow for longer values such + as GUID which is 36 characters long (plus null character). Shared Library Versions ----------------------- diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 9678179..68cb956 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -1652,7 +1652,11 @@ struct rte_eth_dev_sriov { }; #define RTE_ETH_DEV_SRIOV(dev) ((dev)->data->sriov) +#ifdef RTE_NEXT_ABI +#define RTE_ETH_NAME_MAX_LEN 40 +#else #define RTE_ETH_NAME_MAX_LEN (32) +#endif /** * @internal -- 2.10.2