> -----Original Message-----
> From: Zeng, ZhichaoX <zhichaox.z...@intel.com>
> Sent: Thursday, June 30, 2022 7:04 PM
> To: dev@dpdk.org
> Cc: sta...@dpdk.org; Yang, Qiming <qiming.y...@intel.com>; Zhang, Qi Z
> <qi.z.zh...@intel.com>; Zeng, ZhichaoX <zhichaox.z...@intel.com>;
> alvinx.zh...@intel.com; Guo, Junfeng <junfeng....@intel.com>; Su, Simei
> <simei...@intel.com>; Burakov, Anatoly <anatoly.bura...@intel.com>; Ferruh
> Yigit <ferruh.yi...@intel.com>
> Subject: [PATCH v4] net/igc: add support for secondary processes
>
> From: Zhichao Zeng <zhichaox.z...@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.zh...@intel.com
> Cc: sta...@dpdk.org
>
> Signed-off-by: Zhichao Zeng <zhichaox.z...@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