[dpdk-dev] [RFC] ethdev: expand size of eth_dev_name in next release

Stephen Hemminger stephen at networkplumber.org
Thu Dec 8 03:27:17 CET 2016


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



More information about the dev mailing list