diff options
| -rw-r--r-- | service/src/core.c | 8 | ||||
| -rw-r--r-- | service/src/phydev.c | 16 |
2 files changed, 13 insertions, 11 deletions
diff --git a/service/src/core.c b/service/src/core.c index 35906fe..55e202d 100644 --- a/service/src/core.c +++ b/service/src/core.c @@ -356,7 +356,7 @@ static void sc_eal_init(struct sc_main * sc, const char * cmd) char * eal_argv[MR_SERVICE_MAX_EAL_ARGC]; unsigned int eal_argc = 0; int ret = 0; - struct phydev_whitelist * phydev_wh_iter; + struct phydev_whitelist * phydev_wh_iter = NULL; WRITE_ARG(cmd); @@ -369,9 +369,9 @@ static void sc_eal_init(struct sc_main * sc, const char * cmd) unsigned int main_core = 0; MESA_load_profile_uint_def(sc->local_cfgfile, "service", "main_core", &main_core, 0); - nr_io_cores = MESA_load_profile_uint_range(sc->local_cfgfile, + nr_io_cores = MESA_load_profile_uint_range(sc->local_cfgfile, "service", "iocore", RTE_DIM(io_cores), io_cores); - nr_smartoffload_cores = MESA_load_profile_uint_range(sc->local_cfgfile, + nr_smartoffload_cores = MESA_load_profile_uint_range(sc->local_cfgfile, "service", "offload_core", RTE_DIM(smartoffload_cores), smartoffload_cores); if (nr_io_cores < 0) @@ -1141,7 +1141,7 @@ int main(int argc, char * argv[]) { if (!CPU_ISSET(lcore_id, &cpu_set_service)) continue; - + ret = rte_service_lcore_start(lcore_id); fprintf(stderr, "---- debug --- : start lcore %d\n", lcore_id); diff --git a/service/src/phydev.c b/service/src/phydev.c index fe4fd04..92edbed 100644 --- a/service/src/phydev.c +++ b/service/src/phydev.c @@ -462,14 +462,16 @@ static int phydev_setup(struct sc_main * sc, struct phydev_main * ctx, struct ph Check this NIC can support hairpin or not. The SmartOffload can not use when hairpin mode is unavailable. */ - - struct rte_eth_hairpin_cap hairpin_cap = {}; - retval = rte_eth_dev_hairpin_capability_get(dev->port_id, &hairpin_cap); - if (unlikely(retval != 0)) + if (dev->en_smartoffload ) { - MR_ERROR("device %s hairpin mode is unavliable, SmartOffload can not be enabled: retval = %d, %s", dev->symbol, - retval, rte_strerror(retval)); - return RT_ERR; + struct rte_eth_hairpin_cap hairpin_cap = {}; + retval = rte_eth_dev_hairpin_capability_get(dev->port_id, &hairpin_cap); + if (unlikely(retval != 0)) + { + MR_ERROR("device %s hairpin mode is unavliable, SmartOffload can not be enabled: retval = %d, %s", dev->symbol, + retval, rte_strerror(retval)); + return RT_ERR; + } } /* |
