[PATCH v4] net/igc: add support for secondary processes

Zhang, Qi Z qi.z.zhang at intel.com
Thu Jun 30 13:47:31 CEST 2022



> -----Original Message-----
> From: Zeng, ZhichaoX <zhichaox.zeng at intel.com>
> Sent: Thursday, June 30, 2022 7:04 PM
> To: dev at dpdk.org
> Cc: stable at dpdk.org; Yang, Qiming <qiming.yang at intel.com>; Zhang, Qi Z
> <qi.z.zhang at intel.com>; Zeng, ZhichaoX <zhichaox.zeng at intel.com>;
> alvinx.zhang at intel.com; Guo, Junfeng <junfeng.guo at intel.com>; Su, Simei
> <simei.su at intel.com>; Burakov, Anatoly <anatoly.burakov at intel.com>; Ferruh
> Yigit <ferruh.yigit at intel.com>
> Subject: [PATCH v4] net/igc: add support for secondary processes
> 
> From: Zhichao Zeng <zhichaox.zeng at intel.com>
> 
> The RX function was not specified in the secondary process, causing the
> secondary process to segfault in a multi-process environment.
> 
> This patch specify RX/TX functions in "dev_init" to support secondary processes.
> 
> Fixes: 66fde1b943eb ("net/igc: add skeleton")
> Cc: alvinx.zhang at intel.com
> Cc: stable at dpdk.org
> 
> Signed-off-by: Zhichao Zeng <zhichaox.zeng at intel.com>
> 
> ---
> v2:
> remove unnecessary parameters, move declaration to relevant header file
> ---
> v3:
> remove redundant code, optimize commit log
> ---
> v4:
> rework patch
> ---
>  drivers/net/igc/igc_ethdev.c | 9 ++++++++-
>  drivers/net/igc/igc_txrx.c   | 8 ++++----
>  drivers/net/igc/igc_txrx.h   | 6 ++++++
>  3 files changed, 18 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c index
> b9933b395d..7f221a5d34 100644
> --- a/drivers/net/igc/igc_ethdev.c
> +++ b/drivers/net/igc/igc_ethdev.c
> @@ -1240,8 +1240,15 @@ eth_igc_dev_init(struct rte_eth_dev *dev)
>  	 * has already done this work. Only check we don't need a different
>  	 * RX function.
>  	 */
> -	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
> +	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
> +		dev->rx_pkt_burst = igc_recv_pkts;
> +		if (dev->data->scattered_rx)
> +			dev->rx_pkt_burst = igc_recv_scattered_pkts;

Please removed the redundant code in igc_rx_init



More information about the stable mailing list