Commit 0a572326 authored by Joanne Hugé's avatar Joanne Hugé

Update wrapper scripts and improve bash options on client and server

parent 67fbbe68
......@@ -5,7 +5,7 @@
*
* -a Run the real time thread on CPU1
* -b Measure RTT
* -d TX_BUFFER_LEN Set the length of tx buffer
* -d BUF_LEN Set the length of tx buffer
* -e Set a txtime (to be used in an ETF qdisc)
* -f IF Set the network interface to be used
* -i USEC Wake up the real time thread every USEC microseconds (Default: 10ms)
......@@ -184,10 +184,25 @@ static void do_tsn_task(struct thread_param * param, uint64_t next_txtime) {
}
}
static void help(char *argv[]) {
printf("Usage: %s [-abet] [-d BUF_LEN] [-f IF] [-i USEC] [-l N] [-p PRIO] [-r USEC]\n\n", argv[0]);
printf(" -a Run the real time thread on CPU1\n");
printf(" -b Measure RTT\n");
printf(" -d BUF_LEN Set the length of tx buffer\n");
printf(" -e Set a txtime (to be used in an ETF qdisc)\n");
printf(" -f IF Set the network interface to be used\n");
printf(" -i USEC Wake up the real time thread every USEC microseconds (Default: 10ms)\n");
printf(" -l N Wake up the real time thread N times (Default: 0)\n");
printf(" -p PRIO Run the real time thread at priority PRIO\n");
printf(" -r USEC Refresh the non real time main thread every USEC microseconds (Default: 50ms)\n");
printf(" -t Enable timestamps\n");
printf("\n");
}
static void process_options(int argc, char *argv[], thread_param_t *param,
main_param_t *main_param) {
for (;;) {
int c = getopt(argc, argv, "abd:ef:i:l:p:q:r:t");
int c = getopt(argc, argv, "abd:efh:i:l:p:q:r:t");
if (c == -1) break;
......@@ -201,7 +216,7 @@ static void process_options(int argc, char *argv[], thread_param_t *param,
case 'd':
main_param->tx_buffer_len = atoi(optarg);
if( main_param->tx_buffer_len < 1 ) {
fprintf(stderr, "TX_BUFFER_LEN should be greater than 1\n");
fprintf(stderr, "BUF_LEN should be greater than 1\n");
exit(EXIT_FAILURE);
}
break;
......@@ -211,6 +226,10 @@ static void process_options(int argc, char *argv[], thread_param_t *param,
case 'f':
strcpy(param->network_if, optarg);
break;
case 'h':
help(argv);
exit(EXIT_SUCCESS);
break;
case 'i':
param->interval = atoi(optarg) * 1000;
break;
......@@ -230,13 +249,14 @@ static void process_options(int argc, char *argv[], thread_param_t *param,
param->enable_timestamps = 1;
break;
default:
help(argv);
exit(EXIT_FAILURE);
break;
}
}
if (argc != optind + 1) {
printf("Usage: %s server_ip\n", argv[0]);
help(argv);
exit(EXIT_FAILURE);
}
param->ip_address = argv[optind];
......
......@@ -4,7 +4,7 @@
* Bash options:
*
* -a Run the real time thread on CPU1
* -b Server side RTT
* -b CLIENT_IP Server side RTT
* -d TX_BUFFER_LEN Set the length of tx buffer
* -f IF Set the network interface to be used
* -p PRIO Run the real time thread at priority PRIO
......@@ -54,7 +54,7 @@ typedef struct thread_param {
enum TSNTask tsn_task;
int sockfd;
const char *ip_address;
char *ip_address;
char network_if[256];
thread_stat_t stats;
......@@ -160,10 +160,28 @@ int main(int argc, char *argv[]) {
exit(EXIT_SUCCESS);
}
static void help(char *argv[]) {
printf(
"Usage: %s [-a] [-b CLIENT_IP] [-d BUF_LEN] [-f IF] [-p PRIO] [-r "
"USEC]\n\n",
argv[0]);
printf(" -a Run the real time thread on CPU1\n");
printf(" -b CLIENT_IP Server side RTT\n");
printf(" -d BUF_LEN Set the length of tx buffer\n");
printf(" -f IF Set the network interface to be used\n");
printf(
" -p PRIO Run the real time thread at priority "
"PRIO\n");
printf(
" -r USEC Refresh the non real time main thread "
"every USEC microseconds\n");
printf("\n");
}
static void process_options(int argc, char *argv[], thread_param_t *param,
main_param_t *main_param) {
for (;;) {
int c = getopt(argc, argv, "abd:f:p:r:");
int c = getopt(argc, argv, "ab:d:f:hp:r:");
if (c == -1) break;
......@@ -173,17 +191,22 @@ static void process_options(int argc, char *argv[], thread_param_t *param,
break;
case 'b':
param->tsn_task = RTT_TASK;
strcpy(param->ip_address, optarg);
break;
case 'd':
main_param->tx_buffer_len = atoi(optarg);
if (main_param->tx_buffer_len < 1) {
fprintf(stderr, "TX_BUFFER_LEN should be greater than 1\n");
fprintf(stderr, "BUF_LEN should be greater than 1\n");
exit(EXIT_FAILURE);
}
break;
case 'f':
strcpy(param->network_if, optarg);
break;
case 'h':
help(argv);
exit(EXIT_SUCCESS);
break;
case 'p':
param->priority = atoi(optarg);
break;
......@@ -191,15 +214,15 @@ static void process_options(int argc, char *argv[], thread_param_t *param,
main_param->refresh_rate = atoi(optarg);
break;
default:
help(argv);
exit(EXIT_FAILURE);
break;
}
}
if (argc != optind + 1) {
printf("Usage: %s client_ip\n", argv[0]);
if (argc != optind) {
help(argv);
exit(EXIT_FAILURE);
}
param->ip_address = argv[optind];
}
......@@ -7,12 +7,13 @@ usage() {
exit 1;
}
server_options="-a -p 99"
server_options="-a -p 99"
while getopts "bt:" opt; do
case "${opt}" in
b )
server_options+=" -b"
server_options+=" -b 192.168.99.26"
;;
t )
use_tcpdump=1
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment