[dpdk-users] R: Error in rte_eal_init using dpdk 16.04 and Qlogic (Broadcom) bnx2x driver in a SECONDARY process

Thomas Monjalon thomas.monjalon at 6wind.com
Thu May 5 22:21:30 CEST 2016

2016-05-05 13:02, David Coen:
> Looking at Intel and Mellanox driver sources ("ixgbe_ethdev.c" and "mlx4.c" respectively), 
> I found that, in the driver function called by rte_eal_init to initialize pci devs, is mandatory
> to distinguish if the process is running as SECONDARY (--proc-type=secondary in EAL prameters).
> For example:
> eth_ixgbe_dev_init() function of the ixgbe Intel driver, at line 988 :
> 	/*
> 	 * For secondary processes, we don't initialise any further as primary
> 	 * has already done this work. Only check we don't need a different
> 	 * RX and TX function.
> 	 */
> 	if (rte_eal_process_type() != RTE_PROC_PRIMARY){
> 		... some code lines here ...
> 		return 0;
> 	}
> While in Mellanox mlx4 driver there is a check in ALL driver functions that makes them return
> immediatelly if the running process is of type "secondary".
> That means that a driver has to take into account that the process could be a SECONDARY process...

This is called "Multiprocess aware" in doc/guides/nics/overview.rst.

> but in Qlogic (Broadcom) bnx2x driver I didn't find anything about that.

It seems the driver do not comply with this multiprocess requirement.

> Do you think I've missed something ?

You are probably right :)

More information about the users mailing list