examples/l2fwd-event: set RSS based on device capabilities

Message ID 20191216053736.792-1-pbhagavatula@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series examples/l2fwd-event: set RSS based on device capabilities |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/travis-robot warning Travis build: failed
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/Intel-compilation fail apply issues

Commit Message

Pavan Nikhilesh Bhagavatula Dec. 16, 2019, 5:37 a.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Setup RSS configuration based on underlying device capabilities.

Signed-off-by: Satananda Burla <sburla@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 examples/l2fwd-event/l2fwd_common.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
  

Comments

Jerin Jacob Dec. 16, 2019, 5:46 a.m. UTC | #1
On Mon, Dec 16, 2019 at 11:07 AM <pbhagavatula@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Setup RSS configuration based on underlying device capabilities.
>
> Signed-off-by: Satananda Burla <sburla@marvell.com>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---


Please add Fixes: and cc stable as well as it is a fix for the bug.


>  examples/l2fwd-event/l2fwd_common.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/examples/l2fwd-event/l2fwd_common.c b/examples/l2fwd-event/l2fwd_common.c
> index 0c069ec35..2fae6f52c 100644
> --- a/examples/l2fwd-event/l2fwd_common.c
> +++ b/examples/l2fwd-event/l2fwd_common.c
> @@ -46,6 +46,17 @@ l2fwd_event_init_ports(struct l2fwd_resources *rsrc)
>                 if (ret != 0)
>                         rte_panic("Error during getting device (port %u) info: %s\n",
>                                   port_id, strerror(-ret));
> +               local_port_conf.rx_adv_conf.rss_conf.rss_hf &=
> +                       dev_info.flow_type_rss_offloads;
> +               if (local_port_conf.rx_adv_conf.rss_conf.rss_hf !=
> +                               port_conf.rx_adv_conf.rss_conf.rss_hf) {
> +                       printf("Port %u modified RSS hash function based on hardware support,"
> +                              "requested:%#"PRIx64" configured:%#"PRIx64"",
> +                               port_id,
> +                               port_conf.rx_adv_conf.rss_conf.rss_hf,
> +                               local_port_conf.rx_adv_conf.rss_conf.rss_hf);
> +               }
> +
>                 if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_MBUF_FAST_FREE)
>                         local_port_conf.txmode.offloads |=
>                                 DEV_TX_OFFLOAD_MBUF_FAST_FREE;
> --
> 2.17.1
>
  
Jerin Jacob Jan. 13, 2020, 9:34 a.m. UTC | #2
On Mon, Dec 16, 2019 at 11:16 AM Jerin Jacob <jerinjacobk@gmail.com> wrote:
>
> On Mon, Dec 16, 2019 at 11:07 AM <pbhagavatula@marvell.com> wrote:
> >
> > From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >
> > Setup RSS configuration based on underlying device capabilities.
> >
> > Signed-off-by: Satananda Burla <sburla@marvell.com>
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> > ---
>
>
> Please add Fixes: and cc stable as well as it is a fix for the bug.

Ping

>
>
> >  examples/l2fwd-event/l2fwd_common.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> >
> > diff --git a/examples/l2fwd-event/l2fwd_common.c b/examples/l2fwd-event/l2fwd_common.c
> > index 0c069ec35..2fae6f52c 100644
> > --- a/examples/l2fwd-event/l2fwd_common.c
> > +++ b/examples/l2fwd-event/l2fwd_common.c
> > @@ -46,6 +46,17 @@ l2fwd_event_init_ports(struct l2fwd_resources *rsrc)
> >                 if (ret != 0)
> >                         rte_panic("Error during getting device (port %u) info: %s\n",
> >                                   port_id, strerror(-ret));
> > +               local_port_conf.rx_adv_conf.rss_conf.rss_hf &=
> > +                       dev_info.flow_type_rss_offloads;
> > +               if (local_port_conf.rx_adv_conf.rss_conf.rss_hf !=
> > +                               port_conf.rx_adv_conf.rss_conf.rss_hf) {
> > +                       printf("Port %u modified RSS hash function based on hardware support,"
> > +                              "requested:%#"PRIx64" configured:%#"PRIx64"",
> > +                               port_id,
> > +                               port_conf.rx_adv_conf.rss_conf.rss_hf,
> > +                               local_port_conf.rx_adv_conf.rss_conf.rss_hf);
> > +               }
> > +
> >                 if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_MBUF_FAST_FREE)
> >                         local_port_conf.txmode.offloads |=
> >                                 DEV_TX_OFFLOAD_MBUF_FAST_FREE;
> > --
> > 2.17.1
> >
  

Patch

diff --git a/examples/l2fwd-event/l2fwd_common.c b/examples/l2fwd-event/l2fwd_common.c
index 0c069ec35..2fae6f52c 100644
--- a/examples/l2fwd-event/l2fwd_common.c
+++ b/examples/l2fwd-event/l2fwd_common.c
@@ -46,6 +46,17 @@  l2fwd_event_init_ports(struct l2fwd_resources *rsrc)
 		if (ret != 0)
 			rte_panic("Error during getting device (port %u) info: %s\n",
 				  port_id, strerror(-ret));
+		local_port_conf.rx_adv_conf.rss_conf.rss_hf &=
+			dev_info.flow_type_rss_offloads;
+		if (local_port_conf.rx_adv_conf.rss_conf.rss_hf !=
+				port_conf.rx_adv_conf.rss_conf.rss_hf) {
+			printf("Port %u modified RSS hash function based on hardware support,"
+			       "requested:%#"PRIx64" configured:%#"PRIx64"",
+				port_id,
+				port_conf.rx_adv_conf.rss_conf.rss_hf,
+				local_port_conf.rx_adv_conf.rss_conf.rss_hf);
+		}
+
 		if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_MBUF_FAST_FREE)
 			local_port_conf.txmode.offloads |=
 				DEV_TX_OFFLOAD_MBUF_FAST_FREE;