[dhcp-agent-commits] dhcp-agent/src dhcp-client-conf.c,1.25,1.26 dhcp-client-conf.h,1.15,1.16 dhcp-c
Status: Alpha
Brought to you by:
actmodern
From: <act...@us...> - 2003-06-08 22:14:54
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src In directory sc8-pr-cvs1:/tmp/cvs-serv22567/src Modified Files: dhcp-client-conf.c dhcp-client-conf.h dhcp-client-defaults.h Log Message: configuration options to fine tune more protocol settings Index: dhcp-client-conf.c =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-client-conf.c,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** dhcp-client-conf.c 15 May 2003 06:53:47 -0000 1.25 --- dhcp-client-conf.c 8 Jun 2003 22:14:51 -0000 1.26 *************** *** 54,58 **** * parsing in the future. */ - /* string arrays for commands. */ --- 54,57 ---- *************** *** 60,65 **** static const char *var_strings[] = { "hostname", ! "dhcp-discovery-retries", "icmp-retries", "default-interface-mtu", "default-subnet-mask", --- 59,78 ---- static const char *var_strings[] = { "hostname", ! ! /* protocol related. */ ! ! /* timeout thresholds. */ ! "dhcp-discover-timeout-threshold", ! "dhcp-request-timeout-threshold", ! "arp-timeout-threshold", ! "icmp-echo-timeout-threshold", ! "icmp-subnet-timeout-threshold", ! ! /* retries. */ ! "dhcp-discover-retries", ! "dhcp-request-retries", "icmp-retries", + "arp-retries", + "default-interface-mtu", "default-subnet-mask", *************** *** 81,86 **** static const arg_symbol_t var_symbols[] = { CLIENT_VAR_HOSTNAME, ! CLIENT_VAR_DHCP_DISCOVERY_RETRIES, CLIENT_VAR_ICMP_RETRIES, CLIENT_VAR_INTERFACE_MTU, CLIENT_VAR_SUBNET_MASK, --- 94,106 ---- static const arg_symbol_t var_symbols[] = { CLIENT_VAR_HOSTNAME, ! CLIENT_VAR_DHCP_DISCOVER_TIMEOUT, ! CLIENT_VAR_DHCP_REQUEST_TIMEOUT, ! CLIENT_VAR_ARP_TIMEOUT, ! CLIENT_VAR_ICMP_ECHO_TIMEOUT, ! CLIENT_VAR_ICMP_SUBNET_TIMEOUT, ! CLIENT_VAR_DHCP_DISCOVER_RETRIES, ! CLIENT_VAR_DHCP_REQUEST_RETRIES, CLIENT_VAR_ICMP_RETRIES, + CLIENT_VAR_ARP_RETRIES, CLIENT_VAR_INTERFACE_MTU, CLIENT_VAR_SUBNET_MASK, *************** *** 466,470 **** * to prevent negative values. */ ! case CLIENT_VAR_DHCP_DISCOVERY_RETRIES: case CLIENT_VAR_ICMP_RETRIES: --- 486,497 ---- * to prevent negative values. */ ! case CLIENT_VAR_DHCP_DISCOVER_TIMEOUT: ! case CLIENT_VAR_DHCP_REQUEST_TIMEOUT: ! case CLIENT_VAR_ICMP_ECHO_TIMEOUT: ! case CLIENT_VAR_ICMP_SUBNET_TIMEOUT: ! case CLIENT_VAR_ARP_TIMEOUT: ! case CLIENT_VAR_DHCP_DISCOVER_RETRIES: ! case CLIENT_VAR_DHCP_REQUEST_RETRIES: ! case CLIENT_VAR_ARP_RETRIES: case CLIENT_VAR_ICMP_RETRIES: *************** *** 707,711 **** int client_conf_get_dhcp_discovery_retries(client_conf_t *cc) { ! return get_conf_int_var(cc->params, CLIENT_VAR_DHCP_DISCOVERY_RETRIES, CLIENT_DEFAULT_DHCP_DISCOVERY_RETRIES); } --- 734,744 ---- int client_conf_get_dhcp_discovery_retries(client_conf_t *cc) { ! return get_conf_int_var(cc->params, CLIENT_VAR_DHCP_DISCOVER_RETRIES, CLIENT_DEFAULT_DHCP_DISCOVER_RETRIES); ! } ! ! /* get number of retries for dhcp: this is always from the top level. */ ! int client_conf_get_dhcp_request_retries(client_conf_t *cc) ! { ! return get_conf_int_var(cc->params, CLIENT_VAR_DHCP_REQUEST_RETRIES, CLIENT_DEFAULT_DHCP_REQUEST_RETRIES); } *************** *** 717,721 **** } ! /* get required options */ uint8_t *client_conf_get_opt_configure_bit_array(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr) { --- 750,754 ---- } ! /* get configure options */ uint8_t *client_conf_get_opt_configure_bit_array(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr) { *************** *** 729,732 **** --- 762,793 ---- client_conf_params_t *params = find_best_params_for(cc, ip_addr, eth_addr); return get_conf_int_var(params, CLIENT_VAR_ICMP_RETRIES, CLIENT_DEFAULT_ICMP_RETRIES); + } + + /* get number of times to attempt arp operations where applicable */ + int client_conf_get_arp_retries(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr) + { + client_conf_params_t *params = find_best_params_for(cc, ip_addr, eth_addr); + return get_conf_int_var(params, CLIENT_VAR_ARP_RETRIES, CLIENT_DEFAULT_ARP_RETRIES); + } + + /* get timeout threshold for arp operations. */ + int client_conf_get_arp_timeout(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr) + { + client_conf_params_t *params = find_best_params_for(cc, ip_addr, eth_addr); + return get_conf_int_var(params, CLIENT_VAR_ARP_TIMEOUT, CLIENT_DEFAULT_ARP_TIMEOUT); + } + + /* get timeout threshold for icmp echo operations. */ + int client_conf_get_icmp_echo_timeout(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr) + { + client_conf_params_t *params = find_best_params_for(cc, ip_addr, eth_addr); + return get_conf_int_var(params, CLIENT_VAR_ICMP_ECHO_TIMEOUT, CLIENT_DEFAULT_ICMP_ECHO_TIMEOUT); + } + + /* get timeout threshold for icmp subnet operations. */ + int client_conf_get_icmp_subnet_timeout(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr) + { + client_conf_params_t *params = find_best_params_for(cc, ip_addr, eth_addr); + return get_conf_int_var(params, CLIENT_VAR_ICMP_SUBNET_TIMEOUT, CLIENT_DEFAULT_ICMP_SUBNET_TIMEOUT); } Index: dhcp-client-conf.h =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-client-conf.h,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** dhcp-client-conf.h 15 May 2003 06:53:47 -0000 1.15 --- dhcp-client-conf.h 8 Jun 2003 22:14:51 -0000 1.16 *************** *** 77,83 **** DIRECTIVE_CONFIGURE, DIRECTIVE_APPEND, DIRECTIVE_PREPEND, DIRECTIVE_OVERRIDE }; ! /* symbols for variable substitution. */ ! enum var_symbols { CLIENT_VAR_HOSTNAME = 0, CLIENT_VAR_DHCP_DISCOVERY_RETRIES, CLIENT_VAR_ICMP_RETRIES, ! CLIENT_VAR_INTERFACE_MTU, CLIENT_VAR_DO_MEASURE_ROUTER_LATENCY_ICMP, CLIENT_VAR_REQUEST_OPTIONS, CLIENT_VAR_REQUIRE_OPTIONS, CLIENT_VAR_CONFIGURE_OPTIONS, CLIENT_VAR_APPEND_OPTIONS, CLIENT_VAR_PREPEND_OPTIONS, CLIENT_VAR_OVERRIDE_OPTIONS, CLIENT_VAR_SUBNET_MASK }; --- 77,84 ---- DIRECTIVE_CONFIGURE, DIRECTIVE_APPEND, DIRECTIVE_PREPEND, DIRECTIVE_OVERRIDE }; ! /* symbols for configuration variables. */ ! enum var_symbols { CLIENT_VAR_HOSTNAME = 0, CLIENT_VAR_DHCP_DISCOVER_TIMEOUT, CLIENT_VAR_DHCP_REQUEST_TIMEOUT, CLIENT_VAR_ICMP_ECHO_TIMEOUT, ! CLIENT_VAR_ICMP_SUBNET_TIMEOUT, CLIENT_VAR_ARP_TIMEOUT, CLIENT_VAR_DHCP_DISCOVER_RETRIES, CLIENT_VAR_DHCP_REQUEST_RETRIES, ! CLIENT_VAR_ICMP_RETRIES, CLIENT_VAR_ARP_RETRIES, CLIENT_VAR_INTERFACE_MTU, CLIENT_VAR_DO_MEASURE_ROUTER_LATENCY_ICMP, CLIENT_VAR_REQUEST_OPTIONS, CLIENT_VAR_REQUIRE_OPTIONS, CLIENT_VAR_CONFIGURE_OPTIONS, CLIENT_VAR_APPEND_OPTIONS, CLIENT_VAR_PREPEND_OPTIONS, CLIENT_VAR_OVERRIDE_OPTIONS, CLIENT_VAR_SUBNET_MASK }; *************** *** 96,106 **** extern uint8_t *client_conf_get_request_opt_bit_array(client_conf_t *cc); extern int client_conf_get_dhcp_discovery_retries(client_conf_t *cc); ! extern const char *client_conf_get_hostname(client_conf_t *cc); ! extern int client_conf_get_default_mtu(client_conf_t *cc); ! extern uint8_t *client_conf_get_opt_required_bit_array(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); extern uint8_t *client_conf_get_opt_configure_bit_array(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); extern int client_conf_get_icmp_retries(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); extern uint8_t client_conf_get_do_measure_router_latency_icmp(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); extern const char *client_conf_get_default_subnet_mask(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); --- 97,111 ---- extern uint8_t *client_conf_get_request_opt_bit_array(client_conf_t *cc); extern int client_conf_get_dhcp_discovery_retries(client_conf_t *cc); ! extern int client_conf_get_dhcp_request_retries(client_conf_t *cc); extern uint8_t *client_conf_get_opt_required_bit_array(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); extern uint8_t *client_conf_get_opt_configure_bit_array(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); extern int client_conf_get_icmp_retries(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); + extern int client_conf_get_arp_retries(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); + extern int client_conf_get_icmp_echo_timeout(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); + extern int client_conf_get_icmp_subnet_timeout(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); + extern int client_conf_get_arp_timeout(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); + extern const char *client_conf_get_hostname(client_conf_t *cc); extern uint8_t client_conf_get_do_measure_router_latency_icmp(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); + extern int client_conf_get_default_mtu(client_conf_t *cc); extern const char *client_conf_get_default_subnet_mask(client_conf_t *cc, ip_addr_t ip_addr, eth_addr_t eth_addr); Index: dhcp-client-defaults.h =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-client-defaults.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** dhcp-client-defaults.h 15 May 2003 06:53:48 -0000 1.3 --- dhcp-client-defaults.h 8 Jun 2003 22:14:51 -0000 1.4 *************** *** 26,29 **** --- 26,65 ---- #define DHCP_CLIENT_DEFAULTS_H + /* max timeout threshold for DHCP discover messages. */ + + #define CLIENT_DEFAULT_DHCP_DISCOVER_TIMEOUT RECOMMENDED_MAX_SECS_WAIT + + /* max timeout threshold for DHCP request messages. */ + + #define CLIENT_DEFAULT_DHCP_REQUEST_TIMEOUT RECOMMENDED_MAX_SECS_WAIT + + /* max timeout threshold for ARP messages. */ + + #define CLIENT_DEFAULT_ARP_TIMEOUT RECOMMENDED_MAX_SECS_WAIT + + /* max timeout threshold for ICMP ECHO messages. */ + + #define CLIENT_DEFAULT_ICMP_ECHO_TIMEOUT RECOMMENDED_MAX_SECS_WAIT + + /* max timeout threshold for ICMP subnet discovery messages. */ + + #define CLIENT_DEFAULT_ICMP_SUBNET_TIMEOUT RECOMMENDED_MAX_SECS_WAIT + + /* amount of retry for dhcp DISCOVER messages. */ + + #define CLIENT_DEFAULT_DHCP_DISCOVER_RETRIES RECOMMENDED_MAX_SECS_WAIT + + /* amount of retry for dhcp REQUEST messages. */ + + #define CLIENT_DEFAULT_DHCP_REQUEST_RETRIES RECOMMENDED_MAX_SECS_WAIT + + /* amount of retry for ICMP messages. */ + + #define CLIENT_DEFAULT_ICMP_RETRIES RECOMMENDED_MAX_SECS_WAIT + + /* amount of retry for ARP messages. */ + + #define CLIENT_DEFAULT_ARP_RETRIES RECOMMENDED_MAX_SECS_WAIT + /* default MTU to use on interface during initialization * and if none is provided and used from the server. */ *************** *** 39,62 **** #define CLIENT_DEFAULT_HOSTNAME NULL - - /* Default DHCP timeout per operation. */ - - #define CLIENT_DEFAULT_DHCP_TIMEOUT 64 /* recommended by RFC2131 */ - - /* Number of times a DHCP operation should retry: this does not - * affect the timeout on a per operation basis. The client will - * still wait as long as CLIENT_DEFAULT_DHCP_TIMEOUT for each - * individual operation (e.g. DISCOVER). The setting below will - * affect how many times discover/offer will be attempted before - * giving up. */ - - #define CLIENT_DEFAULT_DHCP_DISCOVERY_RETRIES 3 - - /* Retries per ICMP operation. This defines how many times ICMP - * should be retried if failure occurs. For averaging it also - * defines how many times an ICMP operation should be performed - * altogether. */ - - #define CLIENT_DEFAULT_ICMP_RETRIES 3 /* Whether or not to use ICMP to measure latency to specified --- 75,78 ---- |