[PATCH v3 1/1] ethdev: add support to provide link type

Ivan Malov ivan.malov at arknetworks.am
Wed Aug 13 14:16:29 CEST 2025


Hi Thomas,

On Wed, 13 Aug 2025, Thomas Monjalon wrote:

> 13/08/2025 10:43, skori at marvell.com:
>> + * Ethernet port type
>
> You mean "link port type"
>
>> + */
>> +#define RTE_ETH_LINK_TYPE_NONE     0  /**< Not defined */
>> +#define RTE_ETH_LINK_TYPE_TP       1  /**< Twisted Pair */
>> +#define RTE_ETH_LINK_TYPE_AUI      2  /**< Attachment Unit Interface */
>> +#define RTE_ETH_LINK_TYPE_MII      3  /**< Media Independent Interface */
>> +#define RTE_ETH_LINK_TYPE_FIBRE    4  /**< Fibre */
>
> In general we use the US word "fiber",
> but we are not very consistent, so it is not a strong opinion.

To me, "fibre" reads more natural. Not a strong opinion either.

>
>> +#define RTE_ETH_LINK_TYPE_BNC      5  /**< BNC */
>> +#define RTE_ETH_LINK_TYPE_DA       6  /**< Direct Attach copper */
>> +#define RTE_ETH_LINK_TYPE_SGMII    7  /**< SGMII */
>> +#define RTE_ETH_LINK_TYPE_QSGMII   8  /**< QSGMII */
>> +#define RTE_ETH_LINK_TYPE_XFI      9  /**< XFI */
>> +#define RTE_ETH_LINK_TYPE_SFI     10  /**< SFI */
>> +#define RTE_ETH_LINK_TYPE_XLAUI   11  /**< XLAUI */
>> +#define RTE_ETH_LINK_TYPE_GAUI    12  /**< GAUI */
>> +#define RTE_ETH_LINK_TYPE_XAUI    13  /**< XAUI */
>> +#define RTE_ETH_LINK_TYPE_GBASE   14  /**< GBASE */
>> +#define RTE_ETH_LINK_TYPE_CAUI    15  /**< CAUI */
>> +#define RTE_ETH_LINK_TYPE_LAUI    16  /**< LAUI */
>> +#define RTE_ETH_LINK_TYPE_SFP     17  /**< SFP */
>> +#define RTE_ETH_LINK_TYPE_SFP_DD  18  /**< SFP_DD */
>
> You should use more full words in comments, at least for DD.

+1

>
>> +#define RTE_ETH_LINK_TYPE_SFP_PLUS 19  /**< SFP_PLUS */
>
> Please add more spaces to allow a correct alignment.
>
>> +#define RTE_ETH_LINK_TYPE_SFP28   20  /**< SFP28 */
>> +#define RTE_ETH_LINK_TYPE_QSFP    21  /**< QSFP */
>> +#define RTE_ETH_LINK_TYPE_QSFP_PLUS 22  /**< QSFP_PLUS */
>> +#define RTE_ETH_LINK_TYPE_QSFP28  23  /**< QSFP28 */
>> +#define RTE_ETH_LINK_TYPE_QSFP56  24  /**< QSFP56 */
>> +#define RTE_ETH_LINK_TYPE_QSFP_DD 25  /**< QSFP_DD */
>> +#define RTE_ETH_LINK_TYPE_OTHER  0x1F /**< Other type */
>
> Why the last one is in hexadecimal? and why 1F?

I take it this is just maximum value for 'uint16_t link_type    : 5;'.

>
> Is there a logic in the order and numbering for this list?
>
> Why not using an enum?

May be RTE_LEN2MASK() or something?

Thank you.

>
> Thanks
>
>
>
>
>
>


More information about the dev mailing list