[dpdk-dev] net/bnx2x: convert to new Rx offloads API

Message ID 1522562625-16248-1-git-send-email-rasesh.mody@cavium.com (mailing list archive)
State Changes Requested, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues

Commit Message

Mody, Rasesh April 1, 2018, 6:03 a.m. UTC
  From: Harish Patil <harish.patil@cavium.com>

Ethdev RX offloads API has changed since:
commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API")

This patch makes use of DEV_RX_OFFLOAD_JUMBO_FRAME offload flag
to advertise jumbo frame support.

Signed-off-by: Harish Patil <harish.patil@cavium.com>
---
 drivers/net/bnx2x/bnx2x_ethdev.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
  

Comments

Ferruh Yigit April 5, 2018, 1:40 p.m. UTC | #1
On 4/1/2018 7:03 AM, Rasesh Mody wrote:
> From: Harish Patil <harish.patil@cavium.com>
> 
> Ethdev RX offloads API has changed since:
> commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
> 
> This patch makes use of DEV_RX_OFFLOAD_JUMBO_FRAME offload flag
> to advertise jumbo frame support.
> 
> Signed-off-by: Harish Patil <harish.patil@cavium.com>
> ---
>  drivers/net/bnx2x/bnx2x_ethdev.c |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
> index 483d5a1..fada4bd 100644
> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
> @@ -140,11 +140,13 @@ struct rte_bnx2x_xstats_name_off {
>  bnx2x_dev_configure(struct rte_eth_dev *dev)
>  {
>  	struct bnx2x_softc *sc = dev->data->dev_private;
> +	struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode;
> +
>  	int mp_ncpus = sysconf(_SC_NPROCESSORS_CONF);
>  
>  	PMD_INIT_FUNC_TRACE();
>  
> -	if (dev->data->dev_conf.rxmode.jumbo_frame)
> +	if (rxmode & DEV_RX_OFFLOAD_JUMBO_FRAME)

I guess you would mean "rxmode->offloads".

Isn't this caught by automated build?

>  		sc->mtu = dev->data->dev_conf.rxmode.max_rx_pkt_len;
>  
>  	if (dev->data->nb_tx_queues > dev->data->nb_rx_queues) {
> @@ -454,6 +456,7 @@ struct rte_bnx2x_xstats_name_off {
>  	dev_info->max_rx_pktlen  = BNX2X_MAX_RX_PKT_LEN;
>  	dev_info->max_mac_addrs  = BNX2X_MAX_MAC_ADDRS;
>  	dev_info->speed_capa = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_20G;
> +	dev_info->rx_offload_capa = DEV_RX_OFFLOAD_JUMBO_FRAME;
>  }
>  
>  static int
>
  
Mody, Rasesh April 7, 2018, 5:09 a.m. UTC | #2
> From: Ferruh Yigit [mailto:ferruh.yigit@intel.com]

> Sent: Thursday, April 05, 2018 6:40 AM

> 

> On 4/1/2018 7:03 AM, Rasesh Mody wrote:

> > From: Harish Patil <harish.patil@cavium.com>

> >

> > Ethdev RX offloads API has changed since:

> > commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API")

> >

> > This patch makes use of DEV_RX_OFFLOAD_JUMBO_FRAME offload flag to

> > advertise jumbo frame support.

> >

> > Signed-off-by: Harish Patil <harish.patil@cavium.com>

> > ---

> >  drivers/net/bnx2x/bnx2x_ethdev.c |    5 ++++-

> >  1 file changed, 4 insertions(+), 1 deletion(-)

> >

> > diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c

> > b/drivers/net/bnx2x/bnx2x_ethdev.c

> > index 483d5a1..fada4bd 100644

> > --- a/drivers/net/bnx2x/bnx2x_ethdev.c

> > +++ b/drivers/net/bnx2x/bnx2x_ethdev.c

> > @@ -140,11 +140,13 @@ struct rte_bnx2x_xstats_name_off {

> > bnx2x_dev_configure(struct rte_eth_dev *dev)  {

> >  	struct bnx2x_softc *sc = dev->data->dev_private;

> > +	struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode;

> > +

> >  	int mp_ncpus = sysconf(_SC_NPROCESSORS_CONF);

> >

> >  	PMD_INIT_FUNC_TRACE();

> >

> > -	if (dev->data->dev_conf.rxmode.jumbo_frame)

> > +	if (rxmode & DEV_RX_OFFLOAD_JUMBO_FRAME)

> 

> I guess you would mean "rxmode->offloads".

> 

> Isn't this caught by automated build?


You are right, will send a v2 with proper offload check.

I do not think this was caught by automated build.

> 

> >  		sc->mtu = dev->data->dev_conf.rxmode.max_rx_pkt_len;

> >

> >  	if (dev->data->nb_tx_queues > dev->data->nb_rx_queues) { @@ -

> 454,6

> > +456,7 @@ struct rte_bnx2x_xstats_name_off {

> >  	dev_info->max_rx_pktlen  = BNX2X_MAX_RX_PKT_LEN;

> >  	dev_info->max_mac_addrs  = BNX2X_MAX_MAC_ADDRS;

> >  	dev_info->speed_capa = ETH_LINK_SPEED_10G |

> ETH_LINK_SPEED_20G;

> > +	dev_info->rx_offload_capa = DEV_RX_OFFLOAD_JUMBO_FRAME;

> >  }

> >

> >  static int

> >
  

Patch

diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index 483d5a1..fada4bd 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -140,11 +140,13 @@  struct rte_bnx2x_xstats_name_off {
 bnx2x_dev_configure(struct rte_eth_dev *dev)
 {
 	struct bnx2x_softc *sc = dev->data->dev_private;
+	struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode;
+
 	int mp_ncpus = sysconf(_SC_NPROCESSORS_CONF);
 
 	PMD_INIT_FUNC_TRACE();
 
-	if (dev->data->dev_conf.rxmode.jumbo_frame)
+	if (rxmode & DEV_RX_OFFLOAD_JUMBO_FRAME)
 		sc->mtu = dev->data->dev_conf.rxmode.max_rx_pkt_len;
 
 	if (dev->data->nb_tx_queues > dev->data->nb_rx_queues) {
@@ -454,6 +456,7 @@  struct rte_bnx2x_xstats_name_off {
 	dev_info->max_rx_pktlen  = BNX2X_MAX_RX_PKT_LEN;
 	dev_info->max_mac_addrs  = BNX2X_MAX_MAC_ADDRS;
 	dev_info->speed_capa = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_20G;
+	dev_info->rx_offload_capa = DEV_RX_OFFLOAD_JUMBO_FRAME;
 }
 
 static int