On Fri, Apr 4, 2025 at 6:16 AM Stephen Hemminger <step...@networkplumber.org> wrote: > > On Thu, 3 Apr 2025 12:38:34 +0530 > Nithin Dabilpuram <ndabilpu...@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 ?