On 10/11/21 4:18 AM, fengchengwen wrote:
> Sorry to self-reply.
> 
> I think it's better the 'struct rte_eth_dev *dev' hold a pointer to the
> 'struct rte_eth_fp_ops', e.g.
> 
>       struct rte_eth_dev {
>               struct rte_eth_fp_ops *fp_ops;
>               ...  // other field
>       }
> 
> The eth framework set the pointer in the rte_eth_dev_pci_allocate(), and 
> driver fill
> corresponding callback:
>       dev->fp_ops->rx_pkt_burst = xxx_recv_pkts;
>       dev->fp_ops->tx_pkt_burst = xxx_xmit_pkts;
>       ...
> 
> In this way, the behavior of the primary and secondary processes can be 
> unified, which
> is basically the same as that of the original process.

Frankly speaking I see huge value in scheme suggested by
Konstantin to care about ops in stopped state on ethdev value.
So, I like approach in the patch more.

Reply via email to