examples/ipsec-secgw: add app mode worker
[dpdk.git] / examples / l2fwd-event / l2fwd_common.c
index 4ba7885..ab341e5 100644 (file)
@@ -1,3 +1,7 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2019 Marvell International Ltd.
+ */
+
 #include "l2fwd_common.h"
 
 int
@@ -41,7 +45,22 @@ l2fwd_event_init_ports(struct l2fwd_resources *rsrc)
                /* init port */
                printf("Initializing port %u... ", port_id);
                fflush(stdout);
-               rte_eth_dev_info_get(port_id, &dev_info);
+
+               ret = rte_eth_dev_info_get(port_id, &dev_info);
+               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;