5 #ifndef vnsw_agent_param_hpp
6 #define vnsw_agent_param_hpp
8 #include <boost/property_tree/ptree.hpp>
9 #include <boost/program_options.hpp>
171 bool enable_vhost_options =
true,
172 bool enable_hypervisor_options =
true,
173 bool enable_service_options =
true,
370 void AddOptions(
const boost::program_options::options_description &opt);
371 void ConfigAddOptions(
const boost::program_options::options_description &opt);
373 const boost::program_options::variables_map &
var_map()
const {
377 boost::program_options::options_description
options()
const {
399 std::vector<std::string> &strs,
char ch);
514 std::map<uint16_t, uint16_t>::iterator it =
qos_queue_map_.find(queue);
588 template <
typename ValueType>
590 boost::optional<ValueType> opt =
tree_.get_optional<
ValueType>(val);
603 uint16_t *port1,
Ip4Address *server2, uint16_t *port2);
611 uint16_t *port1,
Ip4Address *server2, uint16_t *port2,
612 const std::string &key);
614 (
const boost::program_options::variables_map &
var_map);
623 const std::vector<std::string> &dsvec);
629 (
const boost::program_options::variables_map &v);
631 (
const boost::program_options::variables_map &
var_map);
633 (
const boost::program_options::variables_map &
var_map);
635 (
const boost::program_options::variables_map &
var_map);
637 (
const boost::program_options::variables_map &
var_map);
639 (
const boost::program_options::variables_map &v);
641 (
const boost::program_options::variables_map &v);
643 (
const boost::program_options::variables_map &v);
645 (
const boost::program_options::variables_map &v);
647 (
const boost::program_options::variables_map &v);
649 (
const boost::program_options::variables_map &v);
651 (
const boost::program_options::variables_map &v);
653 (
const boost::program_options::variables_map &v);
655 (
const boost::program_options::variables_map &
var_map);
657 (
const boost::program_options::variables_map &
var_map);
659 (
const boost::program_options::variables_map &v);
661 (
const boost::program_options::variables_map &v);
663 (
const boost::program_options::variables_map &v);
665 (
const boost::program_options::variables_map &v);
667 (
const boost::program_options::variables_map &v);
669 (
const boost::program_options::variables_map &v);
671 (
const boost::program_options::variables_map &v);
673 (
const boost::program_options::variables_map &v);
675 (
const boost::program_options::variables_map &v);
677 (
const boost::program_options::variables_map &v);
679 (
const boost::program_options::variables_map &v);
681 (
const boost::program_options::variables_map &v);
684 boost::program_options::options_description
options_;
858 #endif // vnsw_agent_param_hpp
const std::string & metadata_shared_secret() const
uint16_t max_endpoints_per_session_msg() const
void ParseAgentInfoArguments(const boost::program_options::variables_map &v)
std::string xmpp_server_cert_
AgentParam(bool enable_flow_options=true, bool enable_vhost_options=true, bool enable_hypervisor_options=true, bool enable_service_options=true, AgentMode agent_mode=VROUTER_AGENT)
std::string metadata_ca_cert_
uint16_t stale_config_cleanup_time() const
uint32_t llgr_stale_time_
std::vector< std::string > sample_destination_
uint16_t restart_backup_count() const
uint16_t default_nic_queue() const
boost::program_options::variables_map var_map_
uint32_t mac_learning_thread_count_
virtual void ProcessArguments()
uint16_t http_server_port_
void set_bgpaas_max_shared_sessions(uint32_t val)
std::string xmpp_server_cert() const
std::string si_docker_command() const
const int log_files_count() const
static const uint8_t kMinAapPrefixLen
static const int kEorTxPollTime
std::string agent_base_dir_
void set_flow_task_latency_limit(uint16_t count)
int vrouter_stats_interval() const
uint32_t tbb_keepawake_timeout() const
bool qos_priority_tagging() const
static const int kEorRxFallbackTime
const std::vector< int > & eth_port_plen_list() const
uint32_t mac_learning_add_tokens_
uint64_t restart_restore_audit_timeout_
std::string cat_ksocketdir() const
uint32_t bgpaas_max_shared_sessions() const
void set_mvpn_ipv4_enable(bool val)
const std::string & vhost_name() const
std::string log_category_
const uint32_t dns_timeout() const
std::string nexthop_server_endpoint_
void ParseMacLearning(const boost::program_options::variables_map &v)
uint16_t default_nic_queue_
void UpdateBgpAsaServicePortRange()
uint32_t task_monitor_timeout_msec() const
VmwareMode vmware_mode() const
const std::vector< std::string > & get_sample_destination()
uint16_t flow_thread_count_
static const uint32_t kFlowStatsInterval
uint32_t tbb_thread_count_
uint16_t end_of_rib_rx_fallback_time_
uint32_t flow_cache_timeout() const
uint32_t stale_interface_cleanup_timeout() const
uint16_t flow_cache_timeout_
uint32_t tbb_thread_count() const
const uint16_t mirror_client_port() const
const std::string & vmware_physical_port() const
Platform platform() const
uint16_t end_of_rib_tx_inactivity_time() const
const uint32_t dns_max_retries() const
uint16_t end_of_rib_tx_fallback_time() const
uint16_t max_endpoints_per_session_msg_
void ParseServiceInstanceArguments(const boost::program_options::variables_map &v)
void set_agent_stats_interval(int val)
std::vector< std::string > physical_interface_pci_addr_list_
uint16_t metadata_proxy_port() const
const Ip4Address & vhost_gw() const
std::string metadata_client_cert_
uint32_t pkt0_tx_buffer_count() const
GatewayMode gateway_mode_
bool subnet_hosts_resolvable_
const std::vector< std::string > collector_server_list() const
float vr_object_high_watermark_
std::string metadata_client_cert_type_
uint16_t max_sessions_per_aggregate_
std::string xmpp_server_key_
void ParseHypervisorArguments(const boost::program_options::variables_map &v)
uint32_t tbb_schedule_delay_
const bool use_syslog() const
uint16_t metadata_proxy_port_
const AddressList & gateway_list() const
bool restart_backup_enable() const
bool qos_priority_tagging_
std::string nexthop_server_endpoint() const
static const int kEorTxFallbackTimeOut
std::string eth_port_encap_type_
void ParseTaskSectionArguments(const boost::program_options::variables_map &v)
bool xmpp_auth_enabled() const
std::string exception_packet_interface() const
std::string bgp_as_a_service_port_range_
uint32_t mac_learning_delete_tokens_
const Ip4Address & loopback_ip() const
bool IsConfiguredTsnHostRoute(std::string addr) const
const std::vector< std::string > controller_server_list() const
const std::string & crypt_port() const
void set_mac_learning_thread_count(uint32_t threads)
void set_restart_backup_enable(bool val)
uint16_t flow_thread_count() const
const bool & crypt_port_no_arp() const
const std::set< uint16_t > & nic_queue_list() const
const std::string & bgp_as_a_service_port_range() const
uint32_t flow_netlink_pin_cpuid_
std::string si_lb_ssl_cert_path() const
uint16_t config_poll_time() const
void ParseIpArgument(const boost::program_options::variables_map &var_map, Ip4Address &server, const std::string &key)
std::string si_lbaas_auth_conf_
void ParseCollectorArguments(const boost::program_options::variables_map &var_map)
float vr_object_high_watermark() const
const std::vector< std::string > tsn_server_list() const
bool enable_service_options_
void ParseSessionDestinationArguments(const boost::program_options::variables_map &v)
uint32_t flow_add_tokens_
void set_vhost_addr(const Ip4Address &ip)
uint32_t bgpaas_max_shared_sessions_
std::unique_ptr< VirtualGatewayConfigTable > vgw_config_table_
void ParsePlatformArguments(const boost::program_options::variables_map &v)
void ParseDefaultSectionArguments(const boost::program_options::variables_map &v)
uint16_t end_of_rib_tx_poll_time_
void ParseTraceArguments(const boost::program_options::variables_map &v)
void set_measure_queue_delay(bool val)
const bool metadata_use_ssl() const
bool ParseAddress(const std::string &addr_string, Ip4Address *server, uint16_t *port)
bool vrouter_on_host_dpdk() const
std::string cat_kSocketDir_
AddressList eth_port_addr_list_
uint16_t rest_port() const
std::set< uint16_t > nic_queue_list_
virtual void ProcessTraceArguments()
const Ip4Address & vhost_addr() const
const int vhost_plen() const
std::string ksync_thread_cpu_pin_policy_
boost::property_tree::ptree & tree()
std::string xmpp_ca_cert_
uint16_t min_aap_prefix_len() const
const std::string & xen_ll_name() const
void set_test_mode(bool mode)
uint16_t dns_client_port_
void ParseArguments(int argc, char *argv[])
void ParseControllerServersArguments(const boost::program_options::variables_map &var_map)
void ParseVirtualHostArguments(const boost::program_options::variables_map &v)
void ComputeVrWatermark()
uint16_t flow_task_latency_limit() const
uint32_t mac_learning_delete_tokens()
bool ParseIp(const std::string &key, Ip4Address *server)
void AddOptions(const boost::program_options::options_description &opt)
void ParseTsnServersArguments(const boost::program_options::variables_map &var_map)
bool cat_is_dpdk_mocked() const
bool isPbbGatewayMode() const
uint16_t config_fallback_time_
std::string metadata_client_key_
uint16_t vmi_vm_vn_uve_interval_
void set_flow_stats_interval(int val)
uint16_t fabric_snat_hash_table_size_
const AddressList & compute_node_address_list() const
void UpdateBgpAsaServicePortRangeValue()
uint16_t flow_index_sm_log_count_
std::vector< std::string > physical_interface_mac_addr_list_
const std::vector< std::string > & physical_interface_pci_addr_list() const
bool restart_backup_enable_
uint32_t dns_max_retries_
SandeshConfig sandesh_config_
bool simulate_evpn_tor() const
bool flow_use_rid_in_hash() const
void add_nic_queue(uint16_t queue, uint16_t nic_queue)
bool mvpn_ipv4_enable() const
uint16_t restart_backup_count_
const std::string & tunnel_type() const
const std::vector< uint16_t > & bgp_as_a_service_port_range_value() const
HypervisorMode mode() const
static const int kConfigFallbackTimeOut
std::string metadata_shared_secret_
const std::vector< std::string > & physical_interface_mac_addr_list() const
virtual void ReInitFromConfig()
static const uint32_t kAgentStatsInterval
void ComputeFlowAndFileLimits()
uint32_t flow_del_tokens_
const std::vector< std::string > dns_server_list() const
void set_subnet_hosts_resolvable(bool val)
void ParseCollectorDSArguments(const boost::program_options::variables_map &v)
void ConfigAddOptions(const boost::program_options::options_description &opt)
uint32_t mac_learning_add_tokens() const
std::string vmware_physical_port_
std::string si_docker_command_
std::string subcluster_name_
uint64_t restart_backup_idle_timeout_
void ParseDnsArguments(const boost::program_options::variables_map &v)
virtual void InitFromConfig()
bool ParseServerList(const std::string &key, Ip4Address *s1, Ip4Address *s2)
bool flow_trace_enable() const
const boost::program_options::variables_map & var_map() const
virtual void InitFromSystem()
const AddressList & eth_port_addr_list() const
std::vector< std::string > huge_page_file_2M_
const int si_netns_workers() const
bool vrouter_on_host() const
void set_flow_trace_enable(bool val)
void ParseNexthopServerArguments(const boost::program_options::variables_map &v)
void set_agent_mode(const std::string &mode)
static std::map< string, std::map< string, string > > ParseDerivedStats(const std::vector< std::string > &dsvec)
std::map< std::string, std::map< std::string, std::string > > derived_stats_map_
HypervisorMode hypervisor_mode_
std::string xmpp_server_key() const
uint16_t http_server_port() const
std::string metadata_client_key() const
const bool & eth_port_no_arp() const
DISALLOW_COPY_AND_ASSIGN(AgentParam)
uint32_t linklocal_system_flows() const
bool isVmwareMode() const
uint64_t restart_backup_idle_timeout() const
bool vrouter_on_nic_mode() const
static const int kConfigPollTime
void set_mac_learning_delete_tokens(uint32_t delete_tokens)
uint16_t min_aap_prefix_len_
uint16_t end_of_rib_rx_fallback_time() const
int agent_stats_interval_
uint32_t task_monitor_timeout_msec_
bool xmpp_dns_auth_enable_
uint32_t flow_add_tokens() const
void ParseTestFrameworkArguments(const boost::program_options::variables_map &var_map)
bool IsForwardingEnabled() const
const Ip4Address & xen_ll_prefix() const
bool xmpp_dns_auth_enabled() const
void ParseDhcpRelayModeArguments(const boost::program_options::variables_map &var_map)
boost::property_tree::ptree tree_
void set_flow_thread_count(uint16_t count)
void set_vrouter_stats_interval(int val)
uint32_t vmi_vm_vn_uve_interval_msecs() const
int agent_stats_interval() const
std::vector< Ip4Address > AddressList
void set_mac_learning_update_tokens(uint32_t update_tokens)
static const int kLlgrStaleTime
void BuildAddrList(const std::string &val, AddressList &addr_list)
friend class AgentParamTest
const Ip4Address & xen_ll_addr() const
uint16_t config_fallback_time() const
const std::string & crypt_port_encap_type() const
uint16_t linklocal_system_flows_
const std::string huge_page_file_1G(uint16_t index) const
boost::program_options::options_description config_file_options_
uint32_t flow_ksync_tokens_
std::string crypt_port_encap_type_
std::string exception_packet_interface_
boost::asio::ip::address_v4 Ip4Address
const std::string & host_name() const
const uint16_t dns_client_port() const
bool restart_restore_enable_
std::string xmpp_ca_cert() const
float max_vm_flows() const
uint32_t flow_ksync_tokens() const
std::vector< int > eth_port_plen_list_
uint32_t tbb_exec_delay() const
const Ip4Address & xen_ll_gw() const
uint32_t flow_del_tokens() const
std::string metadata_ca_cert() const
static const int kConfigInactivityTime
std::string agent_base_dir() const
uint32_t pkt0_tx_buffer_count_
void ParseDnsServersArguments(const boost::program_options::variables_map &var_map)
const int xen_ll_plen() const
const std::string log_file() const
std::vector< std::string > eth_port_list_
uint16_t max_aggregates_per_session_endpoint() const
uint16_t config_inactivity_time() const
bool nexthop_server_add_pid_
uint32_t services_queue_limit()
std::map< uint16_t, uint16_t > qos_queue_map_
const void set_xen_ll_name(const std::string &name)
std::string syslog_facility_
void ParseRestartArguments(const boost::program_options::variables_map &v)
std::string si_netns_command() const
std::string log_property_file_
const std::string & restart_backup_dir() const
uint32_t tbb_schedule_delay() const
std::string si_lbaas_auth_conf() const
const int si_netns_timeout() const
std::string restart_backup_dir_
uint16_t flow_index_sm_log_count() const
const std::string & program_name() const
uint32_t flow_update_tokens_
void ParseFlowArguments(const boost::program_options::variables_map &v)
const std::map< std::string, std::map< std::string, std::string > > derived_stats_map() const
const std::string & eth_port_encap_type() const
bool ParseServerListArguments(const boost::program_options::variables_map &var_map, Ip4Address &server1, Ip4Address &server2, const std::string &key)
static const int kEorTxInactivityTime
uint32_t llgr_stale_time() const
uint16_t end_of_rib_tx_inactivity_time_
bool restart_restore_enable() const
std::vector< Ip4Address > AddressList
GatewayMode gateway_mode() const
std::string si_netns_command_
std::string metadata_client_cert_type() const
std::string ksync_thread_cpu_pin_policy() const
boost::program_options::options_description options() const
uint16_t fabric_snat_hash_table_size() const
std::vector< std::string > tsn_server_list_
bool GetIpAddress(const std::string &str, Ip4Address *addr)
uint16_t get_nic_queue(uint16_t queue)
std::string program_name_
void ParseMetadataProxyArguments(const boost::program_options::variables_map &v)
bool measure_queue_delay_
uint16_t mirror_client_port_
void SplitByDelimiter(const std::string &txt, std::vector< std::string > &strs, char ch)
const std::string & config_file() const
std::vector< std::string > dns_server_list_
bool isVcpeGatewayMode() const
uint32_t mac_learning_update_tokens() const
uint32_t mac_learning_thread_count() const
void Init(const std::string &config_file, const std::string &program_name)
static const uint32_t kVrouterStatsInterval
AddressList gateway_list_
uint16_t config_poll_time_
bool isDockerMode() const
const std::vector< std::string > & get_slo_destination()
const SandeshConfig & sandesh_config() const
bool GetValueFromTree(ValueType &var, const std::string &val)
void ParseNetworksArguments(const boost::program_options::variables_map &v)
const std::string & log_level() const
std::string si_lb_ssl_cert_path_
bool dhcp_relay_mode() const
const std::string huge_page_file_2M(uint16_t index) const
std::vector< std::string > slo_destination_
AgentMode agent_mode() const
uint16_t vmi_vm_vn_uve_interval() const
uint32_t linklocal_vm_flows() const
int flow_stats_interval() const
std::vector< std::string > collector_server_list_
bool subnet_hosts_resolvable() const
const std::string & log_category() const
void ParseLlgrArguments(const boost::program_options::variables_map &v)
uint16_t max_sessions_per_aggregate() const
const std::string syslog_facility() const
bool isServerGatewayMode() const
uint32_t mac_learning_update_tokens_
const std::string & log_property_file() const
std::vector< std::string > controller_server_list_
const long log_file_size() const
bool isVmwareVcenterMode() const
std::string metadata_client_cert() const
void InitVhostAndXenLLPrefix()
void PostValidateLogConfig() const
void ParseCryptArguments(const boost::program_options::variables_map &v)
const Ip4Address & mgmt_ip() const
uint32_t services_queue_limit_
const LlgrParams & llgr_params() const
void ParseServicesArguments(const boost::program_options::variables_map &v)
const std::string & agent_name() const
const Ip4Address & vhost_prefix() const
uint32_t stale_interface_cleanup_timeout_
uint16_t end_of_rib_tx_poll_time() const
uint16_t max_aggregates_per_session_endpoint_
void LogFilteredConfig() const
void ParseSimulateEvpnTorArguments(const boost::program_options::variables_map &var_map)
std::map< std::string, uint32_t >::iterator trace_buff_size_iter
virtual void DebugInitFromConfig()
std::map< std::string, uint32_t > trace_buff_size_map
const std::vector< std::string > & eth_port_list() const
const std::string & subcluster_name() const
void set_hypervisor_mode(HypervisorMode m)
bool measure_queue_delay() const
int vrouter_stats_interval_
uint32_t flow_update_tokens() const
uint16_t config_inactivity_time_
VirtualGatewayConfigTable * vgw_config_table() const
bool enable_flow_options_
std::vector< std::string > huge_page_file_1G_
uint16_t stale_config_cleanup_time_
void ParseSandeshArguments(const boost::program_options::variables_map &v)
bool enable_vhost_options_
uint16_t flow_latency_limit_
bool cat_is_agent_mocked() const
std::vector< uint16_t > bgp_as_a_service_port_range_value_
void set_gateway_mode(const std::string &mode)
bool enable_hypervisor_options_
bool vrouter_on_nic_mode_
boost::program_options::options_description options_
static const int kStaleConfigCleanupTime
uint64_t restart_restore_audit_timeout() const
uint16_t end_of_rib_tx_fallback_time_
uint32_t tbb_keepawake_timeout_
uint16_t linklocal_vm_flows_
void set_pkt0_tx_buffer_count(uint32_t val)
AddressList compute_node_address_list_
void BuildAddressList(const std::string &val)
void set_mac_learning_add_tokens(uint32_t add_tokens)