> Subject: Re: [PATCH 0/8] Fixes for Intel common rx/tx path selection > > On Mon, Dec 15, 2025 at 02:05:45PM +0000, Ciara Loftus wrote: > > An issue exists with the way Rx and Tx paths are defined and then used > > by the common selection infrastructure, which in some cases means not > > all paths are available for selection. The issue affects four drivers on > > both Rx and Tx paths resulting in eight fix patches. > > > > Depending on the underlying architecture and CPU flags available, a > > different set of paths are defined for each driver. The path selection > > function iterates sequentially from zero to num_paths where num_paths is > > the size of the array as determined by the RTE_DIM macro. However, > > depending on the platform, some of these entries may be empty, and valid > > entries at the end of the array may never be considered in the selection > > function. Fix this by editing each driver's rx/tx "func_type" enum and > > only defining a value for the path if it is implemented in the driver's > > rx/tx "path_infos" array. > > > I wonder if there is an alternative/better approach that can work here. For > each array, RTE_DIM will correctly give its size, and the indexes are set > according to the enum values which are common across each platform. > Therefore, the remaining entries in each array are going to be all zeroed, > since they are not explicitly initialized, e.g. the AXV entries on ARM > platforms. Would it not then work to just check during selection for a > non-NULL pkt_burst pointer in each entry we are comparing and skip those > which are NULL?
That would indeed be much simpler - I'll submit a v2 shortly. Thanks! > > /Bruce

