If port configuration fails. Try again after disabling TX OFFLOAD 39/35539/1
authorDeepak S <deepak.s@linux.intel.com>
Sat, 13 May 2017 08:16:51 +0000 (10:16 +0200)
committerDeepak S <deepak.s@linux.intel.com>
Tue, 30 May 2017 14:50:48 +0000 (14:50 +0000)
Change-Id: I5eaf64a0cac8747ba5ac79bfd036a77cee766e39
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
VNFs/vACL/init.c
VNFs/vCGNAPT/init.c
VNFs/vFW/init.c

index e85dc29..6eb39bf 100644 (file)
@@ -733,11 +733,15 @@ app_init_link(struct app_params *app)
                        port_config[i].tx_conf.txq_flags &=
                                ~(ETH_TXQ_FLAGS_NOXSUMTCP|ETH_TXQ_FLAGS_NOXSUMUDP);
                 }
-
-               if (ifm_port_setup (p_link->pmd_id, &port_config[i])) {
-                       rte_panic ("Port Setup Failed: %s - %"PRIu32"\n",
-                                  p_link->name, p_link->pmd_id);
-               }
+               if (ifm_port_setup(p_link->pmd_id, &port_config[i])) {
+                        printf("Failed to configure port %s - %"PRIu32
+                               ".\n", p_link->name, p_link->pmd_id);
+                        printf("Try again with offload disabled....\n");
+                        port_config[i].tx_conf.txq_flags |= ETH_TXQ_FLAGS_NOOFFLOADS;
+                        if (ifm_port_setup (p_link->pmd_id, &port_config[i]))
+                           rte_panic("Port Setup Failed: %s - %" PRIu32
+                                       "\n", p_link->name, p_link->pmd_id);
+                }
 
                /* LINK UP */
                app_link_up_internal(app, p_link);
index eff9e30..f4d4588 100644 (file)
@@ -1025,8 +1025,14 @@ app_init_link(struct app_params *app)
                                 ~(ETH_TXQ_FLAGS_NOXSUMTCP|ETH_TXQ_FLAGS_NOXSUMUDP);
                 }
 
-                if (ifm_port_setup (p_link->pmd_id, &port_config[i]))
-                        rte_panic ("Port Setup Failed: %s - %"PRIu32"\n", p_link->name, p_link->pmd_id);
+                if (ifm_port_setup (p_link->pmd_id, &port_config[i])) {
+                        printf("Failed to configure port %s - %"PRIu32
+                               ".\n", p_link->name, p_link->pmd_id);
+                        printf("Try again with offload disabled....\n");
+                        port_config[i].tx_conf.txq_flags |= ETH_TXQ_FLAGS_NOOFFLOADS;
+                        if (ifm_port_setup (p_link->pmd_id, &port_config[i]))
+                             rte_panic ("Port Setup Failed: %s - %"PRIu32"\n", p_link->name, p_link->pmd_id);
+                }
 
 #if 0
                /* LINK */
index 676cdb3..5414377 100644 (file)
@@ -769,9 +769,15 @@ app_init_link(struct app_params *app)
                                                ETH_TXQ_FLAGS_NOXSUMUDP);
                }
 
-               if (ifm_port_setup(p_link->pmd_id, &port_config[i]))
-                       rte_panic("Port Setup Failed: %s - %" PRIu32
+               if (ifm_port_setup(p_link->pmd_id, &port_config[i])) {
+                        printf("Failed to configure port %s - %"PRIu32
+                               ".\n", p_link->name, p_link->pmd_id);
+                        printf("Try again with offload disabled....\n");
+                        port_config[i].tx_conf.txq_flags |= ETH_TXQ_FLAGS_NOOFFLOADS;
+                        if (ifm_port_setup (p_link->pmd_id, &port_config[i]))
+                           rte_panic("Port Setup Failed: %s - %" PRIu32
                                        "\n", p_link->name, p_link->pmd_id);
+                }
 
                app_link_up_internal(app, p_link);
        }