[dpdk-dev] [PATCH v1] net/mlx: control netdevices through ioctl only

Adrien Mazarguil adrien.mazarguil at 6wind.com
Mon Feb 12 09:47:15 CET 2018


Hi Shahaf,

On Sun, Feb 11, 2018 at 11:55:44AM +0000, Shahaf Shuler wrote:
> Hi Adrien,
> 
> Small doc issues.
<snip>
> > -/**
> >   * Perform ifreq ioctl() on associated Ethernet device.
> >   *
> >   * @param[in] priv
> > @@ -361,12 +200,12 @@ mlx4_get_mac(struct priv *priv, uint8_t
> > (*mac)[ETHER_ADDR_LEN])  int  mlx4_mtu_get(struct priv *priv, uint16_t
> > *mtu)  {
> > -	unsigned long ulong_mtu = 0;
> > -	int ret = mlx4_get_sysfs_ulong(priv, "mtu", &ulong_mtu);
> > +	struct ifreq request;
> > +	int ret = mlx4_ifreq(priv, SIOCGIFMTU, &request);
> > 
> >  	if (ret)
> >  		return ret;
> 
> Function documentation is : "0 on success, negative errno value otherwise and rte_errno is set."
> Per my understating ioctl returns -1 on error with errno set. 

Since the positive/negative errno mess was addressed in mlx4 (commit
9d14b27308a0 "net/mlx4: standardize on negative errno value"), unlike mlx5's
priv_ifreq(), mlx4_ifreq() returns a negative errno value with rte_errno set
in case of error. Simply returning ret is enough as rte_errno is left
unmodified; all functions are already documented accordingly.

<snip>
> > @@ -385,20 +224,13 @@ int
> >  mlx4_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)  {
> >  	struct priv *priv = dev->data->dev_private;
> > -	uint16_t new_mtu;
> > -	int ret = mlx4_set_sysfs_ulong(priv, "mtu", mtu);
> > +	struct ifreq request = { .ifr_mtu = mtu, };
> > +	int ret = mlx4_ifreq(priv, SIOCSIFMTU, &request);
> > 
> >  	if (ret)
> >  		return ret;
> 
> Also here.

Ditto.

<snip>
> > @@ -417,14 +249,14 @@ mlx4_mtu_set(struct rte_eth_dev *dev, uint16_t
> > mtu)  static int  mlx4_set_flags(struct priv *priv, unsigned int keep, unsigned
> > int flags)  {
> > -	unsigned long tmp = 0;
> > -	int ret = mlx4_get_sysfs_ulong(priv, "flags", &tmp);
> > +	struct ifreq request;
> > +	int ret = mlx4_ifreq(priv, SIOCGIFFLAGS, &request);
> > 
> >  	if (ret)
> >  		return ret;
> 
> And here.

Ditto.

No need for a v2.

-- 
Adrien Mazarguil
6WIND


More information about the dev mailing list