[Listener] Add option autocalibration_ip (-D)
This option allows to send the autocalibration requests to an other host than the aggregation server (which remains the default if -D is not used).
This commit is contained in:
parent
d9b7a11d3a
commit
5c7ad599a6
|
@ -57,7 +57,7 @@
|
||||||
|
|
||||||
|
|
||||||
/* Arguments & program configuration */
|
/* Arguments & program configuration */
|
||||||
#define OPTIONS "Aa:cd:f:hH:kl:m:n:p:P:qQr:t:vVw:" // getopt string
|
#define OPTIONS "Aa:cd:D:f:hH:kl:m:n:p:P:qQr:t:vVw:" // getopt string
|
||||||
#define DEFAULT_CONFIG_FILE "/usr/local/etc/owlps/owlps-listener.conf"
|
#define DEFAULT_CONFIG_FILE "/usr/local/etc/owlps/owlps-listener.conf"
|
||||||
enum {MODE_ACTIVE = 'a', MODE_PASSIVE = 'p', MODE_MIXED = 'm'} ;
|
enum {MODE_ACTIVE = 'a', MODE_PASSIVE = 'p', MODE_MIXED = 'm'} ;
|
||||||
#define DEFAULT_AUTOCALIBRATION_HELLO_DELAY 120 // seconds
|
#define DEFAULT_AUTOCALIBRATION_HELLO_DELAY 120 // seconds
|
||||||
|
@ -142,6 +142,10 @@ void print_version(void) ;
|
||||||
(cfg_setbool(cfg, "autocalibration", cfg_true))
|
(cfg_setbool(cfg, "autocalibration", cfg_true))
|
||||||
#define GET_AUTOCALIBRATION() \
|
#define GET_AUTOCALIBRATION() \
|
||||||
(cfg_getbool(cfg, "autocalibration"))
|
(cfg_getbool(cfg, "autocalibration"))
|
||||||
|
#define SET_AUTOCALIBRATION_IP(IP) \
|
||||||
|
(cfg_setstr(cfg, "autocalibration_ip", (IP)))
|
||||||
|
#define GET_AUTOCALIBRATION_IP() \
|
||||||
|
(cfg_getstr(cfg, "autocalibration_ip"))
|
||||||
#define SET_AUTOCALIBRATION_REQUEST_PORT(PORT) \
|
#define SET_AUTOCALIBRATION_REQUEST_PORT(PORT) \
|
||||||
(cfg_setint(cfg, "autocalibration_request_port", (PORT)))
|
(cfg_setint(cfg, "autocalibration_request_port", (PORT)))
|
||||||
#define GET_AUTOCALIBRATION_REQUEST_PORT() \
|
#define GET_AUTOCALIBRATION_REQUEST_PORT() \
|
||||||
|
@ -215,6 +219,10 @@ void print_version(void) ;
|
||||||
(options.autocalibration = TRUE)
|
(options.autocalibration = TRUE)
|
||||||
#define GET_AUTOCALIBRATION() \
|
#define GET_AUTOCALIBRATION() \
|
||||||
(options.autocalibration)
|
(options.autocalibration)
|
||||||
|
#define SET_AUTOCALIBRATION_IP(IP) \
|
||||||
|
(strncpy(options.autocalibration_ip, (IP), 16))
|
||||||
|
#define GET_AUTOCALIBRATION_IP() \
|
||||||
|
(options.autocalibration_ip)
|
||||||
#define SET_AUTOCALIBRATION_REQUEST_PORT(PORT) \
|
#define SET_AUTOCALIBRATION_REQUEST_PORT(PORT) \
|
||||||
(options.autocalibration_request_port = (PORT))
|
(options.autocalibration_request_port = (PORT))
|
||||||
#define GET_AUTOCALIBRATION_REQUEST_PORT() \
|
#define GET_AUTOCALIBRATION_REQUEST_PORT() \
|
||||||
|
|
|
@ -35,6 +35,7 @@ struct {
|
||||||
char wifi_iface[IFNAMSIZ + 1] ;
|
char wifi_iface[IFNAMSIZ + 1] ;
|
||||||
#ifdef USE_PTHREAD
|
#ifdef USE_PTHREAD
|
||||||
BOOL autocalibration ;
|
BOOL autocalibration ;
|
||||||
|
char autocalibration_ip[16] ;
|
||||||
long autocalibration_request_port ;
|
long autocalibration_request_port ;
|
||||||
long autocalibration_port ;
|
long autocalibration_port ;
|
||||||
long autocalibration_hello_delay ;
|
long autocalibration_hello_delay ;
|
||||||
|
@ -55,6 +56,7 @@ struct {
|
||||||
"",
|
"",
|
||||||
#ifdef USE_PTHREAD
|
#ifdef USE_PTHREAD
|
||||||
FALSE,
|
FALSE,
|
||||||
|
"",
|
||||||
DEFAULT_AUTOCALIBRATION_REQUEST_PORT,
|
DEFAULT_AUTOCALIBRATION_REQUEST_PORT,
|
||||||
DEFAULT_AUTOCALIBRATION_PORT,
|
DEFAULT_AUTOCALIBRATION_PORT,
|
||||||
DEFAULT_AUTOCALIBRATION_HELLO_DELAY,
|
DEFAULT_AUTOCALIBRATION_HELLO_DELAY,
|
||||||
|
@ -166,6 +168,9 @@ void parse_config_file(int argc, char **argv)
|
||||||
#ifdef USE_PTHREAD
|
#ifdef USE_PTHREAD
|
||||||
// Autocalibration activated?
|
// Autocalibration activated?
|
||||||
CFG_BOOL("autocalibration", cfg_false, CFGF_NONE),
|
CFG_BOOL("autocalibration", cfg_false, CFGF_NONE),
|
||||||
|
// Destination IP address of the autocalibration requests (default:
|
||||||
|
// none, but will be set to aggregation_ip in the config check):
|
||||||
|
CFG_STR("autocalibration_ip", "", CFGF_NONE),
|
||||||
// Port on which autocalibration requests are sent:
|
// Port on which autocalibration requests are sent:
|
||||||
CFG_INT("autocalibration_request_port",
|
CFG_INT("autocalibration_request_port",
|
||||||
DEFAULT_AUTOCALIBRATION_REQUEST_PORT, CFGF_NONE),
|
DEFAULT_AUTOCALIBRATION_REQUEST_PORT, CFGF_NONE),
|
||||||
|
@ -282,6 +287,9 @@ void parse_command_line(int argc, char **argv)
|
||||||
case 'd' :
|
case 'd' :
|
||||||
SET_AGGREGATION_IP(optarg) ;
|
SET_AGGREGATION_IP(optarg) ;
|
||||||
break ;
|
break ;
|
||||||
|
case 'D' :
|
||||||
|
SET_AUTOCALIBRATION_IP(optarg) ;
|
||||||
|
break ;
|
||||||
case 'f' : // Config file
|
case 'f' : // Config file
|
||||||
break ; // (already parsed)
|
break ; // (already parsed)
|
||||||
case 'h' : // Usage
|
case 'h' : // Usage
|
||||||
|
@ -382,6 +390,13 @@ void check_configuration()
|
||||||
SET_WIFI_IFACE(GET_RTAP_IFACE()) ;
|
SET_WIFI_IFACE(GET_RTAP_IFACE()) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GET_AUTOCALIBRATION() && GET_AUTOCALIBRATION_IP()[0] == '\0')
|
||||||
|
{
|
||||||
|
if (GET_VERBOSE())
|
||||||
|
fprintf(stderr, "No autocalibration IP specified, we will use"
|
||||||
|
" the aggregation IP as the destination of"
|
||||||
|
" autocalibration requests.\n") ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -403,6 +418,7 @@ void print_configuration()
|
||||||
#ifdef USE_PTHREAD
|
#ifdef USE_PTHREAD
|
||||||
"keep_monitor = %s\n"
|
"keep_monitor = %s\n"
|
||||||
"autocalibration = %s\n"
|
"autocalibration = %s\n"
|
||||||
|
"autocalibration_ip = %s\n"
|
||||||
"autocalibration_request_port = %ld\n"
|
"autocalibration_request_port = %ld\n"
|
||||||
"autocalibration_port = %ld\n"
|
"autocalibration_port = %ld\n"
|
||||||
"autocalibration_hello_delay = %ld\n"
|
"autocalibration_hello_delay = %ld\n"
|
||||||
|
@ -413,7 +429,7 @@ void print_configuration()
|
||||||
"display_captured = %s\n"
|
"display_captured = %s\n"
|
||||||
,
|
,
|
||||||
GET_MODE(),
|
GET_MODE(),
|
||||||
GET_AGGREGATION_IP(),
|
GET_AGGREGATION_IP(),
|
||||||
GET_AGGREGATION_PORT(),
|
GET_AGGREGATION_PORT(),
|
||||||
GET_LISTENING_PORT(),
|
GET_LISTENING_PORT(),
|
||||||
GET_RTAP_IFACE(),
|
GET_RTAP_IFACE(),
|
||||||
|
@ -421,6 +437,7 @@ void print_configuration()
|
||||||
#ifdef USE_PTHREAD
|
#ifdef USE_PTHREAD
|
||||||
BOOL_TO_STRING(GET_KEEP_MONITOR()),
|
BOOL_TO_STRING(GET_KEEP_MONITOR()),
|
||||||
BOOL_TO_STRING(GET_AUTOCALIBRATION()),
|
BOOL_TO_STRING(GET_AUTOCALIBRATION()),
|
||||||
|
GET_AUTOCALIBRATION_IP(),
|
||||||
GET_AUTOCALIBRATION_REQUEST_PORT(),
|
GET_AUTOCALIBRATION_REQUEST_PORT(),
|
||||||
GET_AUTOCALIBRATION_PORT(),
|
GET_AUTOCALIBRATION_PORT(),
|
||||||
GET_AUTOCALIBRATION_HELLO_DELAY(),
|
GET_AUTOCALIBRATION_HELLO_DELAY(),
|
||||||
|
@ -934,7 +951,7 @@ void autocalibrate()
|
||||||
|
|
||||||
// Socket to send autocalibration positioning requests
|
// Socket to send autocalibration positioning requests
|
||||||
autocalibration_send_sockfd =
|
autocalibration_send_sockfd =
|
||||||
owlps_create_socket_to_aggregator(GET_AGGREGATION_IP(),
|
owlps_create_socket_to_aggregator(GET_AUTOCALIBRATION_IP(),
|
||||||
GET_AUTOCALIBRATION_REQUEST_PORT(),
|
GET_AUTOCALIBRATION_REQUEST_PORT(),
|
||||||
&autocalibration_send_server,
|
&autocalibration_send_server,
|
||||||
GET_WIFI_IFACE()) ;
|
GET_WIFI_IFACE()) ;
|
||||||
|
@ -1031,6 +1048,7 @@ void print_usage()
|
||||||
"\t%s [-f config_file] [-m mode] [-d aggregation_ip]"
|
"\t%s [-f config_file] [-m mode] [-d aggregation_ip]"
|
||||||
" [-l listening_port] [-p aggregation_port] -r rtap_iface"
|
" [-l listening_port] [-p aggregation_port] -r rtap_iface"
|
||||||
" [-w wifi_iface] [-k] [-v | -q] [-c | -Q] [-A]"
|
" [-w wifi_iface] [-k] [-v | -q] [-c | -Q] [-A]"
|
||||||
|
" [-D autocalibration_ip]"
|
||||||
" [-P autocalibration_request_port ] [-a autocalibration_port]"
|
" [-P autocalibration_request_port ] [-a autocalibration_port]"
|
||||||
" [-H autocalibration_hello_delay] [-t autocalibration_delay]"
|
" [-H autocalibration_hello_delay] [-t autocalibration_delay]"
|
||||||
" [-n autocalibration_nb_packets]\n"
|
" [-n autocalibration_nb_packets]\n"
|
||||||
|
@ -1061,6 +1079,8 @@ void print_usage()
|
||||||
"(These options are available only if the program was compiled"
|
"(These options are available only if the program was compiled"
|
||||||
" with support of POSIX threads.)\n"
|
" with support of POSIX threads.)\n"
|
||||||
"\t-A\t\t\tEnable autocalibration (default: disabled).\n"
|
"\t-A\t\t\tEnable autocalibration (default: disabled).\n"
|
||||||
|
"\t-D autocalib_ip\t\tDestination IP of the autocalibration"
|
||||||
|
"requests (default: aggregation_ip).\n"
|
||||||
"\t-P autocalib_req_port\tPort on which autocalibration positioning"
|
"\t-P autocalib_req_port\tPort on which autocalibration positioning"
|
||||||
" requests are sent (default: %d).\n"
|
" requests are sent (default: %d).\n"
|
||||||
"\t-a autocalib_port\tPort on which autocalibration data (hello & orders)"
|
"\t-a autocalib_port\tPort on which autocalibration data (hello & orders)"
|
||||||
|
|
Loading…
Reference in New Issue