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

Nithin Dabilpuram nithind1988 at gmail.com
Tue Apr 15 09:08:18 CEST 2025


On Fri, Apr 4, 2025 at 6:16 AM Stephen Hemminger
<stephen at networkplumber.org> wrote:
>
> On Thu, 3 Apr 2025 12:38:34 +0530
> Nithin Dabilpuram <ndabilpuram at marvell.com> wrote:
>
> >  /**
> >   * A structure used to retrieve link-level information of an Ethernet port.
> >   */
> > @@ -341,6 +354,7 @@ struct rte_eth_link {
> >                       uint16_t link_duplex  : 1;  /**< RTE_ETH_LINK_[HALF/FULL]_DUPLEX */
> >                       uint16_t link_autoneg : 1;  /**< RTE_ETH_LINK_[AUTONEG/FIXED] */
> >                       uint16_t link_status  : 1;  /**< RTE_ETH_LINK_[DOWN/UP] */
> > +                     uint16_t link_type    : 5;  /**< RTE_ETH_LINK_TYPE_* */
> >               };
> >       };
> >  };
>
> Seems like an ABI break, and not sure that all drivers will fill those bits with zero now.

Generally ABI is between APP and all DPDK libraries/PMD and not
between DPDK libraries and PMD ?
For example:

#1 App build with DPDK 24.11, DPDK libraries and PMD's based on 24.11
#2 App built with DPDK 24.11, DPDK libraries and PMD's based on 25.07
#3 App build with DPDK 24.11, DPDK libraries based on 25.07 and PMD's
based on 24.11
#4 App build with DPDK 24.11, DPDK libraries based on 24.11 and PMD's
based on 25.07


For scenario #2, there is no issue if my change can includes memset in
ethdev library ?
Scenario #3 and Scenario #4 are not really valid right ?






Scenario #2 is not possible right ?


More information about the dev mailing list