You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2010/09/21 20:31:34 UTC
svn commit: r999524 - in /trafficserver/traffic/trunk: iocore/aio/
iocore/cache/ iocore/cluster/ iocore/dns/ iocore/eventsystem/ iocore/net/
proxy/mgmt2/
Author: zwoop
Date: Tue Sep 21 18:31:33 2010
New Revision: 999524
URL: http://svn.apache.org/viewvc?rev=999524&view=rev
Log:
TS-447 Eliminate duplicated configurations.
Tested: Fedora Core 13.
Modified:
trafficserver/traffic/trunk/iocore/aio/AIO.cc
trafficserver/traffic/trunk/iocore/cache/Cache.cc
trafficserver/traffic/trunk/iocore/cache/Store.cc
trafficserver/traffic/trunk/iocore/cluster/ClusterProcessor.cc
trafficserver/traffic/trunk/iocore/dns/DNS.cc
trafficserver/traffic/trunk/iocore/dns/SplitDNS.cc
trafficserver/traffic/trunk/iocore/eventsystem/EventSystem.cc
trafficserver/traffic/trunk/iocore/net/Net.cc
trafficserver/traffic/trunk/iocore/net/SSLConfig.cc
trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc
Modified: trafficserver/traffic/trunk/iocore/aio/AIO.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/aio/AIO.cc?rev=999524&r1=999523&r2=999524&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/aio/AIO.cc (original)
+++ trafficserver/traffic/trunk/iocore/aio/AIO.cc Tue Sep 21 18:31:33 2010
@@ -158,7 +158,8 @@ ink_aio_init(ModuleVersion v)
RECD_FLOAT, RECP_NULL, (int) AIO_STAT_KB_WRITE_PER_SEC, aio_stats_cb);
memset(&aio_reqs, 0, MAX_DISKS_POSSIBLE * sizeof(AIO_Reqs *));
ink_mutex_init(&insert_mutex, NULL);
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.threads_per_disk", 4, RECU_NULL, RECC_NULL, NULL);
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.threads_per_disk", 4, RECU_RESTART_TS, RECC_NULL, NULL);
IOCORE_ReadConfigInteger(cache_config_threads_per_disk, "proxy.config.cache.threads_per_disk");
}
Modified: trafficserver/traffic/trunk/iocore/cache/Cache.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/cache/Cache.cc?rev=999524&r1=999523&r2=999524&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/cache/Cache.cc (original)
+++ trafficserver/traffic/trunk/iocore/cache/Cache.cc Tue Sep 21 18:31:33 2010
@@ -2607,33 +2607,44 @@ ink_cache_init(ModuleVersion v)
cache_rsb = RecAllocateRawStatBlock((int) cache_stat_count);
-
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.min_average_object_size", 8000, RECU_DYNAMIC, RECC_NULL, NULL);
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.ram_cache.size", -1, RECU_DYNAMIC, RECC_NULL, NULL);
+ // # default the ram cache size to AUTO_SIZE (-1)
+ // # alternatively: 20971520 (20MB)
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.ram_cache.size", -1, RECU_RESTART_TS, RECC_STR, "^-?[0-9]+$");
IOCORE_EstablishStaticConfigInteger(cache_config_ram_cache_size, "proxy.config.cache.ram_cache.size");
Debug("cache_init", "proxy.config.cache.ram_cache.size = %lld = %lldMb",
cache_config_ram_cache_size, cache_config_ram_cache_size / (1024 * 1024));
+
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.ram_cache.algorithm", 0, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_ram_cache_algorithm, "proxy.config.cache.ram_cache.algorithm");
+
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.ram_cache.compress", 0, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_ram_cache_compress, "proxy.config.cache.ram_cache.compress");
+
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.ram_cache.compress_percent", 90, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_ram_cache_compress_percent, "proxy.config.cache.ram_cache.compress_percent");
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.limits.http.max_alts", 3, RECU_DYNAMIC, RECC_NULL, NULL);
+ // # The maximum number of alternates that are allowed for any given URL.
+ // # It is not possible to strictly enforce this if the variable
+ // # 'proxy.config.cache.vary_on_user_agent' is set to 1.
+ // # (0 disables the maximum number of alts check)
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.limits.http.max_alts", 5, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_http_max_alts, "proxy.config.cache.limits.http.max_alts");
Debug("cache_init", "proxy.config.cache.limits.http.max_alts = %d", cache_config_http_max_alts);
+ // # The maximum size of a document that will be stored in the cache.
+ // # (0 disables the maximum document size check)
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.ram_cache_cutoff", 1048576, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInteger(cache_config_ram_cache_cutoff, "proxy.config.cache.ram_cache_cutoff");
Debug("cache_init", "cache_config_ram_cache_cutoff = %lld = %lldMb",
cache_config_ram_cache_cutoff, cache_config_ram_cache_cutoff / (1024 * 1024));
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.permit.pinning", 0, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.permit.pinning", 0, RECU_DYNAMIC, RECC_INT, "[0-1]");
IOCORE_EstablishStaticConfigInt32(cache_config_permit_pinning, "proxy.config.cache.permit.pinning");
Debug("cache_init", "proxy.config.cache.permit.pinning = %d", cache_config_permit_pinning);
+ // # how often should the directory be synced (seconds)
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.dir.sync_frequency", 60, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_dir_sync_frequency, "proxy.config.cache.dir.sync_frequency");
Debug("cache_init", "proxy.config.cache.dir.sync_frequency = %d", cache_config_dir_sync_frequency);
@@ -2646,11 +2657,12 @@ ink_cache_init(ModuleVersion v)
IOCORE_EstablishStaticConfigInt32(cache_config_select_alternate, "proxy.config.cache.select_alternate");
Debug("cache_init", "proxy.config.cache.select_alternate = %d", cache_config_select_alternate);
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.max_doc_size", 0, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.max_doc_size", 0, RECU_DYNAMIC, RECC_STR, "^[0-9]+$");
IOCORE_EstablishStaticConfigInt32(cache_config_max_doc_size, "proxy.config.cache.max_doc_size");
Debug("cache_init", "proxy.config.cache.max_doc_size = %d = %dMb",
cache_config_max_doc_size, cache_config_max_doc_size / (1024 * 1024));
+ // This is just here to make sure IOCORE "standalone" works, it's usually configured in RecordsConfig.cc
IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.config_dir", SYSCONFDIR, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_ReadConfigString(cache_system_config_directory, "proxy.config.config_dir", PATH_NAME_MAX);
if (cache_system_config_directory[0] != '/') {
@@ -2670,23 +2682,25 @@ ink_cache_init(ModuleVersion v)
}
}
#ifdef HIT_EVACUATE
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cache.hit_evacuate_percent", 0, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.hit_evacuate_percent", 0, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_hit_evacuate_percent, "proxy.config.cache.hit_evacuate_percent");
Debug("cache_init", "proxy.config.cache.hit_evacuate_percent = %d", cache_config_hit_evacuate_percent);
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cache.hit_evacuate_size_limit", 0, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.hit_evacuate_size_limit", 0, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_hit_evacuate_size_limit, "proxy.config.cache.hit_evacuate_size_limit");
Debug("cache_init", "proxy.config.cache.hit_evacuate_size_limit = %d", cache_config_hit_evacuate_size_limit);
#endif
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.force_sector_size", 0, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_force_sector_size, "proxy.config.cache.force_sector_size");
+
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.target_fragment_size", DEFAULT_TARGET_FRAGMENT_SIZE, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_target_fragment_size, "proxy.config.cache.target_fragment_size");
+
#ifdef HTTP_CACHE
extern int url_hash_method;
+
+ // # 0 - MD5 hash
+ // # 1 - MMH hash
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.url_hash_method", 1, RECU_RESTART_TS, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(url_hash_method, "proxy.config.cache.url_hash_method");
Debug("cache_init", "proxy.config.cache.url_hash_method = %d", url_hash_method);
@@ -2696,33 +2710,25 @@ ink_cache_init(ModuleVersion v)
IOCORE_EstablishStaticConfigInt32(cache_config_max_disk_errors, "proxy.config.cache.max_disk_errors");
Debug("cache_init", "proxy.config.cache.max_disk_errors = %d", cache_config_max_disk_errors);
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cache.agg_write_backlog", 5242880, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.agg_write_backlog", 5242880, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_agg_write_backlog, "proxy.config.cache.agg_write_backlog");
Debug("cache_init", "proxy.config.cache.agg_write_backlog = %d", cache_config_agg_write_backlog);
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.enable_checksum", 1, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.enable_checksum", 0, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_enable_checksum, "proxy.config.cache.enable_checksum");
Debug("cache_init", "proxy.config.cache.enable_checksum = %d", cache_config_enable_checksum);
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cache.alt_rewrite_max_size", 4096, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.alt_rewrite_max_size", 4096, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_alt_rewrite_max_size, "proxy.config.cache.alt_rewrite_max_size");
Debug("cache_init", "proxy.config.cache.alt_rewrite_max_size = %d", cache_config_alt_rewrite_max_size);
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cache.enable_read_while_writer", 0, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cache.enable_read_while_writer", 0, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(cache_config_read_while_writer, "proxy.config.cache.enable_read_while_writer");
- Debug("cache_init", "proxy.config.cache.enable_read_while_writer = %d", cache_config_read_while_writer);
-
IOCORE_RegisterConfigUpdateFunc("proxy.config.cache.enable_read_while_writer", update_cache_config, NULL);
+ Debug("cache_init", "proxy.config.cache.enable_read_while_writer = %d", cache_config_read_while_writer);
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.cache.partition_filename",
- "partition.config", RECU_RESTART_TS, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.cache.hosting_filename", "hosting.config", RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.cache.partition_filename", "partition.config", RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.cache.hosting_filename", "hosting.config", RECU_DYNAMIC, RECC_NULL, NULL);
// Special case here for cache.bytes_used, since it uses a different CB than the "normal" SUM. This
// is a little ugly, but it's for one single stat, and saves an entire thread (and unecessary callbacks).
Modified: trafficserver/traffic/trunk/iocore/cache/Store.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/cache/Store.cc?rev=999524&r1=999523&r2=999524&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/cache/Store.cc (original)
+++ trafficserver/traffic/trunk/iocore/cache/Store.cc Tue Sep 21 18:31:33 2010
@@ -265,13 +265,11 @@ Store::read_config(int fd)
// initialize_store().
//
// ink_strncpy(p, cache_system_config_directory, sizeof(p));
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.cache.storage_filename",
- "storage.config", RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.cache.storage_filename", "storage.config", RECU_RESTART_TS, RECC_NULL, NULL);
IOCORE_ReadConfigString(storage_file, "proxy.config.cache.storage_filename", PATH_NAME_MAX);
- Layout::relative_to(storage_path, PATH_NAME_MAX, Layout::get()->sysconfdir,
- storage_file);
+ Layout::relative_to(storage_path, PATH_NAME_MAX, Layout::get()->sysconfdir, storage_file);
Debug("cache_init", "Store::read_config, fd = -1, \"%s\"", storage_path);
+
fd =::open(storage_path, O_RDONLY);
if (fd < 0) {
err = "error on open";
Modified: trafficserver/traffic/trunk/iocore/cluster/ClusterProcessor.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/cluster/ClusterProcessor.cc?rev=999524&r1=999523&r2=999524&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/cluster/ClusterProcessor.cc (original)
+++ trafficserver/traffic/trunk/iocore/cluster/ClusterProcessor.cc Tue Sep 21 18:31:33 2010
@@ -648,62 +648,44 @@ ClusterProcessor::init()
// Used to call CLUSTER_INCREMENT_DYN_STAT here; switch to SUM_GLOBAL_DYN_STAT
CLUSTER_SUM_GLOBAL_DYN_STAT(CLUSTER_NODES_STAT, 1); // one node in cluster, ME
- // Setup interconnect load monitoring configuration options.
+ //# load monitor_enabled: -1 = compute only, 0 = disable, 1 = compute and act
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.load_monitor_enabled", 1, RECU_NULL, RECC_NULL, NULL);
IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_monitor_enabled, "proxy.config.cluster.load_monitor_enabled");
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.ping_send_interval_msecs", 100, RECU_NULL, RECC_NULL, NULL);
- IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_ping_message_send_msec_interval,
- "proxy.config.cluster.ping_send_interval_msecs");
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.ping_response_buckets", 100, RECU_NULL, RECC_NULL, NULL);
- IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_num_ping_response_buckets,
- "proxy.config.cluster.ping_response_buckets");
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.msecs_per_ping_response_buckets", 50, RECU_NULL, RECC_NULL, NULL);
- IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_msecs_per_ping_response_bucket,
- "proxy.config.cluster.msecs_per_ping_response_bucket");
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.ping_latency_threshold_msecs", 500, RECU_NULL, RECC_NULL, NULL);
- IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_ping_latency_threshold_msecs,
- "proxy.config.cluster.ping_latency_threshold_msecs");
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.load_compute_interval_msecs", 5000, RECU_NULL, RECC_NULL, NULL);
- IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_cluster_load_compute_msec_interval,
- "proxy.config.cluster.load_compute_interval_msecs");
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.periodic_timer_interval_msecs", 100, RECU_NULL, RECC_NULL, NULL);
- IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_cluster_periodic_msec_interval,
- "proxy.config.cluster.periodic_timer_interval_msecs");
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.ping_history_buf_length", 120, RECU_NULL, RECC_NULL, NULL);
- IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_ping_history_buf_length,
- "proxy.config.cluster.ping_history_buf_length");
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.cluster_load_clear_duration", 24, RECU_NULL, RECC_NULL, NULL);
- IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_cluster_load_clear_duration,
- "proxy.config.cluster.cluster_load_clear_duration");
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.cluster_load_exceed_duration", 4, RECU_NULL, RECC_NULL, NULL);
- IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_cluster_load_exceed_duration,
- "proxy.config.cluster.cluster_load_exceed_duration");
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.ping_send_interval_msecs", 100, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_ping_message_send_msec_interval, "proxy.config.cluster.ping_send_interval_msecs");
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.ping_response_buckets", 100, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_num_ping_response_buckets, "proxy.config.cluster.ping_response_buckets");
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.msecs_per_ping_response_buckets", 50, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_msecs_per_ping_response_bucket, "proxy.config.cluster.msecs_per_ping_response_bucket");
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.ping_latency_threshold_msecs", 500, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_ping_latency_threshold_msecs, "proxy.config.cluster.ping_latency_threshold_msecs");
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.load_compute_interval_msecs", 5000, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_cluster_load_compute_msec_interval, "proxy.config.cluster.load_compute_interval_msecs");
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.periodic_timer_interval_msecs", 100, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_cluster_periodic_msec_interval, "proxy.config.cluster.periodic_timer_interval_msecs");
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.ping_history_buf_length", 120, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_ping_history_buf_length, "proxy.config.cluster.ping_history_buf_length");
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.cluster_load_clear_duration", 24, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_cluster_load_clear_duration, "proxy.config.cluster.cluster_load_clear_duration");
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.cluster_load_exceed_duration", 4, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_ReadConfigInteger(ClusterLoadMonitor::cf_cluster_load_exceed_duration, "proxy.config.cluster.cluster_load_exceed_duration");
+
//
// Configuration callbacks
//
if (cluster_port_number != DEFAULT_CLUSTER_PORT_NUMBER)
cluster_port = cluster_port_number;
else {
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.cluster_port", -1, RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.cluster_port", 8086, RECU_RESTART_TS, RECC_NULL, NULL);
IOCORE_ReadConfigInteger(cluster_port, "proxy.config.cluster.cluster_port");
}
@@ -711,31 +693,26 @@ ClusterProcessor::init()
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.enable_monitor", 0, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(CacheClusterMonitorEnabled, "proxy.config.cluster.enable_monitor");
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.monitor_interval_secs", 1, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.monitor_interval_secs", 1, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(CacheClusterMonitorIntervalSecs, "proxy.config.cluster.monitor_interval_secs");
// Cluster internal parameters
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.receive_buffer_size", 10485760, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.receive_buffer_size", 10485760, RECU_NULL, RECC_NULL, NULL);
IOCORE_ReadConfigInteger(cluster_receive_buffer_size, "proxy.config.cluster.receive_buffer_size");
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.cluster.send_buffer_size", 10485760, RECU_NULL, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.send_buffer_size", 10485760, RECU_NULL, RECC_NULL, NULL);
IOCORE_ReadConfigInteger(cluster_send_buffer_size, "proxy.config.cluster.send_buffer_size");
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.sock_option_flag", 0, RECU_NULL, RECC_NULL, NULL);
IOCORE_ReadConfigInteger(cluster_sockopt_flags, "proxy.config.cluster.sock_option_flag");
-
// RPC Cache Cluster option
-
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.cluster.rpc_cache_cluster", 0, RECU_DYNAMIC, RECC_NULL, NULL);
IOCORE_EstablishStaticConfigInt32(RPC_only_CacheCluster, "proxy.config.cluster.rpc_cache_cluster");
int cluster_type = 0;
- // note : local variables work now using the same function.
- // They are demarcated by their names
+ //# cluster type requires restart to change
+ //# 1 is full clustering, 2 is mgmt only, 3 is no clustering
IOCORE_RegisterConfigInteger(RECT_LOCAL, "proxy.local.cluster.type", 3, RECU_NULL, RECC_NULL, NULL);
IOCORE_ReadConfigInteger(cluster_type, "proxy.local.cluster.type");
@@ -789,15 +766,11 @@ ClusterProcessor::start()
initialize_thread_for_net(eventProcessor.eventthread[ET_CLUSTER][i], i);
}
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.cluster.cluster_configuration",
- "cluster.config", RECU_NULL, RECC_NULL, NULL);
- IOCORE_RegisterConfigUpdateFunc("proxy.config.cluster.cluster_configuration",
- machine_config_change, (void *) CLUSTER_CONFIG);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.cluster.cluster_configuration", "cluster.config", RECU_NULL, RECC_NULL, NULL);
+ IOCORE_RegisterConfigUpdateFunc("proxy.config.cluster.cluster_configuration", machine_config_change, (void *) CLUSTER_CONFIG);
do_machine_config_change((void *) CLUSTER_CONFIG, "proxy.config.cluster.cluster_configuration");
#ifdef USE_SEPARATE_MACHINE_CONFIG
- IOCORE_RegisterConfigUpdateFunc("proxy.config.cluster.machine_configuration",
- machine_config_change, (void *) MACHINE_CONFIG);
+ IOCORE_RegisterConfigUpdateFunc("proxy.config.cluster.machine_configuration", machine_config_change, (void *) MACHINE_CONFIG);
do_machine_config_change((void *) MACHINE_CONFIG, "proxy.config.cluster.machine_configuration");
#endif
Modified: trafficserver/traffic/trunk/iocore/dns/DNS.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/dns/DNS.cc?rev=999524&r1=999523&r2=999524&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/dns/DNS.cc (original)
+++ trafficserver/traffic/trunk/iocore/dns/DNS.cc Tue Sep 21 18:31:33 2010
@@ -1518,6 +1518,17 @@ ink_dns_init(ModuleVersion v)
// create a stat block for HostDBStats
dns_rsb = RecAllocateRawStatBlock((int) DNS_Stat_Count);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.dns.retries", 5, RECU_DYNAMIC, RECC_INT, "[0-9]");
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.dns.lookup_timeout", 20, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.dns.search_default_domains", 1, RECU_DYNAMIC, RECC_INT, "[0-1]");
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.dns.failover_number", 5, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.dns.failover_period", 60, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.dns.max_dns_in_flight", 2048, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.dns.round_robin_nameservers", 0, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.dns.nameservers", NULL, RECU_DYNAMIC, RECC_NULL, NULL);
+
+
//
// Register statistics callbacks
//
Modified: trafficserver/traffic/trunk/iocore/dns/SplitDNS.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/dns/SplitDNS.cc?rev=999524&r1=999523&r2=999524&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/dns/SplitDNS.cc (original)
+++ trafficserver/traffic/trunk/iocore/dns/SplitDNS.cc Tue Sep 21 18:31:33 2010
@@ -63,15 +63,6 @@ static Ptr<ProxyMutex> reconfig_mutex =
static ClassAllocator<DNSRequestData> DNSReqAllocator("DNSRequestDataAllocator");
-
-/* --------------------------------------------------------------
- config var names
- -------------------------------------------------------------- */
-static const char *sdns_file_var = "proxy.config.dns.splitdns.filename";
-static const char *sdns_enable_var = "proxy.config.dns.splitDNS.enabled";
-static const char *sdns_def_domain = "proxy.config.dns.splitdns.def_domain";
-
-
/* --------------------------------------------------------------
used by a lot of protocols. We do not have dest ip in most
cases.
@@ -183,14 +174,14 @@ SplitDNSConfig::reconfigure()
SplitDNS *params;
params = NEW(new SplitDNS);
- IOCORE_ReadConfigInt32(gsplit_dns_enabled, sdns_enable_var);
+ IOCORE_ReadConfigInt32(gsplit_dns_enabled, "proxy.config.dns.splitDNS.enabled");
params->m_SplitDNSlEnable = gsplit_dns_enabled;
if (0 == gsplit_dns_enabled)
return;
- params->m_DNSSrvrTable = NEW(new DNS_table(sdns_file_var, modulePrefix, &sdns_dest_tags));
+ params->m_DNSSrvrTable = NEW(new DNS_table("proxy.config.dns.splitdns.filename", modulePrefix, &sdns_dest_tags));
params->m_numEle = params->m_DNSSrvrTable->getEntryCount();
if (0 == params->m_DNSSrvrTable || (0 == params->m_numEle)) {
@@ -209,7 +200,7 @@ SplitDNSConfig::reconfigure()
params->m_bEnableFastPath = true;
}
- char *def_domain = IOCORE_ConfigReadString(sdns_def_domain);
+ char *def_domain = IOCORE_ConfigReadString("proxy.config.dns.splitdns.def_domain");
if (def_domain) {
ink_strncpy(params->m_def_domain, def_domain, MAXDNAME);
@@ -923,11 +914,9 @@ ink_split_dns_init(ModuleVersion v)
init_called = 1;
- IOCORE_RegisterConfigInteger(RECT_CONFIG, sdns_enable_var, 0, RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG, sdns_def_domain, 0, RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG, sdns_file_var, "proxy.config.dns.splitdns.filename", RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.dns.splitDNS.enabled", 0, RECU_DYNAMIC, RECC_INT, "[0-1]");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.dns.splitdns.def_domain", 0, RECU_DYNAMIC, RECC_STR, "^[^[:space:]]*$");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.dns.splitdns.filename", "splitdns.config", RECU_RESTART_TS, RECC_NULL, NULL);
}
#endif // SPLIT_DNS
Modified: trafficserver/traffic/trunk/iocore/eventsystem/EventSystem.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/eventsystem/EventSystem.cc?rev=999524&r1=999523&r2=999524&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/eventsystem/EventSystem.cc (original)
+++ trafficserver/traffic/trunk/iocore/eventsystem/EventSystem.cc Tue Sep 21 18:31:33 2010
@@ -35,8 +35,10 @@ ink_event_system_init(ModuleVersion v)
{
ink_release_assert(!checkModuleVersion(v, EVENT_SYSTEM_MODULE_VERSION));
int config_max_iobuffer_size = DEFAULT_MAX_BUFFER_SIZE;
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.io.max_buffer_size", 32768, RECU_RESTART_TC, RECC_NULL, NULL);
+
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.io.max_buffer_size", 32768, RECU_NULL, RECC_NULL, NULL);
IOCORE_ReadConfigInteger(config_max_iobuffer_size, "proxy.config.io.max_buffer_size");
+
max_iobuffer_size = buffer_size_to_index(config_max_iobuffer_size, DEFAULT_BUFFER_SIZES - 1);
if (default_small_iobuffer_size > max_iobuffer_size)
default_small_iobuffer_size = max_iobuffer_size;
Modified: trafficserver/traffic/trunk/iocore/net/Net.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/net/Net.cc?rev=999524&r1=999523&r2=999524&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/net/Net.cc (original)
+++ trafficserver/traffic/trunk/iocore/net/Net.cc Tue Sep 21 18:31:33 2010
@@ -37,20 +37,16 @@ static inline void
configure_net(void)
{
- IOCORE_RegisterConfigString(RECT_LOCAL, "proxy.local.incoming_ip_to_bind", NULL, RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.net.connections_throttle", 8000, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_LOCAL, "proxy.local.incoming_ip_to_bind", NULL, RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.net.connections_throttle", 8000, RECU_RESTART_TS, RECC_STR, "^[0-9]+$");
IOCORE_RegisterConfigUpdateFunc("proxy.config.net.connections_throttle", change_net_connections_throttle, NULL);
IOCORE_ReadConfigInteger(fds_throttle, "proxy.config.net.connections_throttle");
- IOCORE_ReadConfigInteger(throttle_enabled,"proxy.config.net.throttle_enabled");
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.net.listen_backlog", 1024, RECU_DYNAMIC, RECC_NULL, NULL);
+ IOCORE_ReadConfigInteger(throttle_enabled,"proxy.config.net.throttle_enabled");
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.net.listen_backlog", 1024, RECU_RESTART_TS, RECC_NULL, NULL);
IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.net.max_poll_delay", 128, RECU_DYNAMIC, RECC_NULL, NULL);
-
-
}
Modified: trafficserver/traffic/trunk/iocore/net/SSLConfig.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/net/SSLConfig.cc?rev=999524&r1=999523&r2=999524&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/net/SSLConfig.cc (original)
+++ trafficserver/traffic/trunk/iocore/net/SSLConfig.cc Tue Sep 21 18:31:33 2010
@@ -454,88 +454,34 @@ SslConfigParams::initialize()
static inline void
register_ssl_net_configs(void)
{
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.enabled", 0, RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.SSLv2", 1, RECU_RESTART_TS, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.SSLv3", 1, RECU_RESTART_TS, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.TLSv1", 1, RECU_RESTART_TS, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.accelerator.type", 0, RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.number.threads", 0, RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.atalla.lib.path", "/opt/atalla/lib", RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.ncipher.lib.path",
- "/opt/nfast/toolkits/hwcrhk", RECU_DYNAMIC, RECC_NULL, NULL);
-
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.cswift.lib.path", "/usr/lib", RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.broadcom.lib.path", "/usr/lib", RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.server_port", 4443, RECU_DYNAMIC, RECC_INT, "[0-65535]");
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.ssl.client.certification_level", 0, RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.server.cert.filename",
- "server.pem", RECU_DYNAMIC, RECC_STR, "^[^[:space:]]+$");
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.server.cert.path",
- "etc/trafficserver", RECU_DYNAMIC, RECC_STR, "^[^[:space:]]+$");
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.server.cert_chain.filename", NULL, RECU_DYNAMIC, RECC_STR, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.server.multicert.filename",
- "ssl_multicert.config", RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.server.private_key.filename",
- NULL, RECU_DYNAMIC, RECC_STR, "^[^[:space:]]*$");
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.server.private_key.path", NULL, RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.CA.cert.filename", NULL, RECU_DYNAMIC, RECC_STR, "^[^[:space:]]*$");
-
- IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.CA.cert.path", NULL, RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigInteger(RECT_CONFIG,
- "proxy.config.ssl.client.verify.server", 0, RECU_DYNAMIC, RECC_INT, "[0-1]");
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.client.cert.filename", NULL, RECU_DYNAMIC, RECC_STR, "^[^[:space:]]*$");
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.client.cert.path", "etc/trafficserver", RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.client.private_key.filename",
- NULL, RECU_DYNAMIC, RECC_STR, "^[^[:space:]]*$");
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.client.private_key.path", NULL, RECU_DYNAMIC, RECC_NULL, NULL);
-
- IOCORE_RegisterConfigString(RECT_CONFIG,
- "proxy.config.ssl.client.CA.cert.filename",
- NULL, RECU_DYNAMIC, RECC_STR, "^[^[:space:]]*$");
-
- IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.client.CA.cert.path", NULL, RECU_DYNAMIC, RECC_NULL, NULL);
-
-
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.enabled", 0, RECU_RESTART_TS, RECC_INT, "[0-1]");
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.SSLv2", 1, RECU_RESTART_TS, RECC_INT, "[0-1]");
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.SSLv3", 1, RECU_RESTART_TS, RECC_INT, "[0-1]");
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.TLSv1", 1, RECU_RESTART_TS, RECC_INT, "[0-1]");
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.accelerator.type", 0, RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.accelerator_required", 0, RECU_RESTART_TS, RECC_INT, "[0-1]");
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.number.threads", 0, RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.atalla.lib.path", "/opt/atalla/lib", RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.ncipher.lib.path", "/opt/nfast/toolkits/hwcrhk", RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.cswift.lib.path", "/usr/lib", RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.broadcom.lib.path", "/usr/lib", RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.server_port", 443, RECU_RESTART_TS, RECC_INT, "[0-65535]");
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.client.certification_level", 0, RECU_RESTART_TS, RECC_INT, "[0-2]");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.server.cert.filename", "server.pem", RECU_RESTART_TS, RECC_STR, "^[^[:space:]]+$");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.server.cert.path", "etc/trafficserver", RECU_RESTART_TS, RECC_STR, "^[^[:space:]]+$");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.server.cert_chain.filename", NULL, RECU_RESTART_TS, RECC_STR, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.server.multicert.filename", "ssl_multicert.config", RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.server.private_key.filename", NULL, RECU_RESTART_TS, RECC_STR, "^[^[:space:]]*$");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.server.private_key.path", NULL, RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.CA.cert.filename", NULL, RECU_RESTART_TS, RECC_STR, "^[^[:space:]]*$");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.CA.cert.path", NULL, RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigInteger(RECT_CONFIG, "proxy.config.ssl.client.verify.server", 0, RECU_RESTART_TS, RECC_INT, "[0-1]");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.client.cert.filename", NULL, RECU_RESTART_TS, RECC_STR, "^[^[:space:]]*$");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.client.cert.path", "etc/trafficserver", RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.client.private_key.filename", NULL, RECU_RESTART_TS, RECC_STR, "^[^[:space:]]*$");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.client.private_key.path", NULL, RECU_RESTART_TS, RECC_NULL, NULL);
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.client.CA.cert.filename", NULL, RECU_RESTART_TS, RECC_STR, "^[^[:space:]]*$");
+ IOCORE_RegisterConfigString(RECT_CONFIG, "proxy.config.ssl.client.CA.cert.path", NULL, RECU_RESTART_TS, RECC_NULL, NULL);
}
void
Modified: trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc?rev=999524&r1=999523&r2=999524&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc Tue Sep 21 18:31:33 2010
@@ -104,8 +104,6 @@ RecordElement RecordsConfig[] = {
//# 0 = disable
{CONFIG, "proxy.config.http_ui_enabled", "", INK_INT, "0", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
,
- {CONFIG, "proxy.config.cache.max_disk_errors", "", INK_INT, "5", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
//# 0 = disable
{CONFIG, "proxy.config.history_info_enabled", "", INK_INT, "0", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
,
@@ -294,10 +292,6 @@ RecordElement RecordsConfig[] = {
,
{CONFIG, "proxy.config.cluster.startup_timeout", "", INK_INT, "10", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
,
- //# cluster type requires restart to change
- //# 1 is full clustering, 2 is mgmt only, 3 is no clustering
- {LOCAL, "proxy.local.cluster.type", "", INK_INT, "3", RU_RESTART_TM, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
{CONFIG, "proxy.config.cluster.rsport", "", INK_INT, "8088", RU_NULL, RR_REQUIRED, RC_NULL, NULL,
RA_NULL}
,
@@ -1587,25 +1581,11 @@ RecordElement RecordsConfig[] = {
,
//##############################################################################
//#
- //# I/O Subsystem
- //#
- //##############################################################################
- {CONFIG, "proxy.config.io.max_buffer_size", "", INK_INT, "32768", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- //##############################################################################
- //#
//# Net Subsystem
//#
//##############################################################################
- {CONFIG, "proxy.config.net.connections_throttle", "", INK_INT, "<connections_throttle>", RU_RESTART_TS, RR_REQUIRED,
- RC_STR, "^[0-9]+$", RA_NULL}
- ,
{CONFIG, "proxy.config.net.throttle_enabled", "", INK_INT, "1", RU_NULL, RR_NULL, RC_NULL, "[0-1]", RA_NULL}
,
- {CONFIG, "proxy.config.net.max_poll_delay", "", INK_INT, "128", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.net.listen_backlog", "", INK_INT, "1024", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
{CONFIG, "proxy.config.net.accept_throttle", "", INK_INT, "0", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
,
{CONFIG, "proxy.config.net.tcp_accept_defer_timeout", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_INT, "^[0-9]+$",
@@ -1676,59 +1656,9 @@ RecordElement RecordsConfig[] = {
//# Cluster Subsystem
//#
//##############################################################################
- {CONFIG, "proxy.config.cluster.cluster_port", "", INK_INT, "8086", RU_RESTART_TS, RR_REQUIRED, RC_NULL,
- NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.cluster_configuration", "", INK_STRING, "cluster.config", RU_NULL, RR_NULL, RC_NULL,
- NULL, RA_NULL}
- ,
{CONFIG, "proxy.config.cluster.ethernet_interface", "", INK_STRING, NULL, RU_RESTART_TS, RR_REQUIRED, RC_STR,
"^[^[:space:]]*$", RA_NULL}
,
- {CONFIG, "proxy.config.cluster.enable_monitor", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.monitor_interval_secs", "", INK_INT, "1", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.send_buffer_size", "", INK_INT, "10485760", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.receive_buffer_size", "", INK_INT, "10485760", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.sock_option_flag", "", INK_INT, "0x0", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.rpc_cache_cluster", "", INK_INT, "0", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- //##################################################################
- //# Cluster interconnect load monitoring configuration options.
- //# Internal use only
- //##################################################################
- //# load monitor_enabled: -1 = compute only, 0 = disable, 1 = compute and act
- {CONFIG, "proxy.config.cluster.load_monitor_enabled", "", INK_INT, "1", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.ping_send_interval_msecs", "", INK_INT, "100", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.ping_response_buckets", "", INK_INT, "100", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.msecs_per_ping_response_bucket", "", INK_INT, "50", RU_NULL, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.ping_latency_threshold_msecs", "", INK_INT, "500", RU_NULL, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.load_compute_interval_msecs", "", INK_INT, "5000", RU_NULL, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.periodic_timer_interval_msecs", "", INK_INT, "100", RU_NULL, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.ping_history_buf_length", "", INK_INT, "120", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.cluster_load_clear_duration", "", INK_INT, "24", RU_NULL, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.cluster.cluster_load_exceed_duration", "", INK_INT, "4", RU_NULL, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- //##################################################################
{PROCESS, "proxy.process.cluster.connections_open", "", INK_INT, "0", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
,
{PROCESS, "proxy.process.cluster.connections_opened", "", INK_INT, "0", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
@@ -1885,52 +1815,14 @@ RecordElement RecordsConfig[] = {
//# Cache
//#
//##############################################################################
- {CONFIG, "proxy.config.cache.storage_filename", "", INK_STRING, "storage.config", RU_RESTART_TS, RR_NULL, RC_NULL,
- NULL, RA_NULL}
- ,
{CONFIG, "proxy.config.cache.control.filename", "", INK_STRING, "cache.config", RU_REREAD, RR_NULL, RC_NULL, NULL,
RA_NULL}
,
{CONFIG, "proxy.config.cache.ip_allow.filename", "", INK_STRING, "ip_allow.config", RU_REREAD, RR_NULL, RC_NULL, NULL,
RA_NULL}
,
- {CONFIG, "proxy.config.cache.hosting_filename", "", INK_STRING, "hosting.config", RU_REREAD, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.cache.partition_filename", "", INK_STRING, "partition.config", RU_RESTART_TS, RR_NULL, RC_NULL,
- NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cache.permit.pinning", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_INT, "[0-1]", RA_NULL}
+ {CONFIG, "proxy.config.cache.hostdb.disable_reverse_lookup", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
,
- {CONFIG, "proxy.config.cache.vary_on_user_agent", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- // # 0 - MD5 hash
- // # 1 - MMH hash
- {CONFIG, "proxy.config.cache.url_hash_method", "", INK_INT, "1", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- // # default the ram cache size to AUTO_SIZE (-1)
- // # alternatively: 20971520 (20MB)
- {CONFIG, "proxy.config.cache.ram_cache.size", "", INK_INT, "-1", RU_RESTART_TS, RR_NULL, RC_STR, "^-?[0-9]+$",
- RA_NULL}
- ,
- // # how often should the directory be synced (seconds)
- {CONFIG, "proxy.config.cache.dir.sync_frequency", "", INK_INT, "60", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cache.hostdb.disable_reverse_lookup", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.cache.select_alternate", "", INK_INT, "1", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cache.ram_cache_cutoff", "", INK_INT, "1048576", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- // # The maximum number of alternates that are allowed for any given URL.
- // # It is not possible to strictly enforce this if the variable
- // # 'proxy.config.cache.vary_on_user_agent' is set to 1.
- // # (0 disables the maximum number of alts check)
- {CONFIG, "proxy.config.cache.limits.http.max_alts", "", INK_INT, "5", RU_REREAD, RR_NULL, RC_STR, "^[0-9]+$", RA_NULL}
- ,
- // # The maximum size of a document that will be stored in the cache.
- // # (0 disables the maximum document size check)
{CONFIG, "proxy.config.net.enable_ink_disk_io", "", INK_INT, "0", RU_RESTART_TS, RR_NULL, RC_NULL, NULL, RA_NULL}
,
{CONFIG, "proxy.config.net.ink_disk_io_watermark", "", INK_INT, "400", RU_RESTART_TS, RR_NULL, RC_NULL, NULL, RA_NULL}
@@ -1939,26 +1831,12 @@ RecordElement RecordsConfig[] = {
,
{CONFIG, "proxy.config.net.max_kqueue_len", "", INK_INT, "0", RU_RESTART_TS, RR_NULL, RC_NULL, NULL, RA_NULL}
,
- {CONFIG, "proxy.config.cache.max_doc_size", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_STR, "^[0-9]+$", RA_NULL}
- ,
- {CONFIG, "proxy.config.cache.min_average_object_size", "", INK_INT, "8000", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
{CONFIG, "proxy.config.cache.max_agg_delay", "", INK_INT, "1000", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
,
- {CONFIG, "proxy.config.cache.threads_per_disk", "", INK_INT, "4", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
{CONFIG, "proxy.config.cache.aio_sleep_time", "", INK_INT, "100", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
,
{CONFIG, "proxy.config.cache.check_disk_idle", "", INK_INT, "1", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
,
- {CONFIG, "proxy.config.cache.agg_write_backlog", "", INK_INT, "5242880", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cache.enable_checksum", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cache.alt_rewrite_max_size", "", INK_INT, "4096", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.cache.enable_read_while_writer", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
//
// #
// # UNIMPLEMENTED cache config
@@ -2053,34 +1931,10 @@ RecordElement RecordsConfig[] = {
//# DNS
//#
//##############################################################################
- {CONFIG, "proxy.config.dns.lookup_timeout", "", INK_INT, "20", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.dns.retries", "", INK_INT, "5", RU_REREAD, RR_NULL, RC_NULL, "[0-9]", RA_NULL}
- ,
- {CONFIG, "proxy.config.dns.search_default_domains", "", INK_INT, "1", RU_REREAD, RR_NULL, RC_INT, "[0-1]", RA_NULL}
- ,
- {CONFIG, "proxy.config.dns.failover_number", "", INK_INT, "5", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.dns.failover_period", "", INK_INT, "60", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.dns.max_dns_in_flight", "", INK_INT, "2048", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
{CONFIG, "proxy.config.dns.validate_query_name", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_NULL, "[0-1]", RA_NULL}
,
- {CONFIG, "proxy.config.dns.splitDNS.enabled", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_INT, "[0-1]", RA_NULL}
- ,
- {CONFIG, "proxy.config.dns.splitdns.filename", "", INK_STRING, "splitdns.config", RU_NULL, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.dns.splitdns.def_domain", "", INK_STRING, NULL, RU_REREAD, RR_NULL, RC_STR, "^[^[:space:]]*$",
- RA_NULL}
- ,
{CONFIG, "proxy.config.dns.url_expansions", "", INK_STRING, NULL, RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
,
- {CONFIG, "proxy.config.dns.nameservers", "", INK_STRING, NULL, RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.dns.round_robin_nameservers", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
{PROCESS, "proxy.process.dns.total_dns_lookups", "", INK_INT, "0", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
,
{PROCESS, "proxy.process.dns.lookup_avg_time", "", INK_FLOAT, "0.00", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
@@ -2425,78 +2279,6 @@ RecordElement RecordsConfig[] = {
{CONFIG, "proxy.config.url_remap.url_remap_mode", "", INK_INT, "1", RU_RESTART_TS, RR_NULL, RC_INT, "[0-2]", RA_NULL}
,
//##############################################################################
- //#
- //# SSL Termination
- //#
- //##############################################################################
- {CONFIG, "proxy.config.ssl.enabled", "", INK_INT, "0", RU_RESTART_TS, RR_NULL, RC_INT, "[0-1]", RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.accelerator_required", "", INK_INT, "0", RU_RESTART_TS, RR_NULL, RC_INT, "[0-1]", RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.accelerator.type", "", INK_INT, "0", RU_RESTART_TS, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.number.threads", "", INK_INT, "0", RU_RESTART_TS, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.atalla.lib.path", "", INK_STRING, "/opt/atalla/lib", RU_RESTART_TS, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.ncipher.lib.path", "", INK_STRING, "/opt/nfast/toolkits/hwcrhk", RU_RESTART_TS, RR_NULL,
- RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.cswift.lib.path", "", INK_STRING, "/usr/lib", RU_RESTART_TS, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.broadcom.lib.path", "", INK_STRING, "/usr/lib", RU_RESTART_TS, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.server_port", "", INK_INT, "4443", RU_RESTART_TS, RR_NULL, RC_INT, "[0-65535]", RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.client.certification_level", "", INK_INT, "0", RU_RESTART_TS, RR_NULL, RC_INT, "[0-2]",
- RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.server.cert.filename", "", INK_STRING, "server.pem", RU_RESTART_TS, RR_NULL, RC_STR,
- "^[^[:space:]]+$", RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.server.cert.path", "", INK_STRING, "etc/trafficserver", RU_RESTART_TS, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.server.cert_chain.filename", "", INK_STRING, NULL, RU_RESTART_TS, RR_NULL, RC_STR, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.server.multicert.filename", "", INK_STRING, "ssl_multicert.config", RU_RESTART_TS, RR_NULL,
- RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.server.private_key.filename", "", INK_STRING, NULL, RU_RESTART_TS, RR_NULL, RC_STR,
- "^[^[:space:]]*$", RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.server.private_key.path", "", INK_STRING, NULL, RU_RESTART_TS, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.CA.cert.filename", "", INK_STRING, NULL, RU_RESTART_TS, RR_NULL, RC_STR, "^[^[:space:]]*$",
- RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.CA.cert.path", "", INK_STRING, NULL, RU_RESTART_TS, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.client.verify.server", "", INK_INT, "0", RU_RESTART_TS, RR_NULL, RC_INT, "[0-1]", RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.client.cert.filename", "", INK_STRING, NULL, RU_RESTART_TS, RR_NULL, RC_STR,
- "^[^[:space:]]*$", RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.client.cert.path", "", INK_STRING, "etc/trafficserver", RU_RESTART_TS, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.client.private_key.filename", "", INK_STRING, NULL, RU_RESTART_TS, RR_NULL, RC_STR,
- "^[^[:space:]]*$", RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.client.private_key.path", "", INK_STRING, NULL, RU_RESTART_TS, RR_NULL, RC_NULL, NULL,
- RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.client.CA.cert.filename", "", INK_STRING, NULL, RU_RESTART_TS, RR_NULL, RC_STR,
- "^[^[:space:]]*$", RA_NULL}
- ,
- {CONFIG, "proxy.config.ssl.client.CA.cert.path", "", INK_STRING, NULL, RU_RESTART_TS, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
- //##############################################################################
//# ICP Configuration
//##############################################################################
//# enabled=0 ICP disabled
@@ -3186,8 +2968,6 @@ RecordElement RecordsConfig[] = {
{CLUSTER, "proxy.cluster.current_server_connections", "", INK_INT, "0", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
,
//# Add LOCAL Records Here
- {LOCAL, "proxy.local.incoming_ip_to_bind", "", INK_STRING, NULL, RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
- ,
{LOCAL, "proxy.local.outgoing_ip_to_bind", "", INK_STRING, NULL, RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
,
{LOCAL, "proxy.local.log2.collation_mode", "", INK_INT, "0", RU_REREAD, RR_NULL, RC_INT, "[0-4]", RA_NULL}