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

Neil Horman nhorman at tuxdriver.com
Tue Jan 2 13:21:38 CET 2018


On Tue, Jan 02, 2018 at 11:35:02AM +0000, Iremonger, Bernard wrote:
> 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. 
>  
Agreed, it definately should go through the deprecation process

Neil


More information about the dev mailing list