@@ -806,7 +806,14 @@ static int execute_upload(const struct shell *sh,
806
806
param -> packet_size );
807
807
shell_fprintf (sh , SHELL_NORMAL , "Rate:\t\t%u kbps\n" ,
808
808
param -> rate_kbps );
809
- shell_fprintf (sh , SHELL_NORMAL , "Starting...\n" );
809
+
810
+ if (IS_ENABLED (CONFIG_ZPERF_SESSION_PER_THREAD ) &&
811
+ COND_CODE_1 (CONFIG_ZPERF_SESSION_PER_THREAD ,
812
+ (param -> options .wait_for_start ), (0 ))) {
813
+ shell_fprintf (sh , SHELL_NORMAL , "Waiting \"zperf jobs start\" command.\n" );
814
+ } else {
815
+ shell_fprintf (sh , SHELL_NORMAL , "Starting...\n" );
816
+ }
810
817
811
818
if (IS_ENABLED (CONFIG_NET_IPV6 ) && param -> peer_addr .sa_family == AF_INET6 ) {
812
819
struct sockaddr_in6 * ipv6 =
@@ -1000,6 +1007,11 @@ static int shell_cmd_upload(const struct shell *sh, size_t argc,
1000
1007
opt_cnt += 2 ;
1001
1008
async = true;
1002
1009
break ;
1010
+
1011
+ case 'w' :
1012
+ param .options .wait_for_start = true;
1013
+ opt_cnt += 1 ;
1014
+ break ;
1003
1015
#endif /* CONFIG_ZPERF_SESSION_PER_THREAD */
1004
1016
1005
1017
#ifdef CONFIG_NET_CONTEXT_PRIORITY
@@ -1247,6 +1259,11 @@ static int shell_cmd_upload2(const struct shell *sh, size_t argc,
1247
1259
opt_cnt += 2 ;
1248
1260
async = true;
1249
1261
break ;
1262
+
1263
+ case 'w' :
1264
+ param .options .wait_for_start = true;
1265
+ opt_cnt += 1 ;
1266
+ break ;
1250
1267
#endif /* CONFIG_ZPERF_SESSION_PER_THREAD */
1251
1268
1252
1269
#ifdef CONFIG_NET_CONTEXT_PRIORITY
@@ -1784,6 +1801,22 @@ static int cmd_jobs_clear(const struct shell *sh, size_t argc, char *argv[])
1784
1801
return 0 ;
1785
1802
}
1786
1803
1804
+ static int cmd_jobs_start (const struct shell * sh , size_t argc , char * argv [])
1805
+ {
1806
+ #ifdef CONFIG_ZPERF_SESSION_PER_THREAD
1807
+ ARG_UNUSED (argc );
1808
+ ARG_UNUSED (argv );
1809
+ ARG_UNUSED (sh );
1810
+
1811
+ start_jobs ();
1812
+ #else
1813
+ shell_fprintf (sh , SHELL_INFO ,
1814
+ "Zephyr has not been built with %s support.\n" ,
1815
+ "CONFIG_ZPERF_SESSION_PER_THREAD" );
1816
+ #endif
1817
+ return 0 ;
1818
+ }
1819
+
1787
1820
void zperf_shell_init (void )
1788
1821
{
1789
1822
int ret ;
@@ -1862,6 +1895,7 @@ SHELL_STATIC_SUBCMD_SET_CREATE(zperf_cmd_tcp,
1862
1895
"-n: Disable Nagle's algorithm\n"
1863
1896
#ifdef CONFIG_ZPERF_SESSION_PER_THREAD
1864
1897
"-t: Specify custom thread priority\n"
1898
+ "-w: Wait for start signal before starting the tests\n"
1865
1899
#endif /* CONFIG_ZPERF_SESSION_PER_THREAD */
1866
1900
#ifdef CONFIG_NET_CONTEXT_PRIORITY
1867
1901
"- p : Specify custom packet priority \n "
@@ -1885,6 +1919,7 @@ SHELL_STATIC_SUBCMD_SET_CREATE(zperf_cmd_tcp,
1885
1919
"-n: Disable Nagle's algorithm\n"
1886
1920
#ifdef CONFIG_ZPERF_SESSION_PER_THREAD
1887
1921
"-t: Specify custom thread priority\n"
1922
+ "-w: Wait for start signal before starting the tests\n"
1888
1923
#endif /* CONFIG_ZPERF_SESSION_PER_THREAD */
1889
1924
#ifdef CONFIG_NET_CONTEXT_PRIORITY
1890
1925
"- p : Specify custom packet priority \n "
@@ -1937,6 +1972,7 @@ SHELL_STATIC_SUBCMD_SET_CREATE(zperf_cmd_udp,
1937
1972
"-a: Asynchronous call (shell will not block for the upload)\n"
1938
1973
#ifdef CONFIG_ZPERF_SESSION_PER_THREAD
1939
1974
"-t: Specify custom thread priority\n"
1975
+ "-w: Wait for start signal before starting the tests\n"
1940
1976
#endif /* CONFIG_ZPERF_SESSION_PER_THREAD */
1941
1977
#ifdef CONFIG_NET_CONTEXT_PRIORITY
1942
1978
"- p : Specify custom packet priority \n "
@@ -1961,6 +1997,7 @@ SHELL_STATIC_SUBCMD_SET_CREATE(zperf_cmd_udp,
1961
1997
"-a: Asynchronous call (shell will not block for the upload)\n"
1962
1998
#ifdef CONFIG_ZPERF_SESSION_PER_THREAD
1963
1999
"-t: Specify custom thread priority\n"
2000
+ "-w: Wait for start signal before starting the tests\n"
1964
2001
#endif /* CONFIG_ZPERF_SESSION_PER_THREAD */
1965
2002
#ifdef CONFIG_NET_CONTEXT_PRIORITY
1966
2003
"- p : Specify custom packet priority \n "
@@ -1994,6 +2031,7 @@ SHELL_STATIC_SUBCMD_SET_CREATE(zperf_cmd_udp,
1994
2031
SHELL_STATIC_SUBCMD_SET_CREATE (zperf_cmd_jobs ,
1995
2032
SHELL_CMD (all , NULL , "Show all statistics" , cmd_jobs_all ),
1996
2033
SHELL_CMD (clear , NULL , "Clear all statistics" , cmd_jobs_clear ),
2034
+ SHELL_CMD (start , NULL , "Start waiting jobs" , cmd_jobs_start ),
1997
2035
);
1998
2036
1999
2037
SHELL_STATIC_SUBCMD_SET_CREATE (zperf_commands ,
0 commit comments