> Hello, > > The title can be simply "ethdev: add link type". > Ack.
> > 08/09/2025 10:51, [email protected]: > > +* **Added ethdev API in library.* > > Please be more specific, we don't need to group all ethdev changes together. > Each new API feature deserves a separate bullet. > Ack. > > + > > + * Added API to report type of link connection for a port. > > + By default, it reports ``RTE_ETH_LINK_CONNECTOR_NONE`` > > + unless driver specifies it. > > I think you need to explain what is a type (copper, fiber, etc). > Ack. > [...] > > +RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_link_connector_to_str, 25.11) > > +const char * rte_eth_link_connector_to_str(enum > > +rte_eth_link_connector link_connector) { > > + static const char * const link_connector_str[] = { > > + [RTE_ETH_LINK_CONNECTOR_NONE] = "None", > > + [RTE_ETH_LINK_CONNECTOR_TP] = "Twisted Pair", > > + [RTE_ETH_LINK_CONNECTOR_AUI] = "Attachment Unit Interface", > > + [RTE_ETH_LINK_CONNECTOR_MII] = "Media Independent > Interface", > > + [RTE_ETH_LINK_CONNECTOR_FIBER] = "Fiber", > > + [RTE_ETH_LINK_CONNECTOR_BNC] = "BNC", > > + [RTE_ETH_LINK_CONNECTOR_DAC] = "Direct Attach Copper", > > + [RTE_ETH_LINK_CONNECTOR_SGMII] = "SGMII", > > + [RTE_ETH_LINK_CONNECTOR_QSGMII] = "QSGMII", > > + [RTE_ETH_LINK_CONNECTOR_XFI] = "XFI", > > + [RTE_ETH_LINK_CONNECTOR_SFI] = "SFI", > > + [RTE_ETH_LINK_CONNECTOR_XLAUI] = "XLAUI", > > + [RTE_ETH_LINK_CONNECTOR_GAUI] = "GAUI", > > + [RTE_ETH_LINK_CONNECTOR_XAUI] = "XAUI", > > + [RTE_ETH_LINK_CONNECTOR_CAUI] = "CAUI", > > + [RTE_ETH_LINK_CONNECTOR_LAUI] = "LAUI", > > + [RTE_ETH_LINK_CONNECTOR_SFP] = "SFP", > > + [RTE_ETH_LINK_CONNECTOR_SFP_DD] = "SFP-DD", > > + [RTE_ETH_LINK_CONNECTOR_SFP_PLUS] = "SFP+", > > + [RTE_ETH_LINK_CONNECTOR_SFP28] = "SFP28", > > + [RTE_ETH_LINK_CONNECTOR_QSFP] = "QSFP", > > + [RTE_ETH_LINK_CONNECTOR_QSFP_PLUS] = "QSFP+", > > + [RTE_ETH_LINK_CONNECTOR_QSFP28] = "QSFP28", > > + [RTE_ETH_LINK_CONNECTOR_QSFP56] = "QSFP56", > > + [RTE_ETH_LINK_CONNECTOR_QSFP_DD] = "QSFP-DD", > > + [RTE_ETH_LINK_CONNECTOR_OTHER] = "Other", > > + }; > > + const char *str = NULL; > > + > > + if (link_connector < ((enum > rte_eth_link_connector)RTE_DIM(link_connector_str))) > > + str = link_connector_str[link_connector]; > > + > > + return str; > > +} > > So we say link connector, not link type as in the title and descriptions? > Yes, we are refereeing link connector. > [...] > > +enum rte_eth_link_connector { > > + RTE_ETH_LINK_CONNECTOR_NONE = 0, /**< Not defined */ > > + RTE_ETH_LINK_CONNECTOR_TP, /**< Twisted Pair */ > > + RTE_ETH_LINK_CONNECTOR_AUI, /**< Attachment Unit Interface */ > > + RTE_ETH_LINK_CONNECTOR_MII, /**< Media Independent Interface > */ > > + RTE_ETH_LINK_CONNECTOR_FIBER, /**< Optical Fiber Link */ > > + RTE_ETH_LINK_CONNECTOR_BNC, /**< BNC Link type for RF > connection */ > > + RTE_ETH_LINK_CONNECTOR_DAC, /**< Direct Attach copper */ > > + RTE_ETH_LINK_CONNECTOR_SGMII, /**< Serial Gigabit Media > Independent Interface */ > > + RTE_ETH_LINK_CONNECTOR_QSGMII, /**< Link to multiplex 4 SGMII > over one serial link */ > > + RTE_ETH_LINK_CONNECTOR_XFI, /**< 10 Gigabit Attachment Unit > Interface */ > > + RTE_ETH_LINK_CONNECTOR_SFI, /**< 10 Gigabit Serial Interface > > for > optical network */ > > + RTE_ETH_LINK_CONNECTOR_XLAUI, /**< 40 Gigabit Attachment Unit > Interface */ > > + RTE_ETH_LINK_CONNECTOR_GAUI, /**< Gigabit Interface for > 50/100/200 Gbps */ > > + RTE_ETH_LINK_CONNECTOR_XAUI, /**< 10 Gigabit Attachment Unit > Interface */ > > + RTE_ETH_LINK_CONNECTOR_CAUI, /**< 100 Gigabit Attachment Unit > Interface */ > > + RTE_ETH_LINK_CONNECTOR_LAUI, /**< 50 Gigabit Attachment Unit > Interface */ > > + RTE_ETH_LINK_CONNECTOR_SFP, /**< Pluggable module for 1 > Gigabit */ > > + RTE_ETH_LINK_CONNECTOR_SFP_PLUS, /**< Pluggable module for 10 > Gigabit */ > > + RTE_ETH_LINK_CONNECTOR_SFP28, /**< Pluggable module for 25 > Gigabit */ > > + RTE_ETH_LINK_CONNECTOR_SFP_DD, /**< Pluggable module for 100 > Gigabit */ > > + RTE_ETH_LINK_CONNECTOR_QSFP, /**< Module to mutiplex 4 SFP i.e. > 4*1=4 Gbps */ > > + RTE_ETH_LINK_CONNECTOR_QSFP_PLUS, /**< Module to mutiplex 4 > SFP_PLUS i.e. 4*10=40 Gbps */ > > + RTE_ETH_LINK_CONNECTOR_QSFP28, /**< Module to mutiplex 4 SFP28 > i.e. 4*25=100 Gbps */ > > + RTE_ETH_LINK_CONNECTOR_QSFP56, /**< Module to mutiplex 4 SFP56 > i.e. 4*50=200 Gbps */ > > + RTE_ETH_LINK_CONNECTOR_QSFP_DD, /**< Module to mutiplex 4 > SFP_DD i.e. 4*100=400 Gbps */ > > + RTE_ETH_LINK_CONNECTOR_OTHER = 31, /**< non-physical interfaces > like virtio, ring etc. > > + * It also includes unknown > > connector > types, > > + * i.e. physical connectors not > > yet > defined in this > > + * list of connector types. > > It is confusing whether we use NONE or OTHER for unknown types. > Agreed because NONE also specifies the same. I will update it. Intention is, OTHER represents Unknown connector.

