> -----Original Message-----
> From: Zeng, ZhichaoX <[email protected]>
> Sent: Thursday, June 30, 2022 7:04 PM
> To: [email protected]
> Cc: [email protected]; Yang, Qiming <[email protected]>; Zhang, Qi Z
> <[email protected]>; Zeng, ZhichaoX <[email protected]>;
> [email protected]; Guo, Junfeng <[email protected]>; Su, Simei
> <[email protected]>; Burakov, Anatoly <[email protected]>; Ferruh
> Yigit <[email protected]>
> Subject: [PATCH v4] net/igc: add support for secondary processes
>
> From: Zhichao Zeng <[email protected]>
>
> 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: [email protected]
> Cc: [email protected]
>
> Signed-off-by: Zhichao Zeng <[email protected]>
>
> ---
> 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