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