[dpdk-dev] [PATCH v7 4/9] ethdev: Add port representor device flag
Declan Doherty
declan.doherty at intel.com
Mon Apr 16 15:06:00 CEST 2018
Add new device flag to specify that an ethdev port is a port representor.
Extend rte_eth_dev_info structure to expose device flags to the user which
enables applications to discover if a port is a representor port.
Signed-off-by: Declan Doherty <declan.doherty at intel.com>
---
lib/librte_ether/rte_ethdev.c | 2 ++
lib/librte_ether/rte_ethdev.h | 9 ++++++---
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index b16d23b9a..1d38d8e75 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -2431,6 +2431,8 @@ rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info)
dev_info->driver_name = dev->device->driver->name;
dev_info->nb_rx_queues = dev->data->nb_rx_queues;
dev_info->nb_tx_queues = dev->data->nb_tx_queues;
+
+ dev_info->dev_flags = dev->data->dev_flags;
}
int
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index b5e5fc52a..0a52067d3 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -1032,6 +1032,7 @@ struct rte_eth_dev_info {
const char *driver_name; /**< Device Driver name. */
unsigned int if_index; /**< Index to bound host interface, or 0 if none.
Use if_indextoname() to translate into an interface name. */
+ uint32_t dev_flags; /**< Device flags */
uint32_t min_rx_bufsize; /**< Minimum size of RX buffer. */
uint32_t max_rx_pktlen; /**< Maximum configurable length of RX pkt. */
uint16_t max_rx_queues; /**< Maximum number of RX queues. */
@@ -1268,11 +1269,13 @@ struct rte_eth_dev_owner {
};
/** Device supports link state interrupt */
-#define RTE_ETH_DEV_INTR_LSC 0x0002
+#define RTE_ETH_DEV_INTR_LSC 0x0002
/** Device is a bonded slave */
-#define RTE_ETH_DEV_BONDED_SLAVE 0x0004
+#define RTE_ETH_DEV_BONDED_SLAVE 0x0004
/** Device supports device removal interrupt */
-#define RTE_ETH_DEV_INTR_RMV 0x0008
+#define RTE_ETH_DEV_INTR_RMV 0x0008
+/** Device is port representor */
+#define RTE_ETH_DEV_REPRESENTOR 0x0010
/**
* @warning
--
2.14.3
More information about the dev
mailing list