On Wed, Feb 18, 2026 at 09:49:27AM +0000, Ciara Loftus wrote: > This series fixes and makes consistent the approach to selecting Rx and > Tx paths in a multi process scenario across the Intel drivers that use > the common path selection framework. > > In v25.11 the i40e, iavf and ice drivers prevented Rx path selection by > secondary processes, in favour of simply selecting the path chosen by > the primary process. However, this model does not work if the primary > process hasn't started the device before the secondary process > encounters the path selection logic. To address this, permit path > selection by any process, so long as the device has not yet been > started. This allows for the use case where the secondary process is the > process that starts the device. > The idpf and cpfl drivers are updated to follow this model as well. > > The same issue exists for the Tx path selection for i40e, iavf, ice, > idpf and cpfl, so implement the same logic when selecting a Tx path as > well ie. permit path selection if the device has not been started. > > If two processes were to call the path selection at the same time, in > most cases they should both land on the same result. Both would be using > the same information from dev->data to build up the structure that is > used as input to the path selection function. The effect would be both > writing the same values to shared variables eg. rx_func_type in > dev->data->dev_private. For this reason I did not add any locking around > the path selection logic. The only exception would be the case where the > primary and secondary processes are configured with different maximum > SIMD bitwidths however this is an invalid use case IMO. > > I kept the patches for fixing the Rx and Tx path selection separate, as > the patches that target the Rx side will need to be backported to v25.11 > whereas the patches for the Tx side do not as that logic was introduced > post v25.11. > > v3: In iavf ensure a secondary process can see if the primary process has > enabled LLDP, which ensures that the correct Tx path will be chosen ie. > one with context descriptor support if LLDP is enabled. > > Ciara Loftus (10): > net/i40e: permit secondary process Rx path selection > net/iavf: permit secondary process Rx path selection > net/ice: permit secondary process Rx path selection > net/idpf: prevent Rx path selection after device start > net/cpfl: prevent Rx path selection after device start > net/i40e: permit secondary process Tx path selection > net/iavf: permit secondary process Tx path selection > net/ice: permit secondary process Tx path selection > net/idpf: permit secondary process Tx path selection > net/cpfl: permit secondary process Tx path selection > Applied to next-net-intel.
I've squashed the final 5 patches together as they are the same changes just made to different drivers + one other small incidental change for iavf The first 5 I've kept all separate as they are also for backporting, and having them smaller should make that easier. Thanks, /Bruce

