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