[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