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