[v2] examples/l2fwd-event: fix ethdev RSS setup
Checks
Commit Message
From: Pavan Nikhilesh <pbhagavatula@marvell.com>
Setup RSS configuration based on underlying device capabilities.
Fixes: 4ff457986f76 ("examples/l2fwd-event: add default poll mode routines")
Cc: stable@dpdk.org
Signed-off-by: Satananda Burla <sburla@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
v2 Changes:
- change the patch type to fix.
examples/l2fwd-event/l2fwd_common.c | 11 +++++++++++
1 file changed, 11 insertions(+)
--
2.17.1
Comments
On Tue, Jan 14, 2020 at 11:22 AM <pbhagavatula@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Setup RSS configuration based on underlying device capabilities.
>
> Fixes: 4ff457986f76 ("examples/l2fwd-event: add default poll mode routines")
> Cc: stable@dpdk.org
>
> Signed-off-by: Satananda Burla <sburla@marvell.com>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Applied to dpdk-next-eventdev/master. Thanks.
> ---
> v2 Changes:
> - change the patch type to fix.
>
> 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
>
@@ -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;