[dpdk-dev] [PATCH v3 1/5] ethdev: remove useless parameter in callback process

Iremonger, Bernard bernard.iremonger at intel.com
Tue Jan 2 12:35:02 CET 2018


Hi Thomas,

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Friday, December 29, 2017 1:37 PM
> To: dev at dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit at intel.com>
> Subject: [dpdk-dev] [PATCH v3 1/5] ethdev: remove useless parameter in
> callback process
> 
> The pointer to the user parameter of the callback registration is automatically
> pass to the callback function.
> There is no point to allow changing this user parameter by a caller.
> That's why this parameter is always set to NULL by PMDs and set only in ethdev
> layer before calling the callback function.
> 
> The history is that the user parameter was initially used by the callback
> implementation to pass some information between the application and the
> driver:
> 	c1ceaf3ad056 ("ethdev: add an argument to internal callback function")
> Then a new parameter has been added to leave the user parameter to its
> standard usage of context given at registration:
> 	d6af1a13d7a1 ("ethdev: add return values to callback process API")
> 
> The NULL parameter in the internal callback processing function is now
> removed. It makes clear that the callback parameter is user managed and
> opaque from a DPDK point of view.
> 
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
> ---
> v2: add history
> v3: no change
> ---
>  doc/guides/prog_guide/poll_mode_drv.rst | 4 ++--
>  drivers/net/bnxt/rte_pmd_bnxt.c         | 2 +-
>  drivers/net/bonding/rte_eth_bond_pmd.c  | 6 +++---
>  drivers/net/dpaa2/dpaa2_ethdev.c        | 2 +-
>  drivers/net/e1000/em_ethdev.c           | 2 +-
>  drivers/net/e1000/igb_ethdev.c          | 4 ++--
>  drivers/net/enic/enic_main.c            | 2 +-
>  drivers/net/failsafe/failsafe_ether.c   | 2 +-
>  drivers/net/fm10k/fm10k_ethdev.c        | 8 ++++----
>  drivers/net/i40e/i40e_ethdev.c          | 2 +-
>  drivers/net/i40e/i40e_ethdev_vf.c       | 2 +-
>  drivers/net/i40e/i40e_pf.c              | 3 +--
>  drivers/net/ixgbe/ixgbe_ethdev.c        | 6 +++---
>  drivers/net/ixgbe/ixgbe_pf.c            | 4 ++--
>  drivers/net/mlx4/mlx4_intr.c            | 4 ++--
>  drivers/net/mlx5/mlx5_ethdev.c          | 9 +++------
>  drivers/net/nfp/nfp_net.c               | 2 +-
>  drivers/net/sfc/sfc_intr.c              | 4 ++--
>  drivers/net/thunderx/nicvf_ethdev.c     | 2 +-
>  drivers/net/vhost/rte_eth_vhost.c       | 9 +++------
>  drivers/net/virtio/virtio_ethdev.c      | 2 +-
>  drivers/net/vmxnet3/vmxnet3_ethdev.c    | 2 +-
>  lib/librte_ether/rte_ethdev.c           | 4 +---
>  lib/librte_ether/rte_ethdev.h           | 4 +---
>  test/test/virtual_pmd.c                 | 2 +-
>  25 files changed, 41 insertions(+), 52 deletions(-)
> 
> diff --git a/doc/guides/prog_guide/poll_mode_drv.rst
> b/doc/guides/prog_guide/poll_mode_drv.rst
> index 6a0c9f992..d1d4b1cb7 100644
> --- a/doc/guides/prog_guide/poll_mode_drv.rst
> +++ b/doc/guides/prog_guide/poll_mode_drv.rst
> @@ -581,8 +581,8 @@ thread safety all these operations should be called from
> the same thread.
>  For example when PF is reset, the PF sends a message to notify VFs of  this
> event and also trigger an interrupt to VFs. Then in the interrupt  service routine
> the VFs detects this notification message and calls -
> _rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET, NULL, -
> NULL). This means that a PF reset triggers an RTE_ETH_EVENT_INTR_RESET
> +_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET, NULL).
> +This means that a PF reset triggers an RTE_ETH_EVENT_INTR_RESET
>  event within VFs. The function _rte_eth_dev_callback_process() will  call the
> registered callback function. The callback function can trigger  the application to
> handle all operations the VF reset requires including diff --git
> a/drivers/net/bnxt/rte_pmd_bnxt.c b/drivers/net/bnxt/rte_pmd_bnxt.c index
> a31340742..e86e670dc 100644
> --- a/drivers/net/bnxt/rte_pmd_bnxt.c
> +++ b/drivers/net/bnxt/rte_pmd_bnxt.c
> @@ -57,7 +57,7 @@ int bnxt_rcv_msg_from_vf(struct bnxt *bp, uint16_t vf_id,
> void *msg)
>  	ret_param.msg = msg;
> 
>  	_rte_eth_dev_callback_process(bp->eth_dev,
> RTE_ETH_EVENT_VF_MBOX,
> -				      NULL, &ret_param);
> +				      &ret_param);
> 
>  	/* Default to approve */
>  	if (ret_param.retval == RTE_PMD_BNXT_MB_EVENT_PROCEED) diff --
> git a/drivers/net/bonding/rte_eth_bond_pmd.c
> b/drivers/net/bonding/rte_eth_bond_pmd.c
> index fe2328954..68952c4c0 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -2476,7 +2476,7 @@ bond_ethdev_delayed_lsc_propagation(void *arg)
>  		return;
> 
>  	_rte_eth_dev_callback_process((struct rte_eth_dev *)arg,
> -			RTE_ETH_EVENT_INTR_LSC, NULL, NULL);
> +			RTE_ETH_EVENT_INTR_LSC, NULL);
>  }
> 
>  int
> @@ -2584,7 +2584,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id,
> enum rte_eth_event_type type,
>  			else
> 
> 	_rte_eth_dev_callback_process(bonded_eth_dev,
>  						RTE_ETH_EVENT_INTR_LSC,
> -						NULL, NULL);
> +						NULL);
> 
>  		} else {
>  			if (internals->link_down_delay_ms > 0) @@ -2594,7
> +2594,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum
> rte_eth_event_type type,
>  			else
> 
> 	_rte_eth_dev_callback_process(bonded_eth_dev,
>  						RTE_ETH_EVENT_INTR_LSC,
> -						NULL, NULL);
> +						NULL);
>  		}
>  	}
>  	return 0;
> diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c
> b/drivers/net/dpaa2/dpaa2_ethdev.c
> index 202f84f0a..b302bbb7b 100644
> --- a/drivers/net/dpaa2/dpaa2_ethdev.c
> +++ b/drivers/net/dpaa2/dpaa2_ethdev.c
> @@ -655,7 +655,7 @@ dpaa2_interrupt_handler(void *param)
>  		dpaa2_dev_link_update(dev, 0);
>  		/* calling all the apps registered for link status event */
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC,
> -					      NULL, NULL);
> +					      NULL);
>  	}
>  out:
>  	ret = dpni_clear_irq_status(dpni, CMD_PRI_LOW, priv->token, diff --git
> a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c index
> a0c3b4dc5..d9fafca8c 100644
> --- a/drivers/net/e1000/em_ethdev.c
> +++ b/drivers/net/e1000/em_ethdev.c
> @@ -1678,7 +1678,7 @@ eth_em_interrupt_handler(void *param)
> 
>  	eth_em_interrupt_get_status(dev);
>  	eth_em_interrupt_action(dev, dev->intr_handle);
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> NULL, NULL);
> +	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> NULL);
>  }
> 
>  static int
> diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
> index fdc139f35..ad4c0865a 100644
> --- a/drivers/net/e1000/igb_ethdev.c
> +++ b/drivers/net/e1000/igb_ethdev.c
> @@ -2916,7 +2916,7 @@ eth_igb_interrupt_action(struct rte_eth_dev *dev,
>  		E1000_WRITE_REG(hw, E1000_RCTL, rctl);
>  		E1000_WRITE_FLUSH(hw);
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC,
> -					      NULL, NULL);
> +					      NULL);
>  	}
> 
>  	return 0;
> @@ -2976,7 +2976,7 @@ void igbvf_mbx_process(struct rte_eth_dev *dev)
>  	/* PF reset VF event */
>  	if (in_msg == E1000_PF_CONTROL_MSG)
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_RESET,
> -					      NULL, NULL);
> +					      NULL);
>  }
> 
>  static int
> diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index
> 8af0ccd3c..a9509f068 100644
> --- a/drivers/net/enic/enic_main.c
> +++ b/drivers/net/enic/enic_main.c
> @@ -434,7 +434,7 @@ enic_intr_handler(void *arg)
>  	vnic_intr_return_all_credits(&enic->intr);
> 
>  	enic_link_update(enic);
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> NULL, NULL);
> +	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> NULL);
>  	enic_log_q_error(enic);
>  }
> 
> diff --git a/drivers/net/failsafe/failsafe_ether.c
> b/drivers/net/failsafe/failsafe_ether.c
> index 21392e5a7..8a4cacf4a 100644
> --- a/drivers/net/failsafe/failsafe_ether.c
> +++ b/drivers/net/failsafe/failsafe_ether.c
> @@ -480,7 +480,7 @@ failsafe_eth_lsc_event_callback(uint16_t port_id
> __rte_unused,
>  	if (ret)
>  		return _rte_eth_dev_callback_process(dev,
> 
> RTE_ETH_EVENT_INTR_LSC,
> -						     NULL, NULL);
> +						     NULL);
>  	else
>  		return 0;
>  }
> diff --git a/drivers/net/fm10k/fm10k_ethdev.c
> b/drivers/net/fm10k/fm10k_ethdev.c
> index 2d05a4669..3cd30b854 100644
> --- a/drivers/net/fm10k/fm10k_ethdev.c
> +++ b/drivers/net/fm10k/fm10k_ethdev.c
> @@ -2625,7 +2625,7 @@ fm10k_dev_interrupt_handler_pf(void *param)
>  			dev_info->sm_down = 0;
>  			_rte_eth_dev_callback_process(dev,
>  					RTE_ETH_EVENT_INTR_LSC,
> -					NULL, NULL);
> +					NULL);
>  		}
>  	}
> 
> @@ -2638,7 +2638,7 @@ fm10k_dev_interrupt_handler_pf(void *param)
>  		PMD_INIT_LOG(INFO, "INT: Switch is down");
>  		dev_info->sm_down = 1;
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC,
> -				NULL, NULL);
> +				NULL);
>  	}
> 
>  	/* Handle SRAM error */
> @@ -2706,7 +2706,7 @@ fm10k_dev_interrupt_handler_vf(void *param)
>  		/* Setting reset flag */
>  		dev_info->sm_down = 1;
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC,
> -				NULL, NULL);
> +				NULL);
>  	}
> 
>  	if (dev_info->sm_down == 1 &&
> @@ -2735,7 +2735,7 @@ fm10k_dev_interrupt_handler_vf(void *param)
> 
>  		dev_info->sm_down = 0;
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC,
> -				NULL, NULL);
> +				NULL);
>  	}
> 
>  	/* Re-enable interrupt from device side */ diff --git
> a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index
> 811cc9ffe..0fe6eeacc 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -5996,7 +5996,7 @@ i40e_dev_handle_aq_msg(struct rte_eth_dev *dev)
>  			ret = i40e_dev_link_update(dev, 0);
>  			if (!ret)
>  				_rte_eth_dev_callback_process(dev,
> -					RTE_ETH_EVENT_INTR_LSC, NULL,
> NULL);
> +					RTE_ETH_EVENT_INTR_LSC, NULL);
>  			break;
>  		default:
>  			PMD_DRV_LOG(DEBUG, "Request %u is not supported
> yet", diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
> b/drivers/net/i40e/i40e_ethdev_vf.c
> index 91b5bb033..74473d267 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -1308,7 +1308,7 @@ i40evf_handle_pf_event(struct rte_eth_dev *dev,
> uint8_t *msg,
>  	case VIRTCHNL_EVENT_RESET_IMPENDING:
>  		PMD_DRV_LOG(DEBUG,
> "VIRTCHNL_EVENT_RESET_IMPENDING event");
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_RESET,
> -					      NULL, NULL);
> +					      NULL);
>  		break;
>  	case VIRTCHNL_EVENT_LINK_CHANGE:
>  		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_LINK_CHANGE
> event"); diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
> index 94bb0cfd1..322396368 100644
> --- a/drivers/net/i40e/i40e_pf.c
> +++ b/drivers/net/i40e/i40e_pf.c
> @@ -1185,8 +1185,7 @@ i40e_pf_host_handle_vf_msg(struct rte_eth_dev
> *dev,
>  	 * do nothing and send not_supported to VF. As PF must send a response
>  	 * to VF and ACK/NACK is not defined.
>  	 */
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
> -				      NULL, &ret_param);
> +	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
> &ret_param);
>  	if (ret_param.retval != RTE_PMD_I40E_MB_EVENT_PROCEED) {
>  		PMD_DRV_LOG(WARNING, "VF to PF message(%d) is not
> permitted!",
>  			    opcode);
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
> index ff19a564a..6dbda9c7d 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -4383,12 +4383,12 @@ ixgbe_dev_interrupt_delayed_handler(void
> *param)
>  		intr->flags &= ~IXGBE_FLAG_NEED_LINK_UPDATE;
>  		ixgbe_dev_link_status_print(dev);
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC,
> -					      NULL, NULL);
> +					      NULL);
>  	}
> 
>  	if (intr->flags & IXGBE_FLAG_MACSEC) {
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_MACSEC,
> -					      NULL, NULL);
> +					      NULL);
>  		intr->flags &= ~IXGBE_FLAG_MACSEC;
>  	}
> 
> @@ -8171,7 +8171,7 @@ static void ixgbevf_mbx_process(struct rte_eth_dev
> *dev)
>  	/* PF reset VF event */
>  	if (in_msg == IXGBE_PF_CONTROL_MSG)
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_RESET,
> -					      NULL, NULL);
> +					      NULL);
>  }
> 
>  static int
> diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c index
> 676e92c7b..e18ec8660 100644
> --- a/drivers/net/ixgbe/ixgbe_pf.c
> +++ b/drivers/net/ixgbe/ixgbe_pf.c
> @@ -768,7 +768,7 @@ ixgbe_rcv_msg_from_vf(struct rte_eth_dev *dev,
> uint16_t vf)
> 
>  		/* notify application about VF reset */
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_VF_MBOX,
> -					      NULL, &ret_param);
> +					      &ret_param);
>  		return ret;
>  	}
> 
> @@ -780,7 +780,7 @@ ixgbe_rcv_msg_from_vf(struct rte_eth_dev *dev,
> uint16_t vf)
>  	 * if ret_param.retval > 1, do nothing and send NAK to VF
>  	 */
>  	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
> -				      NULL, &ret_param);
> +				      &ret_param);
> 
>  	retval = ret_param.retval;
> 
> diff --git a/drivers/net/mlx4/mlx4_intr.c b/drivers/net/mlx4/mlx4_intr.c index
> 50d197698..9becee4a8 100644
> --- a/drivers/net/mlx4/mlx4_intr.c
> +++ b/drivers/net/mlx4/mlx4_intr.c
> @@ -154,7 +154,7 @@ mlx4_link_status_alarm(struct priv *priv)
>  	if (intr_conf->lsc && !mlx4_link_status_check(priv))
>  		_rte_eth_dev_callback_process(priv->dev,
>  					      RTE_ETH_EVENT_INTR_LSC,
> -					      NULL, NULL);
> +					      NULL);
>  }
> 
>  /**
> @@ -236,7 +236,7 @@ mlx4_interrupt_handler(struct priv *priv)
>  	for (i = 0; i != RTE_DIM(caught); ++i)
>  		if (caught[i])
>  			_rte_eth_dev_callback_process(priv->dev, type[i],
> -						      NULL, NULL);
> +						      NULL);
>  }
> 
>  /**
> diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
> index a3cef6891..62474ab1c 100644
> --- a/drivers/net/mlx5/mlx5_ethdev.c
> +++ b/drivers/net/mlx5/mlx5_ethdev.c
> @@ -1230,8 +1230,7 @@ mlx5_dev_link_status_handler(void *arg)
>  	ret = priv_link_status_update(priv);
>  	priv_unlock(priv);
>  	if (!ret)
> -		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC, NULL,
> -					      NULL);
> +		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC, NULL);
>  }
> 
>  /**
> @@ -1253,11 +1252,9 @@ mlx5_dev_interrupt_handler(void *cb_arg)
>  	events = priv_dev_status_handler(priv);
>  	priv_unlock(priv);
>  	if (events & (1 << RTE_ETH_EVENT_INTR_LSC))
> -		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC, NULL,
> -					      NULL);
> +		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC, NULL);
>  	if (events & (1 << RTE_ETH_EVENT_INTR_RMV))
> -		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_RMV, NULL,
> -					      NULL);
> +		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_RMV, NULL);
>  }
> 
>  /**
> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index
> 0501156ba..99b6aa65e 100644
> --- a/drivers/net/nfp/nfp_net.c
> +++ b/drivers/net/nfp/nfp_net.c
> @@ -1450,7 +1450,7 @@ nfp_net_dev_interrupt_delayed_handler(void
> *param)
>  	struct rte_eth_dev *dev = (struct rte_eth_dev *)param;
> 
>  	nfp_net_link_update(dev, 0);
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> NULL, NULL);
> +	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> NULL);
> 
>  	nfp_net_dev_link_status_print(dev);
> 
> diff --git a/drivers/net/sfc/sfc_intr.c b/drivers/net/sfc/sfc_intr.c index
> ee59cb1c0..aa324c4b6 100644
> --- a/drivers/net/sfc/sfc_intr.c
> +++ b/drivers/net/sfc/sfc_intr.c
> @@ -112,7 +112,7 @@ sfc_intr_line_handler(void *cb_arg)
>  			 "UP" : "DOWN");
>  		_rte_eth_dev_callback_process(sa->eth_dev,
>  					      RTE_ETH_EVENT_INTR_LSC,
> -					      NULL, NULL);
> +					      NULL);
>  	}
>  }
> 
> @@ -154,7 +154,7 @@ sfc_intr_message_handler(void *cb_arg)
>  		sfc_info(sa, "link status change event");
>  		_rte_eth_dev_callback_process(sa->eth_dev,
>  					      RTE_ETH_EVENT_INTR_LSC,
> -					      NULL, NULL);
> +					      NULL);
>  	}
>  }
> 
> diff --git a/drivers/net/thunderx/nicvf_ethdev.c
> b/drivers/net/thunderx/nicvf_ethdev.c
> index d65d3cee7..5cead831b 100644
> --- a/drivers/net/thunderx/nicvf_ethdev.c
> +++ b/drivers/net/thunderx/nicvf_ethdev.c
> @@ -113,7 +113,7 @@ nicvf_interrupt(void *arg)
>  		if (dev->data->dev_conf.intr_conf.lsc)
>  			nicvf_set_eth_link_status(nic, &dev->data->dev_link);
>  		_rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC,
> -					      NULL, NULL);
> +					      NULL);
>  	}
> 
>  	rte_eal_alarm_set(NICVF_INTR_POLL_INTERVAL_MS * 1000, diff --git
> a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
> index 2536ee4a2..014428580 100644
> --- a/drivers/net/vhost/rte_eth_vhost.c
> +++ b/drivers/net/vhost/rte_eth_vhost.c
> @@ -609,8 +609,7 @@ new_device(int vid)
> 
>  	RTE_LOG(INFO, PMD, "New connection established\n");
> 
> -	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC,
> -				      NULL, NULL);
> +	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC,
> NULL);
> 
>  	return 0;
>  }
> @@ -664,8 +663,7 @@ destroy_device(int vid)
> 
>  	RTE_LOG(INFO, PMD, "Connection closed\n");
> 
> -	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC,
> -				      NULL, NULL);
> +	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC,
> NULL);
>  }
> 
>  static int
> @@ -694,8 +692,7 @@ vring_state_changed(int vid, uint16_t vring, int enable)
>  	RTE_LOG(INFO, PMD, "vring%u is %s\n",
>  			vring, enable ? "enabled" : "disabled");
> 
> -	_rte_eth_dev_callback_process(eth_dev,
> RTE_ETH_EVENT_QUEUE_STATE,
> -				      NULL, NULL);
> +	_rte_eth_dev_callback_process(eth_dev,
> RTE_ETH_EVENT_QUEUE_STATE,
> +NULL);
> 
>  	return 0;
>  }
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index e0328f61d..4290d59a5 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -1266,7 +1266,7 @@ virtio_interrupt_handler(void *param)
>  		if (virtio_dev_link_update(dev, 0) == 0)
>  			_rte_eth_dev_callback_process(dev,
> 
> RTE_ETH_EVENT_INTR_LSC,
> -						      NULL, NULL);
> +						      NULL);
>  	}
> 
>  }
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index 82d59ca8c..54b688f2f 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -1332,7 +1332,7 @@ vmxnet3_process_events(struct rte_eth_dev *dev)
>  		if (vmxnet3_dev_link_update(dev, 0) == 0)
>  			_rte_eth_dev_callback_process(dev,
> 
> RTE_ETH_EVENT_INTR_LSC,
> -						      NULL, NULL);
> +						      NULL);
>  	}
> 
>  	/* Check if there is an error on xmit/recv queues */ diff --git
> a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index
> 318af2869..c196c3692 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -2905,7 +2905,7 @@ rte_eth_dev_callback_unregister(uint16_t port_id,
> 
>  int
>  _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
> -	enum rte_eth_event_type event, void *cb_arg, void *ret_param)
> +	enum rte_eth_event_type event, void *ret_param)
>  {
>  	struct rte_eth_dev_callback *cb_lst;
>  	struct rte_eth_dev_callback dev_cb;
> @@ -2917,8 +2917,6 @@ _rte_eth_dev_callback_process(struct rte_eth_dev
> *dev,
>  			continue;
>  		dev_cb = *cb_lst;
>  		cb_lst->active = 1;
> -		if (cb_arg != NULL)
> -			dev_cb.cb_arg = cb_arg;
>  		if (ret_param != NULL)
>  			dev_cb.ret_param = ret_param;
> 
> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index
> 341c2d624..15309aa7c 100644
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -3585,8 +3585,6 @@ int rte_eth_dev_callback_unregister(uint16_t port_id,
>   *  Pointer to struct rte_eth_dev.
>   * @param event
>   *  Eth device interrupt event type.
> - * @param cb_arg
> - *  callback parameter.
>   * @param ret_param
>   *  To pass data back to user application.
>   *  This allows the user application to decide if a particular function @@ -3596,7
> +3594,7 @@ int rte_eth_dev_callback_unregister(uint16_t port_id,
>   *  int
>   */
>  int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
> -		enum rte_eth_event_type event, void *cb_arg, void
> *ret_param);
> +		enum rte_eth_event_type event, void *ret_param);

As this is a change to the public API of librte_ether is a deprecation notice needed ?
This API is currently used by the test/test/virtual_pmd.c APP and may be used by other APP's in the field. 
 
>  /**
>   * When there is no rx packet coming in Rx Queue for a long time, we can diff --
> git a/test/test/virtual_pmd.c b/test/test/virtual_pmd.c index
> b57a9493b..f55288537 100644
> --- a/test/test/virtual_pmd.c
> +++ b/test/test/virtual_pmd.c
> @@ -489,7 +489,7 @@ virtual_ethdev_simulate_link_status_interrupt(uint16_t
> port_id,
>  	vrtl_eth_dev->data->dev_link.link_status = link_status;
> 
>  	_rte_eth_dev_callback_process(vrtl_eth_dev,
> RTE_ETH_EVENT_INTR_LSC,
> -				      NULL, NULL);
> +				      NULL);
>  }
> 
>  int
> --
> 2.15.1

Regards,

Bernard



More information about the dev mailing list