[PATCH v3 4/6] net/nfb: use process private variable for internal data

Stephen Hemminger stephen at networkplumber.org
Tue Jan 20 01:13:51 CET 2026


On Fri, 16 Jan 2026 16:20:55 +0100
spinler at cesnet.cz wrote:

> From: Martin Spinler <spinler at cesnet.cz>
> 
> Internal structures of libnfb can't be shared between processes.
> Move these structures from dev_private to process_private, which allows
> secondary process to correctly initialize and uninitialize the eth_dev.
> 
> Signed-off-by: Martin Spinler <spinler at cesnet.cz>
> ---
>  drivers/net/nfb/nfb.h        |  2 +
>  drivers/net/nfb/nfb_ethdev.c | 99 +++++++++++++++++++++---------------
>  drivers/net/nfb/nfb_rx.c     |  2 +-
>  drivers/net/nfb/nfb_rxmode.c | 12 ++---
>  drivers/net/nfb/nfb_tx.c     |  2 +-
>  5 files changed, 67 insertions(+), 50 deletions(-)
> 
> diff --git a/drivers/net/nfb/nfb.h b/drivers/net/nfb/nfb.h
> index 917b830283..09d4b7da5f 100644
> --- a/drivers/net/nfb/nfb.h
> +++ b/drivers/net/nfb/nfb.h
> @@ -48,7 +48,9 @@ struct pmd_internals {
>  	struct nc_rxmac *rxmac[RTE_MAX_NC_RXMAC];
>  	struct nc_txmac *txmac[RTE_MAX_NC_TXMAC];
>  	struct nfb_device *nfb;
> +};
>  
> +struct pmd_priv {
>  	uint16_t max_rx_queues;
>  	uint16_t max_tx_queues;
>  };

Where does max_rx_queues get populated in the secondary process?
What if either process calls configure to change number of queues?

Don't see other drivers splitting structure here.


More information about the dev mailing list