OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
agent_param.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef vnsw_agent_param_hpp
6 #define vnsw_agent_param_hpp
7 
8 #include <boost/property_tree/ptree.hpp>
9 #include <boost/program_options.hpp>
10 #include <cmn/agent_cmn.h>
11 
12 class Agent;
14 
15 struct LlgrParams {
16 public:
17  //In seconds
18  static const int kStaleConfigCleanupTime = 100;
19  static const int kConfigPollTime = 5;
20  static const int kConfigInactivityTime = 15;
21  static const int kConfigFallbackTimeOut = 900;
22  static const int kEorTxPollTime = 5;
23  static const int kEorTxFallbackTimeOut = 60;
24  static const int kEorTxInactivityTime = 15;
25  static const int kEorRxFallbackTime = 60;
26  static const int kLlgrStaleTime = 2592000; //One month
27 
28  LlgrParams();
29  virtual ~LlgrParams() { }
30 
31  /*
32  * stale_config_cleanup_time_ - On receiving all config, remove stale
33  * config.
34  */
36 
37  /*
38  * config_poll_time_ - Timer poll time
39  */
40  uint16_t config_poll_time() const {return config_poll_time_;}
41  /*
42  * config_inactivity_time_ - Silence time to conclude end of config
43  */
44  uint16_t config_inactivity_time() const {
46  }
47  /*
48  * config_fallback_time_ - Maximum time to wait for silence. In case
49  * silence is never seen use this time to conclude end of config.
50  */
51  uint16_t config_fallback_time() const {
52  return config_fallback_time_;
53  }
54 
55  /*
56  * end_of_rib_tx_poll_time_ - End of rib timer poll time.
57  */
58  uint16_t end_of_rib_tx_poll_time() const {
60  }
61  /*
62  * end_of_rib_tx_fallback_time_ - Maximum time to wait for silence, if
63  * silence not seen then use this time to conclude fallback
64  */
65  uint16_t end_of_rib_tx_fallback_time() const {
67  }
68  /*
69  * end_of_rib_tx_inactivity_time_ - Silence time on route publish to
70  * conclude end of rib
71  */
72  uint16_t end_of_rib_tx_inactivity_time() const {
74  }
75 
76  /*
77  * end_of_rib_rx_fallback_time_ - Maximum time to wait for end of rib from
78  * CN on a channel
79  */
80  uint16_t end_of_rib_rx_fallback_time() const {
82  }
83 
84  /*
85  * llgr_stale_time_ - Maximum time to wait after CN is not ready to retain
86  * stale routes.
87  */
88  uint32_t llgr_stale_time() const {
89  return llgr_stale_time_;
90  }
91 
92 private:
93  friend class AgentParam;
94 
108 };
109 
110 // Class handling agent configuration parameters from config file and
111 // arguments
112 class AgentParam {
113 public:
114  static const uint32_t kAgentStatsInterval = (30 * 1000); // time in millisecs
115  static const uint32_t kFlowStatsInterval = (1000); // time in milliseconds
116  static const uint32_t kVrouterStatsInterval = (30 * 1000); //time-millisecs
117  typedef std::vector<Ip4Address> AddressList;
118 
119  // Agent mode we are running in
120  enum AgentMode {
125  };
126 
127  // Gateway mode that the agent is running in
128  enum GatewayMode {
130  SERVER, // also has VMs on a remote server & vrouter maps vlans to VMIs
133  };
134 
135  // Hypervisor mode we are working on
142  };
143 
144  enum VmwareMode {
147  };
148 
149  enum Platform {
153  };
154 
155  struct PortInfo {
157  name_(""), vrf_(""), addr_(0), prefix_(0), plen_(0), gw_(0) {}
158  ~PortInfo() { };
159 
160  std::string name_;
161  std::string vrf_;
164  int plen_;
166  };
167 
168  std::map<std::string, uint32_t> trace_buff_size_map;
169  std::map<std::string, uint32_t>::iterator trace_buff_size_iter;
170  AgentParam(bool enable_flow_options = true,
171  bool enable_vhost_options = true,
172  bool enable_hypervisor_options = true,
173  bool enable_service_options = true,
175  virtual ~AgentParam();
176 
177  virtual int Validate();
178 
180  return vhost_.addr_.to_ulong() != 0? true : false;
181  }
182 
183  const std::string &vhost_name() const { return vhost_.name_; }
184  const Ip4Address &vhost_addr() const { return vhost_.addr_; }
185  void set_vhost_addr(const Ip4Address &ip) {
186  vhost_.addr_ = ip;
187  }
188  const Ip4Address &vhost_prefix() const { return vhost_.prefix_; }
189  const int vhost_plen() const { return vhost_.plen_; }
190  const Ip4Address &vhost_gw() const { return gateway_list_[0]; }
191  const AddressList &gateway_list() const {
192  return gateway_list_;
193  }
194 
195  const std::string &xen_ll_name() const { return xen_ll_.name_; }
196  const void set_xen_ll_name(const std::string &name) {
197  xen_ll_.name_ = name;
198  }
199  const Ip4Address &xen_ll_addr() const { return xen_ll_.addr_; }
200  const Ip4Address &xen_ll_prefix() const { return xen_ll_.prefix_; }
201  const int xen_ll_plen() const { return xen_ll_.plen_; }
202  const Ip4Address &xen_ll_gw() const { return xen_ll_.gw_; }
203 
204  const std::string &agent_name() const { return agent_name_; }
205  const std::vector<std::string> &eth_port_list() const {return eth_port_list_;};
206  const bool &eth_port_no_arp() const { return eth_port_no_arp_; }
207  const std::string &eth_port_encap_type() const { return eth_port_encap_type_; }
209  return eth_port_addr_list_;
210  }
211  const std::vector<int>& eth_port_plen_list() const {return eth_port_plen_list_;}
212  void BuildAddrList(const std::string &val, AddressList& addr_list);
213  const std::string &crypt_port() const { return crypt_port_; }
214  const bool &crypt_port_no_arp() const { return crypt_port_no_arp_; }
215  const std::string &crypt_port_encap_type() const { return crypt_port_encap_type_; }
216 
217  const std::vector<std::string> controller_server_list() const {
219  }
220  const std::string &subcluster_name() const { return subcluster_name_; }
221  const std::vector<std::string> dns_server_list() const {
222  return dns_server_list_;
223  }
224  const std::vector<std::string> tsn_server_list() const {
225  return tsn_server_list_;
226  }
227  const uint16_t dns_client_port() const {
228  if (test_mode_)
229  return 0;
230  return dns_client_port_;
231  }
232  const uint32_t dns_timeout() const { return dns_timeout_; }
233  const uint32_t dns_max_retries() const { return dns_max_retries_; }
234  const uint16_t mirror_client_port() const {
235  if (test_mode_)
236  return 0;
237  return mirror_client_port_;
238  }
239  const Ip4Address &mgmt_ip() const { return mgmt_ip_; }
240  const std::string &tunnel_type() const { return tunnel_type_; }
241  const std::string &metadata_shared_secret() const { return metadata_shared_secret_; }
242  uint16_t metadata_proxy_port() const {
243  if (test_mode_)
244  return 0;
245  return metadata_proxy_port_;
246  }
247  const bool metadata_use_ssl() const { return metadata_use_ssl_; }
248  std::string metadata_client_cert() const { return metadata_client_cert_;}
249  std::string metadata_client_cert_type() const {
251  }
252  std::string metadata_client_key() const { return metadata_client_key_;}
253  std::string metadata_ca_cert() const { return metadata_ca_cert_;}
254  float max_vm_flows() const { return max_vm_flows_; }
255  uint32_t linklocal_system_flows() const { return linklocal_system_flows_; }
256  uint32_t linklocal_vm_flows() const { return linklocal_vm_flows_; }
257  uint32_t flow_cache_timeout() const {return flow_cache_timeout_;}
259  uint32_t flow_add_tokens() const {return flow_add_tokens_;}
260  uint32_t flow_ksync_tokens() const {return flow_ksync_tokens_;}
261  uint32_t flow_del_tokens() const {return flow_del_tokens_;}
262  uint32_t flow_update_tokens() const {return flow_update_tokens_;}
265  }
266  bool dhcp_relay_mode() const {return dhcp_relay_mode_;}
267  bool xmpp_auth_enabled() const {return xmpp_auth_enable_;}
268  std::string xmpp_server_cert() const { return xmpp_server_cert_;}
269  std::string xmpp_server_key() const { return xmpp_server_key_;}
270  std::string xmpp_ca_cert() const { return xmpp_ca_cert_;}
272  bool simulate_evpn_tor() const {return simulate_evpn_tor_;}
273  std::string si_netns_command() const {return si_netns_command_;}
274  std::string si_docker_command() const {return si_docker_command_;}
275  const int si_netns_workers() const {return si_netns_workers_;}
276  const int si_netns_timeout() const {return si_netns_timeout_;}
277  std::string si_lb_ssl_cert_path() const {
278  return si_lb_ssl_cert_path_;
279  }
280  std::string si_lbaas_auth_conf() const {
281  return si_lbaas_auth_conf_;
282  }
283 
284  std::string nexthop_server_endpoint() const {
286  }
287 
288  const std::string &config_file() const { return config_file_; }
289  const std::string &program_name() const { return program_name_;}
290  const std::string log_file() const { return log_file_; }
291  const int log_files_count() const { return log_files_count_; }
292  const long log_file_size() const { return log_file_size_; }
293  bool log_local() const { return log_local_; }
294  bool log_flow() const { return log_flow_; }
295  const std::vector<std::string> &get_sample_destination() {
296  return sample_destination_;
297  }
298  const std::vector<std::string> &get_slo_destination() {
299  return slo_destination_;
300  }
301  const std::string &log_level() const { return log_level_; }
302  const std::string &log_category() const { return log_category_; }
303  const std::string &log_property_file() const { return log_property_file_; }
304  const bool use_syslog() const { return use_syslog_; }
305  const std::string syslog_facility() const { return syslog_facility_; }
306  const std::vector<std::string> collector_server_list() const {
307  return collector_server_list_;
308  }
309  const std::map<std::string, std::map<std::string, std::string> > derived_stats_map() const {
310  return derived_stats_map_;
311  }
312  uint16_t http_server_port() const { return http_server_port_; }
313  uint16_t rest_port() const { return rest_port_; }
314  const std::string &host_name() const { return host_name_; }
315  int agent_stats_interval() const {
316  if (test_mode_) {
317  return agent_stats_interval_;
318  }
320  }
328  }
330  return vgw_config_table_.get();
331  }
332  const std::string &vmware_physical_port() const {
333  return vmware_physical_port_;
334  }
335 
337  bool isXenMode() const { return hypervisor_mode_ == MODE_XEN; }
338  bool isKvmMode() const { return hypervisor_mode_ == MODE_KVM; }
339  bool isDockerMode() const { return hypervisor_mode_ == MODE_DOCKER; }
340  bool isVmwareMode() const { return hypervisor_mode_ == MODE_VMWARE; }
341  bool isVmwareVcenterMode() const { return vmware_mode_ == VCENTER; }
342  VmwareMode vmware_mode() const { return vmware_mode_; }
343  Platform platform() const { return platform_; }
344  bool vrouter_on_nic_mode() const {
345  return platform_ == VROUTER_ON_NIC;
346  }
347  bool vrouter_on_host_dpdk() const {
349  }
350  bool vrouter_on_host() const {
351  return platform_ == VROUTER_ON_HOST;
352  }
353  bool subnet_hosts_resolvable() const {
355  }
356 
357  void Init(const std::string &config_file,
358  const std::string &program_name);
359  void ReInit();
360  void DebugInit();
361 
362  void LogConfig() const;
363  void LogFilteredConfig() const;
364  void PostValidateLogConfig() const;
366  void InitPlatform();
367  void set_test_mode(bool mode);
368  bool test_mode() const { return test_mode_; }
369 
370  void AddOptions(const boost::program_options::options_description &opt);
371  void ConfigAddOptions(const boost::program_options::options_description &opt);
372  void ParseArguments(int argc, char *argv[]);
373  const boost::program_options::variables_map &var_map() const {
374  return var_map_;
375  }
376 
377  boost::program_options::options_description options() const {
378  return options_;
379  }
380  AgentMode agent_mode() const { return agent_mode_; }
381  bool isTsnAgent() const {
382  return ((agent_mode_ == TSN_AGENT) |
384  }
385  bool isTorAgent() const { return agent_mode_ == TOR_AGENT; }
386  bool IsForwardingEnabled() const {
388  }
389  bool isServerGatewayMode() const { return gateway_mode_ == SERVER; }
390  bool isVcpeGatewayMode() const { return gateway_mode_ == VCPE; }
391  bool isPbbGatewayMode() const { return gateway_mode_ == PBB; }
393 
396  }
397  void BuildAddressList(const std::string &val);
398  void SplitByDelimiter(const std::string &txt,
399  std::vector<std::string> &strs, char ch);
400 
401  std::string exception_packet_interface() const {
403  }
404  const std::vector<std::string> &physical_interface_pci_addr_list() const {
406  }
407  const std::vector<std::string> &physical_interface_mac_addr_list() const {
409  }
410  std::string agent_base_dir() const { return agent_base_dir_; }
411  const std::string &bgp_as_a_service_port_range() const {
413  }
414  const std::vector<uint16_t> &bgp_as_a_service_port_range_value() const {
416  }
418  uint32_t bgpaas_max_shared_sessions() const {
420  }
421  void set_bgpaas_max_shared_sessions(uint32_t val) {
423  }
424 
425 
426  const SandeshConfig &sandesh_config() const { return sandesh_config_; }
427 
428  uint16_t flow_thread_count() const { return flow_thread_count_; }
429  void set_flow_thread_count(uint16_t count) { flow_thread_count_ = count; }
430 
431  bool flow_trace_enable() const { return flow_trace_enable_; }
432  void set_flow_trace_enable(bool val) { flow_trace_enable_ = val; }
433 
434  bool flow_use_rid_in_hash() const { return !flow_hash_excl_rid_; }
435 
436  uint16_t flow_task_latency_limit() const { return flow_latency_limit_; }
437  void set_flow_task_latency_limit(uint16_t count) {
438  flow_latency_limit_ = count;
439  }
440 
441  uint16_t max_sessions_per_aggregate() const {
443  }
446  }
447  uint16_t max_endpoints_per_session_msg() const {
449  }
450  std::string ksync_thread_cpu_pin_policy() const {
452  }
453  uint32_t tbb_thread_count() const { return tbb_thread_count_; }
454  uint32_t tbb_exec_delay() const { return tbb_exec_delay_; }
455  uint32_t tbb_schedule_delay() const { return tbb_schedule_delay_; }
456  uint32_t tbb_keepawake_timeout() const { return tbb_keepawake_timeout_; }
457  uint32_t task_monitor_timeout_msec() const {
459  }
460  uint16_t min_aap_prefix_len() const {
461  if ((min_aap_prefix_len_ < 1) || (min_aap_prefix_len_ > 31)) {
463  }
464  return min_aap_prefix_len_;
465  }
466  uint16_t vmi_vm_vn_uve_interval() const { return vmi_vm_vn_uve_interval_; }
467  uint32_t vmi_vm_vn_uve_interval_msecs() const {
468  return (vmi_vm_vn_uve_interval_ * 1000);
469  }
470 
471  uint16_t fabric_snat_hash_table_size() const {
473  }
474 
475  // Restart parameters
477  void set_restart_backup_enable(bool val) {
479  }
480  uint64_t restart_backup_idle_timeout() const {
482  }
483  const std::string& restart_backup_dir() const {
484  return restart_backup_dir_;
485  }
486  uint16_t restart_backup_count() const { return restart_backup_count_; }
488  uint64_t restart_restore_audit_timeout() const {
490  }
491 
492  const std::string huge_page_file_1G(uint16_t index) const {
493  if (huge_page_file_1G_.size() > index)
494  return huge_page_file_1G_[index];
495  else
496  return "";
497  }
498  const std::string huge_page_file_2M(uint16_t index) const {
499  if (huge_page_file_2M_.size() > index)
500  return huge_page_file_2M_[index];
501  else
502  return "";
503  }
504 
505  // pkt0 tx buffer
506  uint32_t pkt0_tx_buffer_count() const { return pkt0_tx_buffer_count_; }
507  void set_pkt0_tx_buffer_count(uint32_t val) { pkt0_tx_buffer_count_ = val; }
508  bool measure_queue_delay() const { return measure_queue_delay_; }
510  const std::set<uint16_t>& nic_queue_list() const {
511  return nic_queue_list_;
512  }
513  uint16_t get_nic_queue(uint16_t queue) {
514  std::map<uint16_t, uint16_t>::iterator it = qos_queue_map_.find(queue);
515  if (it != qos_queue_map_.end()) {
516  return it->second;
517  }
518  return default_nic_queue_;
519  }
520 
521  uint16_t default_nic_queue() const {
522  return default_nic_queue_;
523  }
524 
525  void add_nic_queue(uint16_t queue, uint16_t nic_queue) {
526  qos_queue_map_[queue] = nic_queue;
527  }
528  const LlgrParams &llgr_params() const {return llgr_params_;}
529 
530  void set_mac_learning_thread_count(uint32_t threads) {
531  mac_learning_thread_count_ = threads;
532  }
533 
534  uint32_t mac_learning_thread_count() const {
536  }
537 
538  void set_mac_learning_add_tokens(uint32_t add_tokens) {
539  mac_learning_add_tokens_ = add_tokens;
540  }
541 
542  uint32_t mac_learning_add_tokens() const {
544  }
545 
546  void set_mac_learning_update_tokens(uint32_t update_tokens) {
547  mac_learning_update_tokens_ = update_tokens;
548  }
549 
550  uint32_t mac_learning_update_tokens() const {
552  }
553 
554  void set_mac_learning_delete_tokens(uint32_t delete_tokens) {
555  mac_learning_delete_tokens_ = delete_tokens;
556  }
557 
560  }
561 
563  bool IsConfiguredTsnHostRoute(std::string addr) const;
564 
565  bool mvpn_ipv4_enable() const { return mvpn_ipv4_enable_; }
566  void set_mvpn_ipv4_enable(bool val) { mvpn_ipv4_enable_ = val; }
567 
568  //ATF stands for Agent Test Framework
569  bool cat_is_agent_mocked() const { return AgentMock_; }
570 
571  bool cat_is_dpdk_mocked() const { return cat_MockDPDK_; }
572 
573  std::string cat_ksocketdir() const { return cat_kSocketDir_; }
574 
576 
577  const Ip4Address &loopback_ip() const { return loopback_ip_; }
578 
579 protected:
581  virtual void InitFromSystem();
582  virtual void InitFromConfig();
583  virtual void ReInitFromConfig();
584  virtual void DebugInitFromConfig();
585  virtual void ProcessTraceArguments();
586  virtual void ProcessArguments();
587  boost::property_tree::ptree &tree() { return tree_; }
588  template <typename ValueType>
589  bool GetValueFromTree(ValueType &var, const std::string &val) {
590  boost::optional<ValueType> opt = tree_.get_optional<ValueType>(val);
591  if (opt) {
592  var = opt.get();
593  return true;
594  }
595  return false;
596  }
597  bool GetIpAddress(const std::string &str, Ip4Address *addr);
598  bool ParseIp(const std::string &key, Ip4Address *server);
599  bool ParseServerList(const std::string &key, Ip4Address *s1, Ip4Address *s2);
600  bool ParseAddress(const std::string &addr_string,
601  Ip4Address *server, uint16_t *port);
602  bool ParseServerList(const std::string &key, Ip4Address *server1,
603  uint16_t *port1, Ip4Address *server2, uint16_t *port2);
604  void ParseIpArgument(const boost::program_options::variables_map &var_map,
605  Ip4Address &server, const std::string &key);
607  (const boost::program_options::variables_map &var_map, Ip4Address &server1,
608  Ip4Address &server2, const std::string &key);
610  (const boost::program_options::variables_map &var_map, Ip4Address *server1,
611  uint16_t *port1, Ip4Address *server2, uint16_t *port2,
612  const std::string &key);
614  (const boost::program_options::variables_map &var_map);
615 
616 private:
617  friend class AgentParamTest;
621  void ComputeVrWatermark();
622  static std::map<string, std::map<string, string> > ParseDerivedStats(
623  const std::vector<std::string> &dsvec);
624  void ParseQueue();
625  void set_agent_mode(const std::string &mode);
626  void set_gateway_mode(const std::string &mode);
627 
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);
640  void ParseDnsArguments
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);
652  void ParseFlowArguments
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);
672  void ParseLlgrArguments
673  (const boost::program_options::variables_map &v);
674  void ParseMacLearning
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);
682 
683  boost::program_options::variables_map var_map_;
684  boost::program_options::options_description options_;
685  boost::program_options::options_description config_file_options_;
692 
695  // Number of tx-buffers on pkt0 device
698 
699  std::string agent_name_;
700  std::vector<std::string> eth_port_list_;
702  std::vector<int> eth_port_plen_list_;
704  std::string eth_port_encap_type_;
705  std::string crypt_port_;
708  std::vector<std::string> controller_server_list_;
709  std::string subcluster_name_;
710  std::vector<std::string> dns_server_list_;
711  std::vector<std::string> tsn_server_list_;
713  uint32_t dns_timeout_;
719  std::string tunnel_type_;
725  std::string metadata_client_key_;
726  std::string metadata_ca_cert_;
738 
739  // Parameters configured from command line arguments only (for now)
740  std::string config_file_;
741  std::string program_name_;
742  std::string log_file_;
745  std::string log_property_file_;
747  bool log_flow_;
748  std::vector<std::string> slo_destination_;
749  std::vector<std::string> sample_destination_;
750  std::string log_level_;
751  std::string log_category_;
753  std::string syslog_facility_;
754  std::vector<std::string> collector_server_list_;
755  std::map<std::string, std::map<std::string, std::string> > derived_stats_map_;
757  uint16_t rest_port_;
758  std::string host_name_;
764  boost::property_tree::ptree tree_;
765  std::unique_ptr<VirtualGatewayConfigTable> vgw_config_table_;
768  std::string xmpp_server_cert_;
769  std::string xmpp_server_key_;
770  std::string xmpp_ca_cert_;
772  //Simulate EVPN TOR mode moves agent into L2 mode. This mode is required
773  //only for testing where MX and bare metal are simulated. VM on the
774  //simulated compute node behaves as bare metal.
776  std::string si_netns_command_;
777  std::string si_docker_command_;
780  std::string si_lb_ssl_cert_path_;
781  std::string si_lbaas_auth_conf_;
783  // List of IP addresses on the compute node.
790  std::vector<std::string> physical_interface_pci_addr_list_;
791  std::vector<std::string> physical_interface_mac_addr_list_;
792  std::string agent_base_dir_;
802  std::vector<uint16_t> bgp_as_a_service_port_range_value_;
805 
806  // Sandesh config options
808 
809  // Agent config backup options
811  // Config backup idle timeout in msec
812  // Backup is trigerred if there is no config change in this time
814  // Config backup directory
815  std::string restart_backup_dir_;
816  // Number of config backup files
818  // Config restore options
820  // Config restore audit timeout in msec
822 
823  std::vector<std::string> huge_page_file_1G_;
824  std::vector<std::string> huge_page_file_2M_;
825 
827  // TBB related
829  uint32_t tbb_exec_delay_;
832  // Monitor task library and assert if inactivity detected
834  //Knob to configure priority tagging when in DCB mode.
836  std::map<uint16_t, uint16_t> qos_queue_map_;
837  std::set<uint16_t> nic_queue_list_;
848  //test framework parameters
851  std::string cat_kSocketDir_;
856 };
857 
858 #endif // vnsw_agent_param_hpp
bool mvpn_ipv4_enable_
Definition: agent_param.h:847
const std::string & metadata_shared_secret() const
Definition: agent_param.h:241
uint16_t max_endpoints_per_session_msg() const
Definition: agent_param.h:447
VmwareMode vmware_mode_
Definition: agent_param.h:782
void ParseAgentInfoArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:736
std::string xmpp_server_cert_
Definition: agent_param.h:768
void InitPlatform()
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_
Definition: agent_param.h:726
bool eth_port_no_arp_
Definition: agent_param.h:703
uint16_t stale_config_cleanup_time() const
Definition: agent_param.h:35
uint32_t llgr_stale_time_
Definition: agent_param.h:107
std::vector< std::string > sample_destination_
Definition: agent_param.h:749
void DebugInit()
uint16_t restart_backup_count() const
Definition: agent_param.h:486
bool isTorAgent() const
Definition: agent_param.h:385
uint16_t default_nic_queue() const
Definition: agent_param.h:521
boost::program_options::variables_map var_map_
Definition: agent_param.h:683
uint32_t mac_learning_thread_count_
Definition: agent_param.h:840
virtual void ProcessArguments()
uint16_t http_server_port_
Definition: agent_param.h:756
void set_bgpaas_max_shared_sessions(uint32_t val)
Definition: agent_param.h:421
std::string xmpp_server_cert() const
Definition: agent_param.h:268
std::string si_docker_command() const
Definition: agent_param.h:274
const int log_files_count() const
Definition: agent_param.h:291
static const uint8_t kMinAapPrefixLen
Definition: agent.h:388
static const int kEorTxPollTime
Definition: agent_param.h:22
std::string agent_base_dir_
Definition: agent_param.h:792
void set_flow_task_latency_limit(uint16_t count)
Definition: agent_param.h:437
float max_vm_flows_
Definition: agent_param.h:727
int vrouter_stats_interval() const
Definition: agent_param.h:322
std::string crypt_port_
Definition: agent_param.h:705
uint32_t tbb_keepawake_timeout() const
Definition: agent_param.h:456
bool qos_priority_tagging() const
Definition: agent_param.h:562
static const int kEorRxFallbackTime
Definition: agent_param.h:25
const std::vector< int > & eth_port_plen_list() const
Definition: agent_param.h:211
uint32_t mac_learning_add_tokens_
Definition: agent_param.h:841
int flow_stats_interval_
Definition: agent_param.h:760
uint64_t restart_restore_audit_timeout_
Definition: agent_param.h:821
std::string cat_ksocketdir() const
Definition: agent_param.h:573
uint32_t bgpaas_max_shared_sessions() const
Definition: agent_param.h:418
void set_mvpn_ipv4_enable(bool val)
Definition: agent_param.h:566
const std::string & vhost_name() const
Definition: agent_param.h:183
std::string log_category_
Definition: agent_param.h:751
const uint32_t dns_timeout() const
Definition: agent_param.h:232
std::string nexthop_server_endpoint_
Definition: agent_param.h:785
void ParseMacLearning(const boost::program_options::variables_map &v)
Definition: agent_param.cc:901
PortInfo vhost_
Definition: agent_param.h:694
uint16_t default_nic_queue_
Definition: agent_param.h:838
void UpdateBgpAsaServicePortRange()
uint32_t task_monitor_timeout_msec() const
Definition: agent_param.h:457
VmwareMode vmware_mode() const
Definition: agent_param.h:342
const std::vector< std::string > & get_sample_destination()
Definition: agent_param.h:295
uint16_t flow_thread_count_
Definition: agent_param.h:793
static const uint32_t kFlowStatsInterval
Definition: agent_param.h:115
uint32_t tbb_thread_count_
Definition: agent_param.h:828
uint16_t end_of_rib_rx_fallback_time_
Definition: agent_param.h:106
uint32_t flow_cache_timeout() const
Definition: agent_param.h:257
uint32_t stale_interface_cleanup_timeout() const
Definition: agent_param.h:263
uint16_t flow_cache_timeout_
Definition: agent_param.h:730
std::string log_file_
Definition: agent_param.h:742
uint32_t tbb_thread_count() const
Definition: agent_param.h:453
const uint16_t mirror_client_port() const
Definition: agent_param.h:234
const std::string & vmware_physical_port() const
Definition: agent_param.h:332
bool metadata_use_ssl_
Definition: agent_param.h:722
Platform platform() const
Definition: agent_param.h:343
uint16_t end_of_rib_tx_inactivity_time() const
Definition: agent_param.h:72
const uint32_t dns_max_retries() const
Definition: agent_param.h:233
uint16_t end_of_rib_tx_fallback_time() const
Definition: agent_param.h:65
uint16_t max_endpoints_per_session_msg_
Definition: agent_param.h:799
void ParseServiceInstanceArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:749
void set_agent_stats_interval(int val)
Definition: agent_param.h:323
std::vector< std::string > physical_interface_pci_addr_list_
Definition: agent_param.h:790
bool flow_hash_excl_rid_
Definition: agent_param.h:795
uint16_t metadata_proxy_port() const
Definition: agent_param.h:242
int si_netns_timeout_
Definition: agent_param.h:779
const Ip4Address & vhost_gw() const
Definition: agent_param.h:190
std::string metadata_client_cert_
Definition: agent_param.h:723
uint32_t pkt0_tx_buffer_count() const
Definition: agent_param.h:506
GatewayMode gateway_mode_
Definition: agent_param.h:691
bool subnet_hosts_resolvable_
Definition: agent_param.h:800
const std::vector< std::string > collector_server_list() const
Definition: agent_param.h:306
float vr_object_high_watermark_
Definition: agent_param.h:852
bool xmpp_auth_enable_
Definition: agent_param.h:767
std::string metadata_client_cert_type_
Definition: agent_param.h:724
int si_netns_workers_
Definition: agent_param.h:778
uint16_t max_sessions_per_aggregate_
Definition: agent_param.h:797
std::string xmpp_server_key_
Definition: agent_param.h:769
void ParseHypervisorArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:554
uint32_t tbb_schedule_delay_
Definition: agent_param.h:830
const bool use_syslog() const
Definition: agent_param.h:304
uint16_t metadata_proxy_port_
Definition: agent_param.h:721
const AddressList & gateway_list() const
Definition: agent_param.h:191
bool restart_backup_enable() const
Definition: agent_param.h:476
bool qos_priority_tagging_
Definition: agent_param.h:835
std::string nexthop_server_endpoint() const
Definition: agent_param.h:284
static const int kEorTxFallbackTimeOut
Definition: agent_param.h:23
std::string eth_port_encap_type_
Definition: agent_param.h:704
void ParseTaskSectionArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:653
bool xmpp_auth_enabled() const
Definition: agent_param.h:267
bool log_local_
Definition: agent_param.h:746
bool AgentMock_
Definition: agent_param.h:849
std::string exception_packet_interface() const
Definition: agent_param.h:401
std::string bgp_as_a_service_port_range_
Definition: agent_param.h:801
uint32_t mac_learning_delete_tokens_
Definition: agent_param.h:843
const Ip4Address & loopback_ip() const
Definition: agent_param.h:577
bool IsConfiguredTsnHostRoute(std::string addr) const
const std::vector< std::string > controller_server_list() const
Definition: agent_param.h:217
void LogConfig() const
const std::string & crypt_port() const
Definition: agent_param.h:213
void set_mac_learning_thread_count(uint32_t threads)
Definition: agent_param.h:530
void set_restart_backup_enable(bool val)
Definition: agent_param.h:477
uint16_t flow_thread_count() const
Definition: agent_param.h:428
const bool & crypt_port_no_arp() const
Definition: agent_param.h:214
const std::set< uint16_t > & nic_queue_list() const
Definition: agent_param.h:510
long log_file_size_
Definition: agent_param.h:744
bool IsVHostConfigured()
Definition: agent_param.h:179
const std::string & bgp_as_a_service_port_range() const
Definition: agent_param.h:411
uint32_t flow_netlink_pin_cpuid_
Definition: agent_param.h:736
std::string si_lb_ssl_cert_path() const
Definition: agent_param.h:277
uint16_t config_poll_time() const
Definition: agent_param.h:40
void ParseIpArgument(const boost::program_options::variables_map &var_map, Ip4Address &server, const std::string &key)
Definition: agent_param.cc:154
std::string si_lbaas_auth_conf_
Definition: agent_param.h:781
void ParseCollectorArguments(const boost::program_options::variables_map &var_map)
Definition: agent_param.cc:413
float vr_object_high_watermark() const
Definition: agent_param.h:575
const std::vector< std::string > tsn_server_list() const
Definition: agent_param.h:224
bool enable_service_options_
Definition: agent_param.h:689
void ParseSessionDestinationArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:369
uint32_t flow_add_tokens_
Definition: agent_param.h:732
void set_vhost_addr(const Ip4Address &ip)
Definition: agent_param.h:185
uint32_t bgpaas_max_shared_sessions_
Definition: agent_param.h:804
std::unique_ptr< VirtualGatewayConfigTable > vgw_config_table_
Definition: agent_param.h:765
virtual ~LlgrParams()
Definition: agent_param.h:29
void ParsePlatformArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:790
void ParseDefaultSectionArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:603
uint16_t end_of_rib_tx_poll_time_
Definition: agent_param.h:102
void ParseTraceArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:919
void set_measure_queue_delay(bool val)
Definition: agent_param.h:509
const bool metadata_use_ssl() const
Definition: agent_param.h:247
bool ParseAddress(const std::string &addr_string, Ip4Address *server, uint16_t *port)
Definition: agent_param.cc:103
bool vrouter_on_host_dpdk() const
Definition: agent_param.h:347
std::string cat_kSocketDir_
Definition: agent_param.h:851
AddressList eth_port_addr_list_
Definition: agent_param.h:701
bool cat_MockDPDK_
Definition: agent_param.h:850
uint16_t rest_port() const
Definition: agent_param.h:313
std::set< uint16_t > nic_queue_list_
Definition: agent_param.h:837
virtual void ProcessTraceArguments()
bool test_mode() const
Definition: agent_param.h:368
const Ip4Address & vhost_addr() const
Definition: agent_param.h:184
const int vhost_plen() const
Definition: agent_param.h:189
std::string ksync_thread_cpu_pin_policy_
Definition: agent_param.h:826
boost::property_tree::ptree & tree()
Definition: agent_param.h:587
Ip4Address loopback_ip_
Definition: agent_param.h:853
std::string xmpp_ca_cert_
Definition: agent_param.h:770
uint16_t min_aap_prefix_len() const
Definition: agent_param.h:460
const std::string & xen_ll_name() const
Definition: agent_param.h:195
void set_test_mode(bool mode)
uint16_t dns_client_port_
Definition: agent_param.h:712
void ParseArguments(int argc, char *argv[])
void ParseControllerServersArguments(const boost::program_options::variables_map &var_map)
Definition: agent_param.cc:424
void ParseVirtualHostArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:505
void ComputeVrWatermark()
uint16_t flow_task_latency_limit() const
Definition: agent_param.h:436
uint32_t mac_learning_delete_tokens()
Definition: agent_param.h:558
bool ParseIp(const std::string &key, Ip4Address *server)
Definition: agent_param.cc:56
void AddOptions(const boost::program_options::options_description &opt)
void ParseTsnServersArguments(const boost::program_options::variables_map &var_map)
Definition: agent_param.cc:447
bool cat_is_dpdk_mocked() const
Definition: agent_param.h:571
bool isPbbGatewayMode() const
Definition: agent_param.h:391
bool isXenMode() const
Definition: agent_param.h:337
uint16_t config_fallback_time_
Definition: agent_param.h:100
std::string metadata_client_key_
Definition: agent_param.h:725
virtual ~AgentParam()
uint16_t vmi_vm_vn_uve_interval_
Definition: agent_param.h:845
void set_flow_stats_interval(int val)
Definition: agent_param.h:324
uint16_t fabric_snat_hash_table_size_
Definition: agent_param.h:846
const AddressList & compute_node_address_list() const
Definition: agent_param.h:394
void UpdateBgpAsaServicePortRangeValue()
uint16_t flow_index_sm_log_count_
Definition: agent_param.h:731
std::vector< std::string > physical_interface_mac_addr_list_
Definition: agent_param.h:791
const std::vector< std::string > & physical_interface_pci_addr_list() const
Definition: agent_param.h:404
uint16_t rest_port_
Definition: agent_param.h:757
bool restart_backup_enable_
Definition: agent_param.h:810
uint32_t dns_max_retries_
Definition: agent_param.h:714
SandeshConfig sandesh_config_
Definition: agent_param.h:807
bool log_flow() const
Definition: agent_param.h:294
bool simulate_evpn_tor() const
Definition: agent_param.h:272
bool flow_use_rid_in_hash() const
Definition: agent_param.h:434
void add_nic_queue(uint16_t queue, uint16_t nic_queue)
Definition: agent_param.h:525
void ParseQueue()
Definition: agent_param.cc:309
bool mvpn_ipv4_enable() const
Definition: agent_param.h:565
uint16_t restart_backup_count_
Definition: agent_param.h:817
const std::string & tunnel_type() const
Definition: agent_param.h:240
const std::vector< uint16_t > & bgp_as_a_service_port_range_value() const
Definition: agent_param.h:414
HypervisorMode mode() const
Definition: agent_param.h:336
static const int kConfigFallbackTimeOut
Definition: agent_param.h:21
std::string metadata_shared_secret_
Definition: agent_param.h:720
const std::vector< std::string > & physical_interface_mac_addr_list() const
Definition: agent_param.h:407
virtual void ReInitFromConfig()
static const uint32_t kAgentStatsInterval
Definition: agent_param.h:114
void ComputeFlowAndFileLimits()
uint32_t flow_del_tokens_
Definition: agent_param.h:734
bool isKvmMode() const
Definition: agent_param.h:338
const std::vector< std::string > dns_server_list() const
Definition: agent_param.h:221
void set_subnet_hosts_resolvable(bool val)
Definition: agent_param.h:326
Ip4Address mgmt_ip_
Definition: agent_param.h:716
void ParseCollectorDSArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:459
void ConfigAddOptions(const boost::program_options::options_description &opt)
uint32_t mac_learning_add_tokens() const
Definition: agent_param.h:542
std::string vmware_physical_port_
Definition: agent_param.h:762
std::string si_docker_command_
Definition: agent_param.h:777
std::string subcluster_name_
Definition: agent_param.h:709
uint64_t restart_backup_idle_timeout_
Definition: agent_param.h:813
Definition: agent.h:358
void ParseDnsArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:542
virtual void InitFromConfig()
bool ParseServerList(const std::string &key, Ip4Address *s1, Ip4Address *s2)
bool flow_trace_enable() const
Definition: agent_param.h:431
const boost::program_options::variables_map & var_map() const
Definition: agent_param.h:373
virtual void InitFromSystem()
AgentMode agent_mode_
Definition: agent_param.h:690
void ReInit()
const AddressList & eth_port_addr_list() const
Definition: agent_param.h:208
std::vector< std::string > huge_page_file_2M_
Definition: agent_param.h:824
const int si_netns_workers() const
Definition: agent_param.h:275
bool vrouter_on_host() const
Definition: agent_param.h:350
void set_flow_trace_enable(bool val)
Definition: agent_param.h:432
void ParseNexthopServerArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:762
PortInfo xen_ll_
Definition: agent_param.h:718
void set_agent_mode(const std::string &mode)
Definition: agent_param.cc:285
static std::map< string, std::map< string, string > > ParseDerivedStats(const std::vector< std::string > &dsvec)
Definition: agent_param.cc:225
std::map< std::string, std::map< std::string, std::string > > derived_stats_map_
Definition: agent_param.h:755
HypervisorMode hypervisor_mode_
Definition: agent_param.h:717
uint32_t tbb_exec_delay_
Definition: agent_param.h:829
std::string xmpp_server_key() const
Definition: agent_param.h:269
std::string config_file_
Definition: agent_param.h:740
bool simulate_evpn_tor_
Definition: agent_param.h:775
uint16_t http_server_port() const
Definition: agent_param.h:312
std::string metadata_client_key() const
Definition: agent_param.h:252
const bool & eth_port_no_arp() const
Definition: agent_param.h:206
DISALLOW_COPY_AND_ASSIGN(AgentParam)
uint32_t linklocal_system_flows() const
Definition: agent_param.h:255
bool isVmwareMode() const
Definition: agent_param.h:340
uint64_t restart_backup_idle_timeout() const
Definition: agent_param.h:480
bool vrouter_on_nic_mode() const
Definition: agent_param.h:344
static const int kConfigPollTime
Definition: agent_param.h:19
void set_mac_learning_delete_tokens(uint32_t delete_tokens)
Definition: agent_param.h:554
uint16_t min_aap_prefix_len_
Definition: agent_param.h:844
uint16_t end_of_rib_rx_fallback_time() const
Definition: agent_param.h:80
int agent_stats_interval_
Definition: agent_param.h:759
uint32_t task_monitor_timeout_msec_
Definition: agent_param.h:833
bool xmpp_dns_auth_enable_
Definition: agent_param.h:771
uint32_t flow_add_tokens() const
Definition: agent_param.h:259
void ParseTestFrameworkArguments(const boost::program_options::variables_map &var_map)
Definition: agent_param.cc:820
bool IsForwardingEnabled() const
Definition: agent_param.h:386
const Ip4Address & xen_ll_prefix() const
Definition: agent_param.h:200
bool xmpp_dns_auth_enabled() const
Definition: agent_param.h:271
void ParseDhcpRelayModeArguments(const boost::program_options::variables_map &var_map)
Definition: agent_param.cc:726
boost::property_tree::ptree tree_
Definition: agent_param.h:764
void set_flow_thread_count(uint16_t count)
Definition: agent_param.h:429
void set_vrouter_stats_interval(int val)
Definition: agent_param.h:325
uint32_t vmi_vm_vn_uve_interval_msecs() const
Definition: agent_param.h:467
int agent_stats_interval() const
Definition: agent_param.h:315
std::vector< Ip4Address > AddressList
Definition: agent.h:217
void set_mac_learning_update_tokens(uint32_t update_tokens)
Definition: agent_param.h:546
static const int kLlgrStaleTime
Definition: agent_param.h:26
void BuildAddrList(const std::string &val, AddressList &addr_list)
Definition: agent_param.cc:469
friend class AgentParamTest
Definition: agent_param.h:617
const Ip4Address & xen_ll_addr() const
Definition: agent_param.h:199
uint16_t config_fallback_time() const
Definition: agent_param.h:51
const std::string & crypt_port_encap_type() const
Definition: agent_param.h:215
uint16_t linklocal_system_flows_
Definition: agent_param.h:728
const std::string huge_page_file_1G(uint16_t index) const
Definition: agent_param.h:492
boost::program_options::options_description config_file_options_
Definition: agent_param.h:685
uint32_t flow_ksync_tokens_
Definition: agent_param.h:733
std::string crypt_port_encap_type_
Definition: agent_param.h:707
std::string exception_packet_interface_
Definition: agent_param.h:788
boost::asio::ip::address_v4 Ip4Address
Definition: address.h:14
const std::string & host_name() const
Definition: agent_param.h:314
const uint16_t dns_client_port() const
Definition: agent_param.h:227
bool restart_restore_enable_
Definition: agent_param.h:819
std::string xmpp_ca_cert() const
Definition: agent_param.h:270
std::string tunnel_type_
Definition: agent_param.h:719
float max_vm_flows() const
Definition: agent_param.h:254
uint32_t flow_ksync_tokens() const
Definition: agent_param.h:260
uint32_t dns_timeout_
Definition: agent_param.h:713
bool isTsnAgent() const
Definition: agent_param.h:381
std::vector< int > eth_port_plen_list_
Definition: agent_param.h:702
uint32_t tbb_exec_delay() const
Definition: agent_param.h:454
const Ip4Address & xen_ll_gw() const
Definition: agent_param.h:202
uint32_t flow_del_tokens() const
Definition: agent_param.h:261
std::string metadata_ca_cert() const
Definition: agent_param.h:253
static const int kConfigInactivityTime
Definition: agent_param.h:20
Agent * agent_
Definition: agent_param.h:693
std::string agent_base_dir() const
Definition: agent_param.h:410
uint32_t pkt0_tx_buffer_count_
Definition: agent_param.h:696
void ParseDnsServersArguments(const boost::program_options::variables_map &var_map)
Definition: agent_param.cc:436
const int xen_ll_plen() const
Definition: agent_param.h:201
const std::string log_file() const
Definition: agent_param.h:290
std::vector< std::string > eth_port_list_
Definition: agent_param.h:700
uint16_t max_aggregates_per_session_endpoint() const
Definition: agent_param.h:444
uint16_t config_inactivity_time() const
Definition: agent_param.h:44
bool nexthop_server_add_pid_
Definition: agent_param.h:786
uint32_t services_queue_limit()
Definition: agent_param.h:417
std::map< uint16_t, uint16_t > qos_queue_map_
Definition: agent_param.h:836
const void set_xen_ll_name(const std::string &name)
Definition: agent_param.h:196
Platform platform_
Definition: agent_param.h:789
std::string syslog_facility_
Definition: agent_param.h:753
void ParseRestartArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:856
bool dhcp_relay_mode_
Definition: agent_param.h:766
std::string si_netns_command() const
Definition: agent_param.h:273
std::string log_property_file_
Definition: agent_param.h:745
const std::string & restart_backup_dir() const
Definition: agent_param.h:483
uint32_t tbb_schedule_delay() const
Definition: agent_param.h:455
std::string si_lbaas_auth_conf() const
Definition: agent_param.h:280
const int si_netns_timeout() const
Definition: agent_param.h:276
bool test_mode_
Definition: agent_param.h:763
std::string restart_backup_dir_
Definition: agent_param.h:815
uint16_t flow_index_sm_log_count() const
Definition: agent_param.h:258
const std::string & program_name() const
Definition: agent_param.h:289
uint32_t flow_update_tokens_
Definition: agent_param.h:735
std::string host_name_
Definition: agent_param.h:758
void ParseFlowArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:689
const std::map< std::string, std::map< std::string, std::string > > derived_stats_map() const
Definition: agent_param.h:309
const std::string & eth_port_encap_type() const
Definition: agent_param.h:207
bool ParseServerListArguments(const boost::program_options::variables_map &var_map, Ip4Address &server1, Ip4Address &server2, const std::string &key)
static const int kEorTxInactivityTime
Definition: agent_param.h:24
uint32_t llgr_stale_time() const
Definition: agent_param.h:88
uint16_t end_of_rib_tx_inactivity_time_
Definition: agent_param.h:104
bool restart_restore_enable() const
Definition: agent_param.h:487
std::vector< Ip4Address > AddressList
Definition: agent_param.h:117
GatewayMode gateway_mode() const
Definition: agent_param.h:392
std::string si_netns_command_
Definition: agent_param.h:776
std::string metadata_client_cert_type() const
Definition: agent_param.h:249
std::string ksync_thread_cpu_pin_policy() const
Definition: agent_param.h:450
boost::program_options::options_description options() const
Definition: agent_param.h:377
uint16_t fabric_snat_hash_table_size() const
Definition: agent_param.h:471
std::vector< std::string > tsn_server_list_
Definition: agent_param.h:711
bool GetIpAddress(const std::string &str, Ip4Address *addr)
Definition: agent_param.cc:46
uint16_t get_nic_queue(uint16_t queue)
Definition: agent_param.h:513
std::string program_name_
Definition: agent_param.h:741
void ParseMetadataProxyArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:671
bool measure_queue_delay_
Definition: agent_param.h:697
uint16_t mirror_client_port_
Definition: agent_param.h:715
void SplitByDelimiter(const std::string &txt, std::vector< std::string > &strs, char ch)
Definition: agent_param.cc:774
const std::string & config_file() const
Definition: agent_param.h:288
std::vector< std::string > dns_server_list_
Definition: agent_param.h:710
bool isVcpeGatewayMode() const
Definition: agent_param.h:390
uint32_t mac_learning_update_tokens() const
Definition: agent_param.h:550
uint32_t mac_learning_thread_count() const
Definition: agent_param.h:534
void Init(const std::string &config_file, const std::string &program_name)
static const uint32_t kVrouterStatsInterval
Definition: agent_param.h:116
AddressList gateway_list_
Definition: agent_param.h:854
uint16_t config_poll_time_
Definition: agent_param.h:98
bool isDockerMode() const
Definition: agent_param.h:339
const std::vector< std::string > & get_slo_destination()
Definition: agent_param.h:298
const SandeshConfig & sandesh_config() const
Definition: agent_param.h:426
bool GetValueFromTree(ValueType &var, const std::string &val)
Definition: agent_param.h:589
void ParseNetworksArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:549
const std::string & log_level() const
Definition: agent_param.h:301
std::string si_lb_ssl_cert_path_
Definition: agent_param.h:780
bool dhcp_relay_mode() const
Definition: agent_param.h:266
const std::string huge_page_file_2M(uint16_t index) const
Definition: agent_param.h:498
std::vector< std::string > slo_destination_
Definition: agent_param.h:748
AgentMode agent_mode() const
Definition: agent_param.h:380
uint16_t vmi_vm_vn_uve_interval() const
Definition: agent_param.h:466
uint32_t linklocal_vm_flows() const
Definition: agent_param.h:256
int flow_stats_interval() const
Definition: agent_param.h:321
std::string agent_name_
Definition: agent_param.h:699
std::vector< std::string > collector_server_list_
Definition: agent_param.h:754
bool subnet_hosts_resolvable() const
Definition: agent_param.h:353
bool log_local() const
Definition: agent_param.h:293
const std::string & log_category() const
Definition: agent_param.h:302
void ParseLlgrArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:883
uint16_t max_sessions_per_aggregate() const
Definition: agent_param.h:441
const std::string syslog_facility() const
Definition: agent_param.h:305
bool isServerGatewayMode() const
Definition: agent_param.h:389
std::string log_level_
Definition: agent_param.h:750
uint32_t mac_learning_update_tokens_
Definition: agent_param.h:842
const std::string & log_property_file() const
Definition: agent_param.h:303
std::vector< std::string > controller_server_list_
Definition: agent_param.h:708
bool log_flow_
Definition: agent_param.h:747
const long log_file_size() const
Definition: agent_param.h:292
bool isVmwareVcenterMode() const
Definition: agent_param.h:341
std::string metadata_client_cert() const
Definition: agent_param.h:248
void InitVhostAndXenLLPrefix()
void PostValidateLogConfig() const
void ParseCryptArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:913
const Ip4Address & mgmt_ip() const
Definition: agent_param.h:239
virtual int Validate()
uint32_t services_queue_limit_
Definition: agent_param.h:803
const LlgrParams & llgr_params() const
Definition: agent_param.h:528
void ParseServicesArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:842
const std::string & agent_name() const
Definition: agent_param.h:204
const Ip4Address & vhost_prefix() const
Definition: agent_param.h:188
uint32_t stale_interface_cleanup_timeout_
Definition: agent_param.h:737
uint16_t end_of_rib_tx_poll_time() const
Definition: agent_param.h:58
uint16_t max_aggregates_per_session_endpoint_
Definition: agent_param.h:798
bool crypt_port_no_arp_
Definition: agent_param.h:706
void LogFilteredConfig() const
int log_files_count_
Definition: agent_param.h:743
bool flow_trace_enable_
Definition: agent_param.h:794
void ParseSimulateEvpnTorArguments(const boost::program_options::variables_map &var_map)
Definition: agent_param.cc:731
std::map< std::string, uint32_t >::iterator trace_buff_size_iter
Definition: agent_param.h:169
virtual void DebugInitFromConfig()
LlgrParams llgr_params_
Definition: agent_param.h:839
std::map< std::string, uint32_t > trace_buff_size_map
Definition: agent_param.h:168
const std::vector< std::string > & eth_port_list() const
Definition: agent_param.h:205
const std::string & subcluster_name() const
Definition: agent_param.h:220
void set_hypervisor_mode(HypervisorMode m)
Definition: agent_param.h:580
bool measure_queue_delay() const
Definition: agent_param.h:508
int vrouter_stats_interval_
Definition: agent_param.h:761
uint32_t flow_update_tokens() const
Definition: agent_param.h:262
uint16_t config_inactivity_time_
Definition: agent_param.h:99
VirtualGatewayConfigTable * vgw_config_table() const
Definition: agent_param.h:329
bool enable_flow_options_
Definition: agent_param.h:686
std::vector< std::string > huge_page_file_1G_
Definition: agent_param.h:823
uint16_t stale_config_cleanup_time_
Definition: agent_param.h:96
void ParseSandeshArguments(const boost::program_options::variables_map &v)
Definition: agent_param.cc:851
bool use_syslog_
Definition: agent_param.h:752
bool enable_vhost_options_
Definition: agent_param.h:687
uint16_t flow_latency_limit_
Definition: agent_param.h:796
bool cat_is_agent_mocked() const
Definition: agent_param.h:569
std::vector< uint16_t > bgp_as_a_service_port_range_value_
Definition: agent_param.h:802
void set_gateway_mode(const std::string &mode)
Definition: agent_param.cc:297
bool enable_hypervisor_options_
Definition: agent_param.h:688
bool vrouter_on_nic_mode_
Definition: agent_param.h:787
boost::program_options::options_description options_
Definition: agent_param.h:684
static const int kStaleConfigCleanupTime
Definition: agent_param.h:18
uint64_t restart_restore_audit_timeout() const
Definition: agent_param.h:488
uint16_t end_of_rib_tx_fallback_time_
Definition: agent_param.h:103
uint32_t tbb_keepawake_timeout_
Definition: agent_param.h:831
uint16_t linklocal_vm_flows_
Definition: agent_param.h:729
void set_pkt0_tx_buffer_count(uint32_t val)
Definition: agent_param.h:507
AddressList compute_node_address_list_
Definition: agent_param.h:784
void BuildAddressList(const std::string &val)
Definition: agent_param.cc:262
void set_mac_learning_add_tokens(uint32_t add_tokens)
Definition: agent_param.h:538