X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-pmd%2Ftestpmd.c;h=4bcece6727bfd0d02b12590140da8c9ffb7f9e7f;hb=41b05095c4d166224c37af6a6cf3b056fed99f9b;hp=47695333333b7ea282b88f64599d107b01e66804;hpb=d1d1e664c6c4bab692b47d714c4063d34b396201;p=dpdk.git diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 4769533333..4bcece6727 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -1202,7 +1202,8 @@ all_ports_started(void) FOREACH_PORT(pi, ports) { port = &ports[pi]; /* Check if there is a port which is not started */ - if (port->port_status != RTE_PORT_STARTED) + if ((port->port_status != RTE_PORT_STARTED) && + (port->slave_flag == 0)) return 0; } @@ -1218,7 +1219,8 @@ all_ports_stopped(void) FOREACH_PORT(pi, ports) { port = &ports[pi]; - if (port->port_status != RTE_PORT_STOPPED) + if ((port->port_status != RTE_PORT_STOPPED) && + (port->slave_flag == 0)) return 0; } @@ -1808,6 +1810,22 @@ init_port_config(void) } } +void set_port_slave_flag(portid_t slave_pid) +{ + struct rte_port *port; + + port = &ports[slave_pid]; + port->slave_flag = 1; +} + +void clear_port_slave_flag(portid_t slave_pid) +{ + struct rte_port *port; + + port = &ports[slave_pid]; + port->slave_flag = 0; +} + const uint16_t vlan_tags[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,