[dpdk-dev] [PATCH v7 4/9] ethdev: Add port representor device flag
Doherty, Declan
declan.doherty at intel.com
Wed Apr 25 14:17:28 CEST 2018
On 24/04/2018 8:37 PM, Thomas Monjalon wrote:
> 16/04/2018 15:06, Declan Doherty:
>> 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.
> [...]
>> --- 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;
>> }
> [...]
>> --- 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 */
>
> A similar field has been added recently:
>
> http://dpdk.org/browse/next/dpdk-next-net/tree/lib/librte_ether/rte_ethdev.h#n1074
>
> /** Generic device capabilities */
> uint64_t dev_capa;
>
> It is for flags DEV_CAPA_*
> Note that the prefix should be fixed to RTE_ETH_DEV,
> and the doxygen comment should mention the flags prefix.
> Qi, please fix.
>
> I think dev_capa and dev_flags are the same thing.
> They could be merged.
Do you have a preference for which one to keep, as dev_flags within
rte_eth_dev_data is widely used by PMDs and passing this same
information out through rte_eth_dev_info makes sense to me?
>
>> /** 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
>
> It seems you tried to re-align but it fails.
> Better to use spaces for alignment.
>
sure will fix.
>
>
More information about the dev
mailing list