[PATCH v2 10/10] net/octeon_ep: set secondary process dev ops
Jerin Jacob
jerinjacobk at gmail.com
Fri Apr 21 07:03:12 CEST 2023
On Wed, Apr 5, 2023 at 7:57 PM Sathesh Edara <sedara at marvell.com> wrote:
>
> This patch sets the dev ops and transmit/receive
> callbacks for secondary process.
Change the message as "fix ..." and fixes: tag if it just bug fixes.
BTW, "Multiprocess aware" is missing in doc/guides/nics/features/octeon_ep.ini
>
> Signed-off-by: Sathesh Edara <sedara at marvell.com>
> ---
> drivers/net/octeon_ep/otx_ep_ethdev.c | 22 +++++++++++++++++++---
> 1 file changed, 19 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/octeon_ep/otx_ep_ethdev.c b/drivers/net/octeon_ep/otx_ep_ethdev.c
> index 885fbb475f..a9868909f8 100644
> --- a/drivers/net/octeon_ep/otx_ep_ethdev.c
> +++ b/drivers/net/octeon_ep/otx_ep_ethdev.c
> @@ -527,9 +527,17 @@ otx_ep_dev_stats_get(struct rte_eth_dev *eth_dev,
> static int
> otx_ep_dev_close(struct rte_eth_dev *eth_dev)
> {
> - struct otx_ep_device *otx_epvf = OTX_EP_DEV(eth_dev);
> + struct otx_ep_device *otx_epvf;
> uint32_t num_queues, q_no;
>
> + if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
> + eth_dev->dev_ops = NULL;
> + eth_dev->rx_pkt_burst = NULL;
> + eth_dev->tx_pkt_burst = NULL;
> + return 0;
> + }
> +
> + otx_epvf = OTX_EP_DEV(eth_dev);
> otx_ep_mbox_send_dev_exit(eth_dev);
> otx_epvf->fn_list.disable_io_queues(otx_epvf);
> num_queues = otx_epvf->nb_rx_queues;
> @@ -593,8 +601,12 @@ static const struct eth_dev_ops otx_ep_eth_dev_ops = {
> static int
> otx_ep_eth_dev_uninit(struct rte_eth_dev *eth_dev)
> {
> - if (rte_eal_process_type() != RTE_PROC_PRIMARY)
> + if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
> + eth_dev->dev_ops = NULL;
> + eth_dev->rx_pkt_burst = NULL;
> + eth_dev->tx_pkt_burst = NULL;
> return 0;
> + }
>
> eth_dev->dev_ops = NULL;
> eth_dev->rx_pkt_burst = NULL;
> @@ -642,8 +654,12 @@ otx_ep_eth_dev_init(struct rte_eth_dev *eth_dev)
> struct rte_ether_addr vf_mac_addr;
>
> /* Single process support */
> - if (rte_eal_process_type() != RTE_PROC_PRIMARY)
> + if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
> + eth_dev->dev_ops = &otx_ep_eth_dev_ops;
> + eth_dev->rx_pkt_burst = &otx_ep_recv_pkts;
> + eth_dev->tx_pkt_burst = &otx2_ep_xmit_pkts;
> return 0;
> + }
>
> rte_eth_copy_pci_info(eth_dev, pdev);
> otx_epvf->eth_dev = eth_dev;
> --
> 2.31.1
>
More information about the dev
mailing list