link check is done for primary process for the ports which are given in the port mask and not the complete set of ports.
Fixes: d3641ae86313 ("examples: update link status checks") Cc: sta...@dpdk.org Signed-off-by: Akhil Goyal <akhil.go...@nxp.com> --- examples/multi_process/symmetric_mp/main.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c index c310e942b..ed407ab2c 100644 --- a/examples/multi_process/symmetric_mp/main.c +++ b/examples/multi_process/symmetric_mp/main.c @@ -73,6 +73,7 @@ static unsigned num_procs = 0; static uint16_t ports[RTE_MAX_ETHPORTS]; static unsigned num_ports = 0; +static unsigned port_mask = 0; static struct lcore_ports lcore_ports[RTE_MAX_LCORE]; static struct port_stats pstats[RTE_MAX_ETHPORTS]; @@ -115,7 +116,7 @@ smp_parse_args(int argc, char **argv) int opt, ret; char **argvopt; int option_index; - uint16_t i, port_mask = 0; + uint16_t i; char *prgname = argv[0]; static struct option lgopts[] = { {PARAM_NUM_PROCS, 1, 0, 0}, @@ -349,7 +350,7 @@ lcore_main(void *arg __rte_unused) /* Check the link status of all ports in up to 9s, and print them finally */ static void -check_all_ports_link_status(uint16_t port_num, uint32_t port_mask) +check_all_ports_link_status(uint16_t port_num, uint32_t mask) { #define CHECK_INTERVAL 100 /* 100ms */ #define MAX_CHECK_TIME 90 /* 9s (90 * 100ms) in total */ @@ -362,7 +363,7 @@ check_all_ports_link_status(uint16_t port_num, uint32_t port_mask) for (count = 0; count <= MAX_CHECK_TIME; count++) { all_ports_up = 1; for (portid = 0; portid < port_num; portid++) { - if ((port_mask & (1 << portid)) == 0) + if ((mask & (1 << portid)) == 0) continue; memset(&link, 0, sizeof(link)); rte_eth_link_get_nowait(portid, &link); @@ -451,7 +452,7 @@ main(int argc, char **argv) } if (proc_type == RTE_PROC_PRIMARY) - check_all_ports_link_status((uint8_t)num_ports, (~0x0)); + check_all_ports_link_status(rte_eth_dev_count(), port_mask); assign_ports_to_cores(); -- 2.17.1