[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-28 Thread Marc
On 28 March 2016 at 15:42, Thomas Monjalon 
wrote:

> Hi Marc,
>
> 2016-03-27 21:39, Marc:
> > On 27 March 2016 at 11:53, Thomas Monjalon 
> > wrote:
> > > 2016-03-26 11:24, Marc:
> > > > On 26 March 2016 at 09:08, Thomas Monjalon <
> thomas.monjalon at 6wind.com>
> > > > wrote:
> > > > > 2016-03-25 22:30, Marc:
> > > > > > From v9 to v10 patchset the values ETH_LINK_SPEED_AUTONEG and
> > > > > ETH_LINK_SPEED_FIXED were flipped. Reverting this makes it work:
> [...]
> > > > > > I think having autoneg == 0 is better. Do you agree Thomas?
> > > > >
> > > > > No I do not agree, because this flag is now used also for
> > > > > rte_eth_link.link_autoneg.
> > > > > So it is more logic to set it to 1.
> > > >
> > > > Having to explicitly specify ETH_LINK_SPEED_AUTONEG in link_speeds
> during
> > > > port configuration for achieving auto-negociation, which is what 98%
> of
> > > > applications will use, seems anti-natural to me and breaks existing
> > > > applications.
> > >
> > > Yes, you're right. We have to avoid apps modifications.
> > > By keeping autoneg the default behaviour (value 0), we avoid issues.
> > >
> > > > The only benefit of your approach is not to have another macro
> #define
> > > > ETH_LINK_AUTONEG 1, which is marginal IMHO.
> > >
> > > Yes, you're right.
> > > I suggest adding 2 macros for rte_eth_link.link_autoneg:
> > > #define ETH_LINK_FIXED  0 /**< No autonegotiation. */
> > > #define ETH_LINK_AUTONEG1 /**< Autonegotiated. */
> > >
> > > and keep these ones to use with rte_eth_conf.link_speeds and
> > > rte_eth_dev_info.speed_capa:
> > > #define ETH_LINK_SPEED_AUTONEG  (0 <<  0)  /**< Autonegotiate (all
> speeds) */
> > > #define ETH_LINK_SPEED_FIXED(1 <<  0)  /**< Disable autoneg (fixed
> speed) */
> > >
> > > Opinions?
> >
> > Agree on all of them. I can add them in the (hopefully) final v14, once
> all
> > or main drivers have been tested.
>
> It would be better to make the v14 as soon as possible to let others test
> the latest revision.
> Thanks
>

Adding these MACROs (ETH_LINK_FIXED, ETH_LINK_AUTONEG) are the only changes
to be done for v14 so far. The rest were there already (v13).

There is no point on doing this re-spin now, because these MACROs are
anyway not used by applications yet (autoneg flag in rte_link is an
addition to this patch set).

So I would go for testing drivers on this v13 and collect any changes,
eventually, for v14.

marc


[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-28 Thread Thomas Monjalon
Hi Marc,

2016-03-27 21:39, Marc:
> On 27 March 2016 at 11:53, Thomas Monjalon 
> wrote:
> > 2016-03-26 11:24, Marc:
> > > On 26 March 2016 at 09:08, Thomas Monjalon 
> > > wrote:
> > > > 2016-03-25 22:30, Marc:
> > > > > From v9 to v10 patchset the values ETH_LINK_SPEED_AUTONEG and
> > > > ETH_LINK_SPEED_FIXED were flipped. Reverting this makes it work:
[...]
> > > > > I think having autoneg == 0 is better. Do you agree Thomas?
> > > >
> > > > No I do not agree, because this flag is now used also for
> > > > rte_eth_link.link_autoneg.
> > > > So it is more logic to set it to 1.
> > >
> > > Having to explicitly specify ETH_LINK_SPEED_AUTONEG in link_speeds during
> > > port configuration for achieving auto-negociation, which is what 98% of
> > > applications will use, seems anti-natural to me and breaks existing
> > > applications.
> >
> > Yes, you're right. We have to avoid apps modifications.
> > By keeping autoneg the default behaviour (value 0), we avoid issues.
> >
> > > The only benefit of your approach is not to have another macro #define
> > > ETH_LINK_AUTONEG 1, which is marginal IMHO.
> >
> > Yes, you're right.
> > I suggest adding 2 macros for rte_eth_link.link_autoneg:
> > #define ETH_LINK_FIXED  0 /**< No autonegotiation. */
> > #define ETH_LINK_AUTONEG1 /**< Autonegotiated. */
> >
> > and keep these ones to use with rte_eth_conf.link_speeds and
> > rte_eth_dev_info.speed_capa:
> > #define ETH_LINK_SPEED_AUTONEG  (0 <<  0)  /**< Autonegotiate (all speeds) 
> > */
> > #define ETH_LINK_SPEED_FIXED(1 <<  0)  /**< Disable autoneg (fixed 
> > speed) */
> >
> > Opinions?
> 
> Agree on all of them. I can add them in the (hopefully) final v14, once all
> or main drivers have been tested.

It would be better to make the v14 as soon as possible to let others test
the latest revision.
Thanks


[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-27 Thread Marc
On 27 March 2016 at 11:53, Thomas Monjalon 
wrote:

> 2016-03-26 11:24, Marc:
> > On 26 March 2016 at 09:08, Thomas Monjalon 
> > wrote:
> > > 2016-03-25 22:30, Marc:
> > > > From v9 to v10 patchset the values ETH_LINK_SPEED_AUTONEG and
> > > ETH_LINK_SPEED_FIXED were flipped. Reverting this makes it work:
> > > >
> > > > marc at Beluga:~/personal/dpdk/tools$ git diff
> > > > diff --git a/lib/librte_ether/rte_ethdev.h
> > > b/lib/librte_ether/rte_ethdev.h
> > > > index ef2502a..fb247a7 100644
> > > > --- a/lib/librte_ether/rte_ethdev.h
> > > > +++ b/lib/librte_ether/rte_ethdev.h
> > > > @@ -244,8 +244,8 @@ struct rte_eth_stats {
> > > >  /**
> > > >   * Device supported speeds bitmap flags
> > > >   */
> > > > -#define ETH_LINK_SPEED_FIXED(0 <<  0)  /**< Disable autoneg
> (fixed
> > > speed) */
> > > > -#define ETH_LINK_SPEED_AUTONEG  (1 <<  0)  /**< Autonegotiate (all
> > > speeds) */
> > > > +#define ETH_LINK_SPEED_AUTONEG  (0 <<  0)  /**< Autonegotiate (all
> > > speeds) */
> > > > +#define ETH_LINK_SPEED_FIXED(1 <<  0)  /**< Disable autoneg
> (fixed
> > > speed) */
> > > >  #define ETH_LINK_SPEED_10M_HD   (1 <<  1)  /**<  10 Mbps
> half-duplex */
> > > >  #define ETH_LINK_SPEED_10M  (1 <<  2)  /**<  10 Mbps
> full-duplex */
> > > >  #define ETH_LINK_SPEED_100M_HD  (1 <<  3)  /**< 100 Mbps
> half-duplex */
> > > >
> > > > I think having autoneg == 0 is better. Do you agree Thomas?
> > >
> > > No I do not agree, because this flag is now used also for
> > > rte_eth_link.link_autoneg.
> > > So it is more logic to set it to 1.
> >
> > Having to explicitly specify ETH_LINK_SPEED_AUTONEG in link_speeds during
> > port configuration for achieving auto-negociation, which is what 98% of
> > applications will use, seems anti-natural to me and breaks existing
> > applications.
>
> Yes, you're right. We have to avoid apps modifications.
> By keeping autoneg the default behaviour (value 0), we avoid issues.
>
> > The only benefit of your approach is not to have another macro #define
> > ETH_LINK_AUTONEG 1, which is marginal IMHO.
>
> Yes, you're right.
> I suggest adding 2 macros for rte_eth_link.link_autoneg:
> #define ETH_LINK_FIXED  0 /**< No autonegotiation. */
> #define ETH_LINK_AUTONEG1 /**< Autonegotiated. */
>
> and keep these ones to use with rte_eth_conf.link_speeds and
> rte_eth_dev_info.speed_capa:
> #define ETH_LINK_SPEED_AUTONEG  (0 <<  0)  /**< Autonegotiate (all speeds)
> */
> #define ETH_LINK_SPEED_FIXED(1 <<  0)  /**< Disable autoneg (fixed
> speed) */
>
> Opinions?
>


Agree on all of them. I can add them in the (hopefully) final v14, once all
or main drivers have been tested.

Regards
marc


[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-27 Thread Thomas Monjalon
2016-03-26 11:24, Marc:
> On 26 March 2016 at 09:08, Thomas Monjalon 
> wrote:
> > 2016-03-25 22:30, Marc:
> > > From v9 to v10 patchset the values ETH_LINK_SPEED_AUTONEG and
> > ETH_LINK_SPEED_FIXED were flipped. Reverting this makes it work:
> > >
> > > marc at Beluga:~/personal/dpdk/tools$ git diff
> > > diff --git a/lib/librte_ether/rte_ethdev.h
> > b/lib/librte_ether/rte_ethdev.h
> > > index ef2502a..fb247a7 100644
> > > --- a/lib/librte_ether/rte_ethdev.h
> > > +++ b/lib/librte_ether/rte_ethdev.h
> > > @@ -244,8 +244,8 @@ struct rte_eth_stats {
> > >  /**
> > >   * Device supported speeds bitmap flags
> > >   */
> > > -#define ETH_LINK_SPEED_FIXED(0 <<  0)  /**< Disable autoneg (fixed
> > speed) */
> > > -#define ETH_LINK_SPEED_AUTONEG  (1 <<  0)  /**< Autonegotiate (all
> > speeds) */
> > > +#define ETH_LINK_SPEED_AUTONEG  (0 <<  0)  /**< Autonegotiate (all
> > speeds) */
> > > +#define ETH_LINK_SPEED_FIXED(1 <<  0)  /**< Disable autoneg (fixed
> > speed) */
> > >  #define ETH_LINK_SPEED_10M_HD   (1 <<  1)  /**<  10 Mbps half-duplex */
> > >  #define ETH_LINK_SPEED_10M  (1 <<  2)  /**<  10 Mbps full-duplex */
> > >  #define ETH_LINK_SPEED_100M_HD  (1 <<  3)  /**< 100 Mbps half-duplex */
> > >
> > > I think having autoneg == 0 is better. Do you agree Thomas?
> >
> > No I do not agree, because this flag is now used also for
> > rte_eth_link.link_autoneg.
> > So it is more logic to set it to 1.
> 
> Having to explicitly specify ETH_LINK_SPEED_AUTONEG in link_speeds during
> port configuration for achieving auto-negociation, which is what 98% of
> applications will use, seems anti-natural to me and breaks existing
> applications.

Yes, you're right. We have to avoid apps modifications.
By keeping autoneg the default behaviour (value 0), we avoid issues.

> The only benefit of your approach is not to have another macro #define
> ETH_LINK_AUTONEG 1, which is marginal IMHO.

Yes, you're right.
I suggest adding 2 macros for rte_eth_link.link_autoneg:
#define ETH_LINK_FIXED  0 /**< No autonegotiation. */
#define ETH_LINK_AUTONEG1 /**< Autonegotiated. */

and keep these ones to use with rte_eth_conf.link_speeds and
rte_eth_dev_info.speed_capa:
#define ETH_LINK_SPEED_AUTONEG  (0 <<  0)  /**< Autonegotiate (all speeds) */
#define ETH_LINK_SPEED_FIXED(1 <<  0)  /**< Disable autoneg (fixed speed) */

Opinions?


[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-26 Thread Marc
On 26 March 2016 at 09:08, Thomas Monjalon 
wrote:

> Hi Marc,
>
> Thanks for finding time to help.
>
> 2016-03-25 22:30, Marc:
> > From v9 to v10 patchset the values ETH_LINK_SPEED_AUTONEG and
> ETH_LINK_SPEED_FIXED were flipped. Reverting this makes it work:
> >
> > marc at Beluga:~/personal/dpdk/tools$ git diff
> > diff --git a/lib/librte_ether/rte_ethdev.h
> b/lib/librte_ether/rte_ethdev.h
> > index ef2502a..fb247a7 100644
> > --- a/lib/librte_ether/rte_ethdev.h
> > +++ b/lib/librte_ether/rte_ethdev.h
> > @@ -244,8 +244,8 @@ struct rte_eth_stats {
> >  /**
> >   * Device supported speeds bitmap flags
> >   */
> > -#define ETH_LINK_SPEED_FIXED(0 <<  0)  /**< Disable autoneg (fixed
> speed) */
> > -#define ETH_LINK_SPEED_AUTONEG  (1 <<  0)  /**< Autonegotiate (all
> speeds) */
> > +#define ETH_LINK_SPEED_AUTONEG  (0 <<  0)  /**< Autonegotiate (all
> speeds) */
> > +#define ETH_LINK_SPEED_FIXED(1 <<  0)  /**< Disable autoneg (fixed
> speed) */
> >  #define ETH_LINK_SPEED_10M_HD   (1 <<  1)  /**<  10 Mbps half-duplex */
> >  #define ETH_LINK_SPEED_10M  (1 <<  2)  /**<  10 Mbps full-duplex */
> >  #define ETH_LINK_SPEED_100M_HD  (1 <<  3)  /**< 100 Mbps half-duplex */
> >
> > I think having autoneg == 0 is better. Do you agree Thomas?
>
> No I do not agree, because this flag is now used also for
> rte_eth_link.link_autoneg.
> So it is more logic to set it to 1.
>

Having to explicitly specify ETH_LINK_SPEED_AUTONEG in link_speeds during
port configuration for achieving auto-negociation, which is what 98% of
applications will use, seems anti-natural to me and breaks existing
applications.

The only benefit of your approach is not to have another macro #define
ETH_LINK_AUTONEG 1, which is marginal IMHO.


>
> Would it be possible to fix without reverting?
>

At least, all existing applications will have to be modified. I would have
to go through v12 again to see if there are other issues still to be fixed,
and also apply the 2 fixes I found for e1000.

Marc


[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-26 Thread Thomas Monjalon
Hi Marc,

Thanks for finding time to help.

2016-03-25 22:30, Marc:
> From v9 to v10 patchset the values ETH_LINK_SPEED_AUTONEG and 
> ETH_LINK_SPEED_FIXED were flipped. Reverting this makes it work:
> 
> marc at Beluga:~/personal/dpdk/tools$ git diff
> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
> index ef2502a..fb247a7 100644
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -244,8 +244,8 @@ struct rte_eth_stats {
>  /**
>   * Device supported speeds bitmap flags
>   */
> -#define ETH_LINK_SPEED_FIXED(0 <<  0)  /**< Disable autoneg (fixed 
> speed) */
> -#define ETH_LINK_SPEED_AUTONEG  (1 <<  0)  /**< Autonegotiate (all speeds) */
> +#define ETH_LINK_SPEED_AUTONEG  (0 <<  0)  /**< Autonegotiate (all speeds) */
> +#define ETH_LINK_SPEED_FIXED(1 <<  0)  /**< Disable autoneg (fixed 
> speed) */
>  #define ETH_LINK_SPEED_10M_HD   (1 <<  1)  /**<  10 Mbps half-duplex */
>  #define ETH_LINK_SPEED_10M  (1 <<  2)  /**<  10 Mbps full-duplex */
>  #define ETH_LINK_SPEED_100M_HD  (1 <<  3)  /**< 100 Mbps half-duplex */
> 
> I think having autoneg == 0 is better. Do you agree Thomas?

No I do not agree, because this flag is now used also for
rte_eth_link.link_autoneg.
So it is more logic to set it to 1.

Would it be possible to fix without reverting?


[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-26 Thread Marc
toneg && (num_speeds > 1)))
  goto error_invalid_config;
  }

@@ -2063,12 +2063,13 @@ eth_igb_link_update(struct rte_eth_dev *dev, int
wait_to_complete)
  if (link_check) {
  uint16_t duplex, speed;
  hw->mac.ops.get_link_up_info(hw, &speed, &duplex);
- link.link_duplex = duplex ? ETH_LINK_FULL_DUPLEX :
+ link.link_duplex = (duplex == FULL_DUPLEX) ?
+ ETH_LINK_FULL_DUPLEX :
  ETH_LINK_HALF_DUPLEX;
  link.link_speed = speed;
  link.link_status = ETH_LINK_UP;
- link.link_autoneg = (dev->data->dev_conf.link_speeds &
- ETH_LINK_SPEED_AUTONEG);
+ link.link_autoneg = !(dev->data->dev_conf.link_speeds &
+ ETH_LINK_SPEED_FIXED);
  } else if (!link_check) {
  link.link_speed = 0;
  link.link_duplex = ETH_LINK_HALF_DUPLEX;
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 87bc767..c9ef417 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -1422,7 +1422,7 @@ i40e_apply_link_speed(struct rte_eth_dev *dev)

  speed = i40e_parse_link_speeds(conf->link_speeds);
  abilities |= I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
- if (conf->link_speeds & ETH_LINK_SPEED_AUTONEG)
+ if (!(conf->link_speeds & ETH_LINK_SPEED_FIXED))
  abilities |= I40E_AQ_PHY_AN_ENABLED;
  else
  abilities |= I40E_AQ_PHY_LINK_ENABLED;
@@ -1442,7 +1442,7 @@ i40e_dev_start(struct rte_eth_dev *dev)

  hw->adapter_stopped = 0;

- if (!(dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_AUTONEG)) {
+ if (dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_FIXED) {
  PMD_INIT_LOG(ERR, "Invalid link_speeds for port %hhu; autonegotiation
disabled",
  dev->data->port_id);
  return -EINVAL;
@@ -1806,8 +1806,8 @@ i40e_dev_link_update(struct rte_eth_dev *dev,
  break;
  }

- link.link_autoneg = (dev->data->dev_conf.link_speeds &
- ETH_LINK_SPEED_AUTONEG);
+ link.link_autoneg = !(dev->data->dev_conf.link_speeds &
+ ETH_LINK_SPEED_FIXED);

 out:
  rte_i40e_dev_atomic_write_link_status(dev, &link);
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
b/drivers/net/ixgbe/ixgbe_ethdev.c
index ff23d7d..6cc2da0 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -2098,9 +2098,12 @@ ixgbe_dev_start(struct rte_eth_dev *dev)

  PMD_INIT_FUNC_TRACE();

- /* IXGBE devices don't support half duplex */
- if (!(dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_AUTONEG)) {
- PMD_INIT_LOG(ERR, "Invalid link_speeds for port %hhu; autonegotiation
disabled",
+ /* IXGBE devices don't support:
+ *- half duplex (checked afterwards for valid speeds)
+ *- fixed speed: TODO implement
+ */
+ if (dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_FIXED) {
+ PMD_INIT_LOG(ERR, "Invalid link_speeds for port %hhu; fix speed not
supported",
  dev->data->port_id);
  return -EINVAL;
  }
diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index 43ac763..81528c9 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -4721,8 +4721,8 @@ mlx4_link_update_unlocked(struct rte_eth_dev *dev,
int wait_to_complete)
  dev_link.link_speed = link_speed;
  dev_link.link_duplex = ((edata.duplex == DUPLEX_HALF) ?
  ETH_LINK_HALF_DUPLEX : ETH_LINK_FULL_DUPLEX);
- dev_link.link_autoneg = (dev->data->dev_conf.link_speeds &
- ETH_LINK_SPEED_AUTONEG);
+ dev_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
+ ETH_LINK_SPEED_FIXED);
  if (memcmp(&dev_link, &dev->data->dev_link, sizeof(dev_link))) {
  /* Link status changed. */
  dev->data->dev_link = dev_link;
diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index 477939f..36b369e 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -630,6 +630,8 @@ mlx5_link_update_unlocked(struct rte_eth_dev *dev, int
wait_to_complete)
  dev_link.link_speed = link_speed;
  dev_link.link_duplex = ((edata.duplex == DUPLEX_HALF) ?
  ETH_LINK_HALF_DUPLEX : ETH_LINK_FULL_DUPLEX);
+ dev_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
+ ETH_LINK_SPEED_FIXED);
  if (memcmp(&dev_link, &dev->data->dev_link, sizeof(dev_link))) {
  /* Link status changed. */
  dev->data->dev_link = dev_link;
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index ef2502a..fb247a7 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -244,8 +244,8 @@ struct rte_eth_stats {
 /**
  * Device supported speeds bitmap flags
  */
-#define ETH_LINK_SPEED_FIXED(0 <<  0)  /**< Disable autoneg (fixed
speed) */
-#define ETH_LINK_SPEED_AUTONEG  (1 <<  0)  /**< Autonegotiate (all speeds)
*/
+#define ETH_LINK_SPEED_AUTONEG  (0 <<  0)  /**< Autonegotiate (all speeds)
*/
+#define ETH_LINK_SPEED_FIXED    (1 <<  0)  /**< Disable autoneg (fixed
speed) */
 #define ETH_LINK_SPEED_10M_HD   (1 <<  1)  /**<  10 Mbp

[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-25 Thread Marc
t; > Cc: dev at dpdk.org; Marc ; Ananyev, Konstantin
>> > ; Lu, Wenzhuo ;
>> > Zhang, Helin ; Richardson, Bruce
>> > ; Glynn, Michael J <
>> michael.j.glynn at intel.com>
>> > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API
>> > refactoring
>> >
>> > Is there someone investigating the issue?
>> > I think it should be simple to fix for someone mastering these Intel
>> drivers.
>> >
>> > 2016-03-25 01:02, Xu, Qian Q:
>> > > Marc
>> > > #Test1 is just a simple test. Just launch testpmd with these nic port.
>> > > ./testpmd ?c 0x3 ?n 4 -- -i
>> > >
>> > > Thanks
>> > > Qian
>> > >
>> > > From: marc.sune at gmail.com [mailto:marc.sune at gmail.com] On Behalf Of
>> > > Marc
>> > > Sent: Thursday, March 24, 2016 3:48 PM
>> > > To: Xu, Qian Q
>> > > Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin;
>> > > Richardson, Bruce; dev at dpdk.org
>> > > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
>> > > API refactoring
>> > >
>> > >
>> > >
>> > > On 24 March 2016 at 07:21, Xu, Qian Q
>> > mailto:qian.q.xu at intel.com>> wrote:
>> > > Marc
>> > > I didn?t quite get your points, I observed that after applying this
>> patchset, all
>> > intel nic can?t be started, maybe something wrong happened when you
>> check
>> > the duplex/autoneg value for different NICs. If we want to merge the
>> patchset in
>> > RC2, we need fix them. Maybe not an easy job in several days.
>> > >
>> > > Is this test#1 one of the tests contained in the DPDK repository or
>> is it an
>> > internal test?
>> > >
>> > > Marc
>> > >
>> > >
>> > >
>> > > Thanks
>> > > Qian
>> > >
>> > > From: marc.sune at gmail.com<mailto:marc.sune at gmail.com>
>> > > [mailto:marc.sune at gmail.com<mailto:marc.sune at gmail.com>] On Behalf 
>> > > Of
>> > > Marc
>> > > Sent: Thursday, March 24, 2016 4:54 AM
>> > > To: Xu, Qian Q
>> > > Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin;
>> > > Richardson, Bruce; dev at dpdk.org<mailto:dev at dpdk.org>
>> > >
>> > > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
>> > > API refactoring
>> > >
>> > > Qian,
>> > >
>> > > On 23 March 2016 at 02:18, Xu, Qian Q
>> > mailto:qian.q.xu at intel.com>> wrote:
>> > > We have tested with intel nic and found port can't be started for all
>> > nics:ixgbe/i40e/igb/bonding, see attached mail for more details. Please
>> check
>> > and fix it.
>> > >
>> > >
>> > > Thanks
>> > > Qian
>> > >
>> > > -Original Message-
>> > > From: dev [mailto:dev-bounces at dpdk.org<mailto:dev-bounces at 
>> > > dpdk.org>]
>> > > On Behalf Of Thomas Monjalon
>> > > Sent: Wednesday, March 23, 2016 3:59 AM
>> > > To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin
>> > > Cc: marcdevel at gmail.com<mailto:marcdevel at gmail.com>; Richardson,
>> > > Bruce; dev at dpdk.org<mailto:dev at dpdk.org>
>> > > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
>> > > API refactoring
>> > >
>> > > 2016-03-17 19:08, Thomas Monjalon:
>> > > > There are still too few tests and reviews, especially for
>> > > > autonegotiation with Intel devices (patch #6).
>> > > > I would not be surprised to see some bugs in this rework.
>> > >
>> > > Any feedback about autoneg in e1000/ixgbe/i40e?
>> > > Has it been tested before its integration in RC2?
>> > >
>> > > > The capabilities must be adapted per device. It can be improved in a
>> > > > separate patch.
>> > > >
>> > > > It will be integrated in 16.04-rc2.
>> > > > Please test and review shortly, thanks!
>> > >
>> > >
>> > > -- Forwarded message --
>> > > From: "Xu, Qian Q" mailto:qian.q.xu at 
>> > > intel.com>>
>> > > To: "Cao, Waterman"
>> > > mail

[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-25 Thread Marc
On 25 March 2016 at 16:07, Zhang, Helin  wrote:

> Hi Thomas
>
> Beilei is investigating that, she will give her findings soon later, and
> possibly a fix after validating that.
> Thanks!
>
>
I will try to reproduce this on my side too with the latest v12. I could
not try latest patchsets, but i40 (XL710) and igb (82540EM) were working on
my side for previous versions. Which exact NICs were used to test the
patchset for igb?

Marc


> Regards,
> Helin
>
> > -Original Message-
> > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> > Sent: Friday, March 25, 2016 5:36 PM
> > To: Xu, Qian Q 
> > Cc: dev at dpdk.org; Marc ; Ananyev, Konstantin
> > ; Lu, Wenzhuo ;
> > Zhang, Helin ; Richardson, Bruce
> > ; Glynn, Michael J <
> michael.j.glynn at intel.com>
> > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API
> > refactoring
> >
> > Is there someone investigating the issue?
> > I think it should be simple to fix for someone mastering these Intel
> drivers.
> >
> > 2016-03-25 01:02, Xu, Qian Q:
> > > Marc
> > > #Test1 is just a simple test. Just launch testpmd with these nic port.
> > > ./testpmd ?c 0x3 ?n 4 -- -i
> > >
> > > Thanks
> > > Qian
> > >
> > > From: marc.sune at gmail.com [mailto:marc.sune at gmail.com] On Behalf Of
> > > Marc
> > > Sent: Thursday, March 24, 2016 3:48 PM
> > > To: Xu, Qian Q
> > > Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin;
> > > Richardson, Bruce; dev at dpdk.org
> > > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
> > > API refactoring
> > >
> > >
> > >
> > > On 24 March 2016 at 07:21, Xu, Qian Q
> > mailto:qian.q.xu at intel.com>> wrote:
> > > Marc
> > > I didn?t quite get your points, I observed that after applying this
> patchset, all
> > intel nic can?t be started, maybe something wrong happened when you check
> > the duplex/autoneg value for different NICs. If we want to merge the
> patchset in
> > RC2, we need fix them. Maybe not an easy job in several days.
> > >
> > > Is this test#1 one of the tests contained in the DPDK repository or is
> it an
> > internal test?
> > >
> > > Marc
> > >
> > >
> > >
> > > Thanks
> > > Qian
> > >
> > > From: marc.sune at gmail.com<mailto:marc.sune at gmail.com>
> > > [mailto:marc.sune at gmail.com<mailto:marc.sune at gmail.com>] On Behalf 
> > > Of
> > > Marc
> > > Sent: Thursday, March 24, 2016 4:54 AM
> > > To: Xu, Qian Q
> > > Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin;
> > > Richardson, Bruce; dev at dpdk.org<mailto:dev at dpdk.org>
> > >
> > > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
> > > API refactoring
> > >
> > > Qian,
> > >
> > > On 23 March 2016 at 02:18, Xu, Qian Q
> > mailto:qian.q.xu at intel.com>> wrote:
> > > We have tested with intel nic and found port can't be started for all
> > nics:ixgbe/i40e/igb/bonding, see attached mail for more details. Please
> check
> > and fix it.
> > >
> > >
> > > Thanks
> > > Qian
> > >
> > > -Original Message-
> > > From: dev [mailto:dev-bounces at dpdk.org<mailto:dev-bounces at dpdk.org>]
> > > On Behalf Of Thomas Monjalon
> > > Sent: Wednesday, March 23, 2016 3:59 AM
> > > To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin
> > > Cc: marcdevel at gmail.com<mailto:marcdevel at gmail.com>; Richardson,
> > > Bruce; dev at dpdk.org<mailto:dev at dpdk.org>
> > > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
> > > API refactoring
> > >
> > > 2016-03-17 19:08, Thomas Monjalon:
> > > > There are still too few tests and reviews, especially for
> > > > autonegotiation with Intel devices (patch #6).
> > > > I would not be surprised to see some bugs in this rework.
> > >
> > > Any feedback about autoneg in e1000/ixgbe/i40e?
> > > Has it been tested before its integration in RC2?
> > >
> > > > The capabilities must be adapted per device. It can be improved in a
> > > > separate patch.
> > > >
> > > > It will be integrated in 16.04-rc2.
> > > > Please test and review shortly, thanks!
> > >
> > >
&g

[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-25 Thread Thomas Monjalon
2016-03-25 15:07, Zhang, Helin:
> From: Thomas Monjalon
> > Is there someone investigating the issue?
> 
> Beilei is investigating that, she will give her findings soon later, and 
> possibly a fix after validating that.
> Thanks!

Great thanks!
After talking with Bruce, we have decided to close RC2 without this patch
and make it a prerequisite for RC3.



[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-25 Thread Zhang, Helin
Hi Thomas

Beilei is investigating that, she will give her findings soon later, and 
possibly a fix after validating that.
Thanks!

Regards,
Helin

> -Original Message-
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Friday, March 25, 2016 5:36 PM
> To: Xu, Qian Q 
> Cc: dev at dpdk.org; Marc ; Ananyev, Konstantin
> ; Lu, Wenzhuo ;
> Zhang, Helin ; Richardson, Bruce
> ; Glynn, Michael J  intel.com>
> Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API
> refactoring
> 
> Is there someone investigating the issue?
> I think it should be simple to fix for someone mastering these Intel drivers.
> 
> 2016-03-25 01:02, Xu, Qian Q:
> > Marc
> > #Test1 is just a simple test. Just launch testpmd with these nic port.
> > ./testpmd ?c 0x3 ?n 4 -- -i
> >
> > Thanks
> > Qian
> >
> > From: marc.sune at gmail.com [mailto:marc.sune at gmail.com] On Behalf Of
> > Marc
> > Sent: Thursday, March 24, 2016 3:48 PM
> > To: Xu, Qian Q
> > Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin;
> > Richardson, Bruce; dev at dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
> > API refactoring
> >
> >
> >
> > On 24 March 2016 at 07:21, Xu, Qian Q
> mailto:qian.q.xu at intel.com>> wrote:
> > Marc
> > I didn?t quite get your points, I observed that after applying this 
> > patchset, all
> intel nic can?t be started, maybe something wrong happened when you check
> the duplex/autoneg value for different NICs. If we want to merge the patchset 
> in
> RC2, we need fix them. Maybe not an easy job in several days.
> >
> > Is this test#1 one of the tests contained in the DPDK repository or is it an
> internal test?
> >
> > Marc
> >
> >
> >
> > Thanks
> > Qian
> >
> > From: marc.sune at gmail.com<mailto:marc.sune at gmail.com>
> > [mailto:marc.sune at gmail.com<mailto:marc.sune at gmail.com>] On Behalf Of
> > Marc
> > Sent: Thursday, March 24, 2016 4:54 AM
> > To: Xu, Qian Q
> > Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin;
> > Richardson, Bruce; dev at dpdk.org<mailto:dev at dpdk.org>
> >
> > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
> > API refactoring
> >
> > Qian,
> >
> > On 23 March 2016 at 02:18, Xu, Qian Q
> mailto:qian.q.xu at intel.com>> wrote:
> > We have tested with intel nic and found port can't be started for all
> nics:ixgbe/i40e/igb/bonding, see attached mail for more details. Please check
> and fix it.
> >
> >
> > Thanks
> > Qian
> >
> > -----Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org<mailto:dev-bounces at dpdk.org>]
> > On Behalf Of Thomas Monjalon
> > Sent: Wednesday, March 23, 2016 3:59 AM
> > To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin
> > Cc: marcdevel at gmail.com<mailto:marcdevel at gmail.com>; Richardson,
> > Bruce; dev at dpdk.org<mailto:dev at dpdk.org>
> > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
> > API refactoring
> >
> > 2016-03-17 19:08, Thomas Monjalon:
> > > There are still too few tests and reviews, especially for
> > > autonegotiation with Intel devices (patch #6).
> > > I would not be surprised to see some bugs in this rework.
> >
> > Any feedback about autoneg in e1000/ixgbe/i40e?
> > Has it been tested before its integration in RC2?
> >
> > > The capabilities must be adapted per device. It can be improved in a
> > > separate patch.
> > >
> > > It will be integrated in 16.04-rc2.
> > > Please test and review shortly, thanks!
> >
> >
> > -- Forwarded message --
> > From: "Xu, Qian Q" mailto:qian.q.xu at intel.com>>
> > To: "Cao, Waterman"
> > mailto:waterman.cao at intel.com>>, "Glynn,
> > Michael J"
> > mailto:michael.j.glynn at intel.com>>
> > Cc: "Richardson, Bruce"
> > mailto:bruce.richardson at intel.com>>, "Zhu,
> > Heqing" mailto:heqing.zhu at intel.com>>,
> > "O'Driscoll, Tim"
> > mailto:tim.odriscoll at intel.com>>, "Mcnamara,
> > John" mailto:john.mcnamara at intel.com>>, "Xu,
> > HuilongX" mailto:huilongx.xu at intel.com>>, "Fu,
> > JingguoX" mailto:jingguox.fu at intel.com>>, "Xu,
> > Qian Q" mailto:qian.q.xu at intel.com>&

[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-25 Thread Thomas Monjalon
Is there someone investigating the issue?
I think it should be simple to fix for someone mastering these Intel drivers.

2016-03-25 01:02, Xu, Qian Q:
> Marc
> #Test1 is just a simple test. Just launch testpmd with these nic port.
> ./testpmd ?c 0x3 ?n 4 -- -i
> 
> Thanks
> Qian
> 
> From: marc.sune at gmail.com [mailto:marc.sune at gmail.com] On Behalf Of Marc
> Sent: Thursday, March 24, 2016 3:48 PM
> To: Xu, Qian Q
> Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin; 
> Richardson, Bruce; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API 
> refactoring
> 
> 
> 
> On 24 March 2016 at 07:21, Xu, Qian Q  intel.com<mailto:qian.q.xu at intel.com>> wrote:
> Marc
> I didn?t quite get your points, I observed that after applying this patchset, 
> all intel nic can?t be started, maybe something wrong happened when you check 
> the duplex/autoneg value for different NICs. If we want to merge the patchset 
> in RC2, we need fix them. Maybe not an easy job in several days.
> 
> Is this test#1 one of the tests contained in the DPDK repository or is it an 
> internal test?
> 
> Marc
> 
> 
> 
> Thanks
> Qian
> 
> From: marc.sune at gmail.com<mailto:marc.sune at gmail.com> [mailto:marc.sune 
> at gmail.com<mailto:marc.sune at gmail.com>] On Behalf Of Marc
> Sent: Thursday, March 24, 2016 4:54 AM
> To: Xu, Qian Q
> Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin; 
> Richardson, Bruce; dev at dpdk.org<mailto:dev at dpdk.org>
> 
> Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API 
> refactoring
> 
> Qian,
> 
> On 23 March 2016 at 02:18, Xu, Qian Q  intel.com<mailto:qian.q.xu at intel.com>> wrote:
> We have tested with intel nic and found port can't be started for all 
> nics:ixgbe/i40e/igb/bonding, see attached mail for more details. Please check 
> and fix it.
> 
> 
> Thanks
> Qian
> 
> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org<mailto:dev-bounces at dpdk.org>] On 
> Behalf Of Thomas Monjalon
> Sent: Wednesday, March 23, 2016 3:59 AM
> To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin
> Cc: marcdevel at gmail.com<mailto:marcdevel at gmail.com>; Richardson, Bruce; 
> dev at dpdk.org<mailto:dev at dpdk.org>
> Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API 
> refactoring
> 
> 2016-03-17 19:08, Thomas Monjalon:
> > There are still too few tests and reviews, especially for
> > autonegotiation with Intel devices (patch #6).
> > I would not be surprised to see some bugs in this rework.
> 
> Any feedback about autoneg in e1000/ixgbe/i40e?
> Has it been tested before its integration in RC2?
> 
> > The capabilities must be adapted per device. It can be improved in a
> > separate patch.
> >
> > It will be integrated in 16.04-rc2.
> > Please test and review shortly, thanks!
> 
> 
> -- Forwarded message --
> From: "Xu, Qian Q" mailto:qian.q.xu at intel.com>>
> To: "Cao, Waterman" mailto:waterman.cao at 
> intel.com>>, "Glynn, Michael J"  intel.com<mailto:michael.j.glynn at intel.com>>
> Cc: "Richardson, Bruce"  intel.com<mailto:bruce.richardson at intel.com>>, "Zhu, Heqing"  at intel.com<mailto:heqing.zhu at intel.com>>, "O'Driscoll, Tim" 
> mailto:tim.odriscoll at intel.com>>, "Mcnamara, 
> John" mailto:john.mcnamara at intel.com>>, "Xu, 
> HuilongX" mailto:huilongx.xu at intel.com>>, "Fu, 
> JingguoX" mailto:jingguox.fu at intel.com>>, "Xu, 
> Qian Q" mailto:qian.q.xu at intel.com>>, "Zhang, 
> Helin" mailto:helin.zhang at intel.com>>
> Date: Tue, 22 Mar 2016 06:41:37 +
> Subject: RE: DPDK link speed with Intel devices
> Hi, all
> We have worked out the basic test cases for the patchset.
> 1. Test the link speed on major Intel NICs to see if the speed is right.
> 2. Test the auto-negoation on major Intel NICs to ensure it's working.
> Nic covered: ixgbe, igb, i40e, fm10k, bonding(SW), virtio(SW)
> 
> When we run the Test#1 for all major NICs. We found that all these NIC 
> port(igb, ixgbe, i40e, fm10k) can't be started. Pls check, if the patch is 
> applied, all INTEL port can't be start, terrible things!
> 
> Interactive-mode selected
> Configuring Port 0 (socket 0)
> PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f13e99e3440 
> hw_ring=0x7f13e99e5480 dma_addr=0x8299e5480
> PMD: ixgbe_set_tx_function(): Using simple tx code path
> PMD: ixgbe_set_tx_function()

[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-25 Thread Xu, Qian Q
Marc
#Test1 is just a simple test. Just launch testpmd with these nic port.
./testpmd ?c 0x3 ?n 4 -- -i

Thanks
Qian

From: marc.sune at gmail.com [mailto:marc.s...@gmail.com] On Behalf Of Marc
Sent: Thursday, March 24, 2016 3:48 PM
To: Xu, Qian Q
Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin; 
Richardson, Bruce; dev at dpdk.org
Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API 
refactoring



On 24 March 2016 at 07:21, Xu, Qian Q mailto:qian.q.xu 
at intel.com>> wrote:
Marc
I didn?t quite get your points, I observed that after applying this patchset, 
all intel nic can?t be started, maybe something wrong happened when you check 
the duplex/autoneg value for different NICs. If we want to merge the patchset 
in RC2, we need fix them. Maybe not an easy job in several days.

Is this test#1 one of the tests contained in the DPDK repository or is it an 
internal test?

Marc



Thanks
Qian

From: marc.sune at gmail.com<mailto:marc.sune at gmail.com> [mailto:marc.sune 
at gmail.com<mailto:marc.s...@gmail.com>] On Behalf Of Marc
Sent: Thursday, March 24, 2016 4:54 AM
To: Xu, Qian Q
Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin; 
Richardson, Bruce; dev at dpdk.org<mailto:dev at dpdk.org>

Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API 
refactoring

Qian,

On 23 March 2016 at 02:18, Xu, Qian Q mailto:qian.q.xu 
at intel.com>> wrote:
We have tested with intel nic and found port can't be started for all 
nics:ixgbe/i40e/igb/bonding, see attached mail for more details. Please check 
and fix it.


Thanks
Qian

-Original Message-
From: dev [mailto:dev-bounces at dpdk.org<mailto:dev-boun...@dpdk.org>] On 
Behalf Of Thomas Monjalon
Sent: Wednesday, March 23, 2016 3:59 AM
To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin
Cc: marcdevel at gmail.com<mailto:marcdevel at gmail.com>; Richardson, Bruce; 
dev at dpdk.org<mailto:dev at dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API 
refactoring

2016-03-17 19:08, Thomas Monjalon:
> There are still too few tests and reviews, especially for
> autonegotiation with Intel devices (patch #6).
> I would not be surprised to see some bugs in this rework.

Any feedback about autoneg in e1000/ixgbe/i40e?
Has it been tested before its integration in RC2?

> The capabilities must be adapted per device. It can be improved in a
> separate patch.
>
> It will be integrated in 16.04-rc2.
> Please test and review shortly, thanks!


-- Forwarded message --
From: "Xu, Qian Q" mailto:qian.q...@intel.com>>
To: "Cao, Waterman" mailto:waterman.cao at 
intel.com>>, "Glynn, Michael J" mailto:michael.j.glynn at intel.com>>
Cc: "Richardson, Bruce" mailto:bruce.richardson 
at intel.com>>, "Zhu, Heqing" mailto:heqing.zhu at 
intel.com>>, "O'Driscoll, Tim" mailto:tim.odriscoll 
at intel.com>>, "Mcnamara, John" mailto:john.mcnamara at intel.com>>, "Xu, HuilongX" mailto:huilongx.xu at intel.com>>, "Fu, JingguoX" mailto:jingguox.fu at intel.com>>, "Xu, Qian Q" mailto:qian.q.xu at intel.com>>, "Zhang, Helin" mailto:helin.zhang at intel.com>>
Date: Tue, 22 Mar 2016 06:41:37 +
Subject: RE: DPDK link speed with Intel devices
Hi, all
We have worked out the basic test cases for the patchset.
1. Test the link speed on major Intel NICs to see if the speed is right.
2. Test the auto-negoation on major Intel NICs to ensure it's working.
Nic covered: ixgbe, igb, i40e, fm10k, bonding(SW), virtio(SW)

When we run the Test#1 for all major NICs. We found that all these NIC 
port(igb, ixgbe, i40e, fm10k) can't be started. Pls check, if the patch is 
applied, all INTEL port can't be start, terrible things!

Interactive-mode selected
Configuring Port 0 (socket 0)
PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f13e99e3440 hw_ring=0x7f13e99e5480 
dma_addr=0x8299e5480
PMD: ixgbe_set_tx_function(): Using simple tx code path
PMD: ixgbe_set_tx_function(): Vector tx enabled.
PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7f13ffcb8080 
sw_sc_ring=0x7f13ffcbaac0 hw_ring=0x7f13e99d3380 dma_addr=0x8299d3380
PMD: ixgbe_dev_start(): Invalid link_speeds for port 0; autonegotiation disabled
Fail to start port 0
Configuring Port 1 (socket 0)
PMD: i40e_set_tx_function_flag(): Vector tx can be enabled on this txq.
PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are 
satisfied. Rx Burst Bulk Alloc function will be used on port=1, queue=0.
PMD: i40e_dev_start(): Invalid link_speeds for port 1; autonegotiation disabled


Just to double-check; is the test#1 adapted to the _new_ API that ethdev has to 
set link speeds? For the output it seems autoneg is disabled => fixed speed, 
hence the new bitmaps have to be used.

[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-24 Thread Matej Vido
D?a 17.03.2016 o 19:08 Thomas Monjalon nap?sal(a):
> There are still too few tests and reviews, especially for
> autonegotiation with Intel devices (patch #6).
> I would not be surprised to see some bugs in this rework.
>
> The capabilities must be adapted per device. It can be
> improved in a separate patch.
>
> It will be integrated in 16.04-rc2.
> Please test and review shortly, thanks!
>
> [...]
Tested-by: Matej Vido 

Correct speed is displayed for COMBO-100G card.

Regards,
Matej


[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-24 Thread Marc
On 24 March 2016 at 07:21, Xu, Qian Q  wrote:

> Marc
>
> I didn?t quite get your points, I observed that after applying this
> patchset, all intel nic can?t be started, maybe something wrong happened
> when you check the duplex/autoneg value for different NICs. If we want to
> merge the patchset in RC2, we need fix them. Maybe not an easy job in
> several days.
>

Is this test#1 one of the tests contained in the DPDK repository or is it
an internal test?

Marc


>
>
>
>
> Thanks
>
> Qian
>
>
>
> *From:* marc.sune at gmail.com [mailto:marc.sune at gmail.com] *On Behalf Of *
> Marc
> *Sent:* Thursday, March 24, 2016 4:54 AM
> *To:* Xu, Qian Q
> *Cc:* Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin;
> Richardson, Bruce; dev at dpdk.org
>
> *Subject:* Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API
> refactoring
>
>
>
> Qian,
>
>
>
> On 23 March 2016 at 02:18, Xu, Qian Q  wrote:
>
> We have tested with intel nic and found port can't be started for all
> nics:ixgbe/i40e/igb/bonding, see attached mail for more details. Please
> check and fix it.
>
>
> Thanks
> Qian
>
>
> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Wednesday, March 23, 2016 3:59 AM
> To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin
> Cc: marcdevel at gmail.com; Richardson, Bruce; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API
> refactoring
>
> 2016-03-17 19:08, Thomas Monjalon:
> > There are still too few tests and reviews, especially for
> > autonegotiation with Intel devices (patch #6).
> > I would not be surprised to see some bugs in this rework.
>
> Any feedback about autoneg in e1000/ixgbe/i40e?
> Has it been tested before its integration in RC2?
>
> > The capabilities must be adapted per device. It can be improved in a
> > separate patch.
> >
> > It will be integrated in 16.04-rc2.
> > Please test and review shortly, thanks!
>
>
>
> -- Forwarded message --
> From: "Xu, Qian Q" 
> To: "Cao, Waterman" , "Glynn, Michael J" <
> michael.j.glynn at intel.com>
> Cc: "Richardson, Bruce" , "Zhu, Heqing" <
> heqing.zhu at intel.com>, "O'Driscoll, Tim" ,
> "Mcnamara, John" , "Xu, HuilongX" <
> huilongx.xu at intel.com>, "Fu, JingguoX" , "Xu, 
> Qian
> Q" , "Zhang, Helin" 
> Date: Tue, 22 Mar 2016 06:41:37 +
> Subject: RE: DPDK link speed with Intel devices
> Hi, all
> We have worked out the basic test cases for the patchset.
> 1. Test the link speed on major Intel NICs to see if the speed is right.
> 2. Test the auto-negoation on major Intel NICs to ensure it's working.
> Nic covered: ixgbe, igb, i40e, fm10k, bonding(SW), virtio(SW)
>
> When we run the Test#1 for all major NICs. We found that all these NIC
> port(igb, ixgbe, i40e, fm10k) can't be started. Pls check, if the patch is
> applied, all INTEL port can't be start, terrible things!
>
> Interactive-mode selected
> Configuring Port 0 (socket 0)
> PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f13e99e3440
> hw_ring=0x7f13e99e5480 dma_addr=0x8299e5480
> PMD: ixgbe_set_tx_function(): Using simple tx code path
> PMD: ixgbe_set_tx_function(): Vector tx enabled.
> PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7f13ffcb8080
> sw_sc_ring=0x7f13ffcbaac0 hw_ring=0x7f13e99d3380 dma_addr=0x8299d3380
> PMD: ixgbe_dev_start(): Invalid link_speeds for port 0; autonegotiation
> disabled
> Fail to start port 0
> Configuring Port 1 (socket 0)
> PMD: i40e_set_tx_function_flag(): Vector tx can be enabled on this txq.
> PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are
> satisfied. Rx Burst Bulk Alloc function will be used on port=1, queue=0.
> PMD: i40e_dev_start(): Invalid link_speeds for port 1; autonegotiation
> disabled
>
>
>
>
>
> Just to double-check; is the test#1 adapted to the _new_ API that ethdev
> has to set link speeds? For the output it seems autoneg is disabled =>
> fixed speed, hence the new bitmaps have to be used.
>
>
>
> (I am not claiming patchset is bug free; there might be issues still)
>
>
>
> Regards
>
> marc
>
>
>
> Fail to start port 1
> Please stop the ports first
> Done
>
> Thanks
> Qian
>
>
> -Original Message-
> From: Cao, Waterman
> Sent: Tuesday, March 22, 2016 11:06 AM
> To: Glynn, Michael J
> Cc: Richardson, Bruce; Zhu, Heqing; O'Driscoll, Tim; Mcnamara, John; Xu,
> Qian Q; Cao, Waterman
> Subjec

[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-24 Thread Xu, Qian Q
Marc
I didn?t quite get your points, I observed that after applying this patchset, 
all intel nic can?t be started, maybe something wrong happened when you check 
the duplex/autoneg value for different NICs. If we want to merge the patchset 
in RC2, we need fix them. Maybe not an easy job in several days.


Thanks
Qian

From: marc.sune at gmail.com [mailto:marc.s...@gmail.com] On Behalf Of Marc
Sent: Thursday, March 24, 2016 4:54 AM
To: Xu, Qian Q
Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin; 
Richardson, Bruce; dev at dpdk.org
Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API 
refactoring

Qian,

On 23 March 2016 at 02:18, Xu, Qian Q mailto:qian.q.xu 
at intel.com>> wrote:
We have tested with intel nic and found port can't be started for all 
nics:ixgbe/i40e/igb/bonding, see attached mail for more details. Please check 
and fix it.


Thanks
Qian

-Original Message-
From: dev [mailto:dev-bounces at dpdk.org<mailto:dev-boun...@dpdk.org>] On 
Behalf Of Thomas Monjalon
Sent: Wednesday, March 23, 2016 3:59 AM
To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin
Cc: marcdevel at gmail.com<mailto:marcdevel at gmail.com>; Richardson, Bruce; 
dev at dpdk.org<mailto:dev at dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API 
refactoring

2016-03-17 19:08, Thomas Monjalon:
> There are still too few tests and reviews, especially for
> autonegotiation with Intel devices (patch #6).
> I would not be surprised to see some bugs in this rework.

Any feedback about autoneg in e1000/ixgbe/i40e?
Has it been tested before its integration in RC2?

> The capabilities must be adapted per device. It can be improved in a
> separate patch.
>
> It will be integrated in 16.04-rc2.
> Please test and review shortly, thanks!


-- Forwarded message --
From: "Xu, Qian Q" mailto:qian.q...@intel.com>>
To: "Cao, Waterman" mailto:waterman.cao at 
intel.com>>, "Glynn, Michael J" mailto:michael.j.glynn at intel.com>>
Cc: "Richardson, Bruce" mailto:bruce.richardson 
at intel.com>>, "Zhu, Heqing" mailto:heqing.zhu at 
intel.com>>, "O'Driscoll, Tim" mailto:tim.odriscoll 
at intel.com>>, "Mcnamara, John" mailto:john.mcnamara at intel.com>>, "Xu, HuilongX" mailto:huilongx.xu at intel.com>>, "Fu, JingguoX" mailto:jingguox.fu at intel.com>>, "Xu, Qian Q" mailto:qian.q.xu at intel.com>>, "Zhang, Helin" mailto:helin.zhang at intel.com>>
Date: Tue, 22 Mar 2016 06:41:37 +
Subject: RE: DPDK link speed with Intel devices
Hi, all
We have worked out the basic test cases for the patchset.
1. Test the link speed on major Intel NICs to see if the speed is right.
2. Test the auto-negoation on major Intel NICs to ensure it's working.
Nic covered: ixgbe, igb, i40e, fm10k, bonding(SW), virtio(SW)

When we run the Test#1 for all major NICs. We found that all these NIC 
port(igb, ixgbe, i40e, fm10k) can't be started. Pls check, if the patch is 
applied, all INTEL port can't be start, terrible things!

Interactive-mode selected
Configuring Port 0 (socket 0)
PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f13e99e3440 hw_ring=0x7f13e99e5480 
dma_addr=0x8299e5480
PMD: ixgbe_set_tx_function(): Using simple tx code path
PMD: ixgbe_set_tx_function(): Vector tx enabled.
PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7f13ffcb8080 
sw_sc_ring=0x7f13ffcbaac0 hw_ring=0x7f13e99d3380 dma_addr=0x8299d3380
PMD: ixgbe_dev_start(): Invalid link_speeds for port 0; autonegotiation disabled
Fail to start port 0
Configuring Port 1 (socket 0)
PMD: i40e_set_tx_function_flag(): Vector tx can be enabled on this txq.
PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are 
satisfied. Rx Burst Bulk Alloc function will be used on port=1, queue=0.
PMD: i40e_dev_start(): Invalid link_speeds for port 1; autonegotiation disabled


Just to double-check; is the test#1 adapted to the _new_ API that ethdev has to 
set link speeds? For the output it seems autoneg is disabled => fixed speed, 
hence the new bitmaps have to be used.

(I am not claiming patchset is bug free; there might be issues still)

Regards
marc

Fail to start port 1
Please stop the ports first
Done

Thanks
Qian


-Original Message-
From: Cao, Waterman
Sent: Tuesday, March 22, 2016 11:06 AM
To: Glynn, Michael J
Cc: Richardson, Bruce; Zhu, Heqing; O'Driscoll, Tim; Mcnamara, John; Xu, Qian 
Q; Cao, Waterman
Subject: RE: DPDK link speed with Intel devices

Hi Mike,

We just knew this patch set last week.
Since this patch set is required to test with a lot of NIC,  we need 
more document from Dev about this patch.
Currently, Qian is working on with Wenzhuo on it now.

Waterman


-Original Message-
From: Glynn, Michael J
Sent: Tuesda

[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-23 Thread Marc
Qian,

On 23 March 2016 at 02:18, Xu, Qian Q  wrote:

> We have tested with intel nic and found port can't be started for all
> nics:ixgbe/i40e/igb/bonding, see attached mail for more details. Please
> check and fix it.
>
>
> Thanks
> Qian
>
> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Wednesday, March 23, 2016 3:59 AM
> To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin
> Cc: marcdevel at gmail.com; Richardson, Bruce; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API
> refactoring
>
> 2016-03-17 19:08, Thomas Monjalon:
> > There are still too few tests and reviews, especially for
> > autonegotiation with Intel devices (patch #6).
> > I would not be surprised to see some bugs in this rework.
>
> Any feedback about autoneg in e1000/ixgbe/i40e?
> Has it been tested before its integration in RC2?
>
> > The capabilities must be adapted per device. It can be improved in a
> > separate patch.
> >
> > It will be integrated in 16.04-rc2.
> > Please test and review shortly, thanks!
>
>
>
> -- Forwarded message --
> From: "Xu, Qian Q" 
> To: "Cao, Waterman" , "Glynn, Michael J" <
> michael.j.glynn at intel.com>
> Cc: "Richardson, Bruce" , "Zhu, Heqing" <
> heqing.zhu at intel.com>, "O'Driscoll, Tim" ,
> "Mcnamara, John" , "Xu, HuilongX" <
> huilongx.xu at intel.com>, "Fu, JingguoX" , "Xu, 
> Qian
> Q" , "Zhang, Helin" 
> Date: Tue, 22 Mar 2016 06:41:37 +
> Subject: RE: DPDK link speed with Intel devices
> Hi, all
> We have worked out the basic test cases for the patchset.
> 1. Test the link speed on major Intel NICs to see if the speed is right.
> 2. Test the auto-negoation on major Intel NICs to ensure it's working.
> Nic covered: ixgbe, igb, i40e, fm10k, bonding(SW), virtio(SW)
>
> When we run the Test#1 for all major NICs. We found that all these NIC
> port(igb, ixgbe, i40e, fm10k) can't be started. Pls check, if the patch is
> applied, all INTEL port can't be start, terrible things!
>
> Interactive-mode selected
> Configuring Port 0 (socket 0)
> PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f13e99e3440
> hw_ring=0x7f13e99e5480 dma_addr=0x8299e5480
> PMD: ixgbe_set_tx_function(): Using simple tx code path
> PMD: ixgbe_set_tx_function(): Vector tx enabled.
> PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7f13ffcb8080
> sw_sc_ring=0x7f13ffcbaac0 hw_ring=0x7f13e99d3380 dma_addr=0x8299d3380
> PMD: ixgbe_dev_start(): Invalid link_speeds for port 0; autonegotiation
> disabled
> Fail to start port 0
> Configuring Port 1 (socket 0)
> PMD: i40e_set_tx_function_flag(): Vector tx can be enabled on this txq.
> PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are
> satisfied. Rx Burst Bulk Alloc function will be used on port=1, queue=0.
> PMD: i40e_dev_start(): Invalid link_speeds for port 1; autonegotiation
> disabled
>


Just to double-check; is the test#1 adapted to the _new_ API that ethdev
has to set link speeds? For the output it seems autoneg is disabled =>
fixed speed, hence the new bitmaps have to be used.

(I am not claiming patchset is bug free; there might be issues still)

Regards
marc

Fail to start port 1
> Please stop the ports first
> Done
>
> Thanks
> Qian
>
>
> -Original Message-
> From: Cao, Waterman
> Sent: Tuesday, March 22, 2016 11:06 AM
> To: Glynn, Michael J
> Cc: Richardson, Bruce; Zhu, Heqing; O'Driscoll, Tim; Mcnamara, John; Xu,
> Qian Q; Cao, Waterman
> Subject: RE: DPDK link speed with Intel devices
>
> Hi Mike,
>
> We just knew this patch set last week.
> Since this patch set is required to test with a lot of NIC,  we
> need more document from Dev about this patch.
> Currently, Qian is working on with Wenzhuo on it now.
>
> Waterman
>
>
> -Original Message-
> From: Glynn, Michael J
> Sent: Tuesday, March 22, 2016 1:31 AM
> To: Cao, Waterman 
> Cc: Richardson, Bruce ; Zhu, Heqing <
> heqing.zhu at intel.com>; O'Driscoll, Tim ;
> Mcnamara, John 
> Subject: FW: DPDK link speed with Intel devices
> Importance: High
>
> Hi Waterman, all
>
> See below - are you aware? And if so where are we with testing/resolution?
>
> Regards
> Mike
>
>
>
> -Original Message-
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Monday, March 21, 2016 2:19 PM
> To: O'Driscoll, Tim ; Glynn, Michael J <
> michael.j.glynn at intel.com>; Zhu, Heqing 
> Cc: vincent.jardin at 6wind.com
> Subject: DPDK link speed with Intel devices
>
> Hi,
>
> We are still waiting for test feedbacks for this important patchset:
> ethdev: 100G and link speed API refactoring It is possible that it
> breaks the autonegotiation in e1000/ixgbe/i40e.
>
> Thanks for taking care.
>
>


[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-23 Thread Thomas Monjalon
2016-03-23 01:18, Xu, Qian Q:
> We have tested with intel nic and found port can't be started for all
> nics:ixgbe/i40e/igb/bonding, see attached mail for more details.
> Please check and fix it. 

Thanks for testing.

This patchset was in the air for several months but unfortunately there was
no test of Intel devices until now.
Please Intel drivers maintainers, help to fix it quickly.
Thanks


[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-23 Thread Xu, Qian Q
We have tested with intel nic and found port can't be started for all 
nics:ixgbe/i40e/igb/bonding, see attached mail for more details. Please check 
and fix it. 


Thanks
Qian

-Original Message-
From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Thomas Monjalon
Sent: Wednesday, March 23, 2016 3:59 AM
To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin
Cc: marcdevel at gmail.com; Richardson, Bruce; dev at dpdk.org
Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API 
refactoring

2016-03-17 19:08, Thomas Monjalon:
> There are still too few tests and reviews, especially for 
> autonegotiation with Intel devices (patch #6).
> I would not be surprised to see some bugs in this rework.

Any feedback about autoneg in e1000/ixgbe/i40e?
Has it been tested before its integration in RC2?

> The capabilities must be adapted per device. It can be improved in a 
> separate patch.
> 
> It will be integrated in 16.04-rc2.
> Please test and review shortly, thanks!



[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-22 Thread Thomas Monjalon
2016-03-17 19:08, Thomas Monjalon:
> There are still too few tests and reviews, especially for
> autonegotiation with Intel devices (patch #6).
> I would not be surprised to see some bugs in this rework.

Any feedback about autoneg in e1000/ixgbe/i40e?
Has it been tested before its integration in RC2?

> The capabilities must be adapted per device. It can be
> improved in a separate patch.
> 
> It will be integrated in 16.04-rc2.
> Please test and review shortly, thanks!



[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

2016-03-17 Thread Thomas Monjalon
There are still too few tests and reviews, especially for
autonegotiation with Intel devices (patch #6).
I would not be surprised to see some bugs in this rework.

The capabilities must be adapted per device. It can be
improved in a separate patch.

It will be integrated in 16.04-rc2.
Please test and review shortly, thanks!



This series of patches adds the following capabilities:

* speed_capa bitmap in rte_eth_dev_info, which is filled by the PMDs
  according to the physical device capabilities.
* refactors link API in ethdev to allow the definition of the advertised
  link speeds, fix speed (no auto-negociation) or advertise all supported
  speeds (default).



v11:
- rebase on 16.04-rc1
- replace on more link status value in e1000 driver
- merge szedata2 patches
- remove szedata2 temporary comments in code and doc

v10:
- rebase
- rework release notes
- rearrange patch splitting
- fix doxygen comments
- fix typos
- removed log format of link.link_speed as %d (keep %u)
- complete ETH_LINK_[DOWN/UP] replacement from 0/1
- change ETH_LINK_SPEED_AUTONEG to 1
- replace ETH_LINK_SPEED_NEG by ETH_LINK_SPEED_AUTONEG (1)
- replace ETH_LINK_SPEED_NO_AUTONEG by ETH_LINK_SPEED_FIXED (0)
- rework rte_eth_speed_to_bm_flag to rte_eth_speed_bitflag
- complete 100G support in testpmd

v9: rebased to current HEAD. Reverted numeric speed to 32 bit in struct
rte_eth_link (no atomic link get > 64bit). Fixed mlx5 driver compilation
and link speeds. Moved documentation to release_16_04.rst and fixed several
issues. Upgrade NIC notes with speed capabilities.

v8: Rebased to current HEAD. Modified em driver impl. to not touch base files.
Merged patch 5 into 3 (map file). Changed numeric speed to a 64 bit value.
Filled-in speed capabilities for drivers bnx2x, cxgbe, mlx5 and nfp in
addition to the ones of previous patch sets.

v7: Rebased to current HEAD. Moved documentation to v2.3. Still needs testing
from PMD maintainers.

v6: Move link_duplex to be part of bitfield. Fixed i40 autoneg flag link
update code. Added rte_eth_speed_to_bm_flag() to .map file. Fixed other
spelling issues. Rebased to current HEAD.

v5: revert to v2 speed capabilities patch. Fixed MLX4 speed capabilities
(thanks N. Laranjeiro). Refactored link speed API to allow setting
advertised speeds (3/4). Added NO_AUTONEG option to explicitely disable
auto-negociation. Updated 2.2 rel. notes (4/4). Rebased to current HEAD.

v4: fixed errata in the documentation of field speeds of rte_eth_conf, and
commit 1/2 message. rebased to v2.1.0. v3 was incorrectly based on
~2.1.0-rc1.

v3: rebase to v2.1. unified ETH_LINK_SPEED and ETH_SPEED_CAP into ETH_SPEED.
Converted field speed in struct rte_eth_conf to speed, to allow a bitmap
for defining the announced speeds, as suggested M. Brorup. Fixed spelling
issues.

v2: rebase, converted speed_capa into 32 bits bitmap, fixed alignment
(checkpatch).



Marc Sune (6):
  ethdev: use constants for link duplex
  app/testpmd: move speed and duplex parsing in a function
  ethdev: rename link speed constants
  ethdev: add speed capabilities
  ethdev: redesign link speed config
  ethdev: convert speed number to bitmap flag

Thomas Monjalon (2):
  ethdev: use constants for link state
  ethdev: add 100G link speed

 app/test-pipeline/init.c   |   2 +-
 app/test-pmd/cmdline.c | 125 ++---
 app/test-pmd/testpmd.c |   2 +-
 app/test/test_pmd_perf.c   |   2 +-
 app/test/virtual_pmd.c |   8 +-
 doc/guides/nics/overview.rst   |   1 +
 doc/guides/nics/szedata2.rst   |   6 -
 doc/guides/rel_notes/release_16_04.rst |  22 
 doc/guides/testpmd_app_ug/testpmd_funcs.rst|   2 +-
 drivers/net/af_packet/rte_eth_af_packet.c  |   9 +-
 drivers/net/bnx2x/bnx2x_ethdev.c   |   7 +-
 drivers/net/bnx2x/elink.c  |   2 +-
 drivers/net/bonding/rte_eth_bond_8023ad.c  |  14 +--
 drivers/net/bonding/rte_eth_bond_api.c |   4 +-
 drivers/net/bonding/rte_eth_bond_pmd.c |  12 +-
 drivers/net/cxgbe/base/t4_hw.c |   8 +-
 drivers/net/cxgbe/cxgbe_ethdev.c   |   1 +
 drivers/net/e1000/em_ethdev.c  | 113 +--
 drivers/net/e1000/igb_ethdev.c | 104 +
 drivers/net/fm10k/fm10k_ethdev.c   |   6 +-
 drivers/net/i40e/i40e_ethdev.c |  76 +++--
 drivers/net/i40e/i40e_ethdev_vf.c  |  11 +-
 drivers/net/ixgbe/ixgbe_ethdev.c   |  76 ++---
 drivers/net/mlx4/mlx4.c|   4 +
 drivers/net/mlx5/mlx5_ethdev.c |