[dpdk-dev] [PATCH v1 2/2] net/vmxnet3: Provided API to reset vmxnet device

Ferruh Yigit ferruh.yigit at intel.com
Fri Jan 15 19:43:40 CET 2021


On 1/4/2021 7:43 PM, Dheemanth Mallikarjun wrote:
> The vmxnet3 driver didn't have the dev_reset function
> pointer set. Hence, provided the necessary function
> pointer so that DPDK developers can use the rte_eth_dev_reset
> API to reset the vmxnet3 device data.
> 
> Signed-off-by: Dheemanth Mallikarjun <dheemanthm at vmware.com>
> ---
>   drivers/net/vmxnet3/vmxnet3_ethdev.c | 14 ++++++++++++++
>   1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index 23a2ebbef..814ccfa79 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -67,6 +67,7 @@ static int vmxnet3_dev_configure(struct rte_eth_dev *dev);
>   static int vmxnet3_dev_start(struct rte_eth_dev *dev);
>   static int vmxnet3_dev_stop(struct rte_eth_dev *dev);
>   static int vmxnet3_dev_close(struct rte_eth_dev *dev);
> +static int vmxnet3_dev_reset(struct rte_eth_dev *dev);
>   static void vmxnet3_dev_set_rxmode(struct vmxnet3_hw *hw, uint32_t feature, int set);
>   static int vmxnet3_dev_promiscuous_enable(struct rte_eth_dev *dev);
>   static int vmxnet3_dev_promiscuous_disable(struct rte_eth_dev *dev);
> @@ -112,6 +113,7 @@ static const struct eth_dev_ops vmxnet3_eth_dev_ops = {
>   	.dev_start            = vmxnet3_dev_start,
>   	.dev_stop             = vmxnet3_dev_stop,
>   	.dev_close            = vmxnet3_dev_close,
> +	.dev_reset            = vmxnet3_dev_reset,
>   	.promiscuous_enable   = vmxnet3_dev_promiscuous_enable,
>   	.promiscuous_disable  = vmxnet3_dev_promiscuous_disable,
>   	.allmulticast_enable  = vmxnet3_dev_allmulticast_enable,
> @@ -913,6 +915,18 @@ vmxnet3_dev_close(struct rte_eth_dev *dev)
>   	return ret;
>   }
>   
> +static int
> +vmxnet3_dev_reset(struct rte_eth_dev *dev)
> +{
> +	int ret;
> +
> +	ret = eth_vmxnet3_dev_uninit(dev);
> +	if (ret)
> +		return ret;
> +	ret = eth_vmxnet3_dev_init(dev);
> +	return ret;
> +}
> +
>   static void
>   vmxnet3_hw_tx_stats_get(struct vmxnet3_hw *hw, unsigned int q,
>   			struct UPT1_TxStats *res)
> 

Hi Yong,

Can you please review this patch?

Thanks,
ferruh


More information about the dev mailing list