From: Deepak S Date: Sat, 13 May 2017 08:16:51 +0000 (+0200) Subject: If port configuration fails. Try again after disabling TX OFFLOAD X-Git-Tag: v1.0.0~13 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F39%2F35539%2F1;p=samplevnf.git If port configuration fails. Try again after disabling TX OFFLOAD Change-Id: I5eaf64a0cac8747ba5ac79bfd036a77cee766e39 Signed-off-by: Deepak S --- diff --git a/VNFs/vACL/init.c b/VNFs/vACL/init.c index e85dc297..6eb39bf3 100644 --- a/VNFs/vACL/init.c +++ b/VNFs/vACL/init.c @@ -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); diff --git a/VNFs/vCGNAPT/init.c b/VNFs/vCGNAPT/init.c index eff9e30e..f4d4588b 100644 --- a/VNFs/vCGNAPT/init.c +++ b/VNFs/vCGNAPT/init.c @@ -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 */ diff --git a/VNFs/vFW/init.c b/VNFs/vFW/init.c index 676cdb3d..54143773 100644 --- a/VNFs/vFW/init.c +++ b/VNFs/vFW/init.c @@ -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); }