10 #include <sandesh/sandesh_types.h>
11 #include <sandesh/sandesh_constants.h>
12 #include <sandesh/sandesh.h>
13 #include <sandesh/sandesh_trace.h>
63 using boost::assign::map_list_of;
64 using boost::assign::list_of;
71 const std::string &db_name) {
73 T *table =
static_cast<T *
>(db->
CreateTable(db_name));
75 table->set_agent(agent);
135 intf_table->
Init(
this);
152 assert(crypt_tunnel_table);
207 assert(mirror_table);
214 assert(vassign_table);
274 route_preference_module_->Init();
284 DBTableCreate<PhysicalDeviceTable>(db,
agent_,
this,
285 "db.physical_devices.0");
286 agent_->set_physical_device_table(dev_table);
289 DBTableCreate<PhysicalDeviceVnTable>(db,
agent_,
this,
290 "db.physical_device_vn.0");
291 agent_->set_physical_device_vn_table(dev_vn_table);
318 std::string netns_cmd;
319 std::string docker_cmd;
320 int netns_workers = -1;
321 int netns_timeout = -1;
329 docker_cmd, netns_workers, netns_timeout);
363 agent->db(), agent->cfg()->cfg_graph())),
425 if (
agent()->mirror_table()) {
429 if (
agent()->vxlan_table()) {
DBGraph * cfg_graph() const
std::string si_docker_command() const
void Initialize(DBGraph *graph, IFMapDependencyManager *dependency_manager)
std::unique_ptr< VxlanRoutingManager > vxlan_routing_manager_
static DBTableBase * CreateTable(DB *db, const std::string &name)
static DBTableBase * CreateTable(DB *db, const std::string &name)
void set_vm_table(VmTable *table)
void set_mp_table(MulticastPolicyTable *table)
void set_bridge_domain_table(BridgeDomainTable *table)
SandeshTraceBufferPtr OperConfigTraceBuf
static DBTableBase * CreateTable(DB *db, const std::string &name)
NextHopTable * nexthop_table() const
void set_nexthop_table(NextHopTable *table)
std::unique_ptr< NexthopManager > nexthop_manager_
static DBTableBase * CreateTable(DB *db, const std::string &name)
DBTableBase * CreateTable(const std::string &name)
std::unique_ptr< RouteLeakManager > route_leak_manager_
static DBTableBase * CreateTable(DB *db, const std::string &name)
void set_policy_set_table(PolicySetTable *table)
PhysicalDeviceTable * physical_device_table() const
ConfigManager * config_manager() const
void set_service_instance_table(ServiceInstanceTable *table)
static DBTableBase * CreateTable(DB *db, const std::string &name)
std::string nexthop_server_endpoint() const
void set_interface_table(InterfaceTable *table)
static DBTableBase * CreateTable(DB *db, const std::string &name)
static DBTableBase * CreateTable(DB *db, const std::string &name)
void set_forwarding_class_table(ForwardingClassTable *table)
std::unique_ptr< MulticastHandler > multicast_
InterfaceTable * interface_table() const
VnTable * vn_table() const
void ReserveLabel(uint32_t start, uint32_t end)
void FreeReserveLabel(uint32_t start, uint32_t end)
void RegisterDBClients(IFMapDependencyManager *dep)
boost::shared_ptr< TraceBuffer< SandeshTrace > > SandeshTraceBufferPtr
MplsTable * mpls_table() const
static const uint32_t kStartLabel
void set_vrf_assign_table(VrfAssignTable *table)
void set_tag_table(TagTable *table)
static DBTableBase * CreateTable(DB *db, const std::string &name)
MirrorTable * mirror_table() const
static DBTableBase * CreateTable(Agent *agent, DB *db, const std::string &name)
std::unique_ptr< VRouter > vrouter_
IFMapDependencyManager * dependency_manager()
static DBTableBase * CreateTable(DB *db, const std::string &name)
std::unique_ptr< GlobalVrouter > global_vrouter_
void set_qos_queue_table(QosQueueTable *table)
This class manages routes leaking between bridge VRF instances and the routing VRF instance...
void set_vn_table(VnTable *table)
ServiceInstanceTable * service_instance_table() const
std::unique_ptr< AgentRouteWalkerManager > route_walk_manager_
void set_sg_table(SgTable *table)
std::unique_ptr< IFMapDependencyManager > dependency_manager_
std::unique_ptr< BgpAsAService > bgp_as_a_service_
void CreateDBTables(DB *)
static DBTableBase * CreateTable(DB *db, const std::string &name)
void set_vrf_table(VrfTable *table)
void set_mpls_table(MplsTable *table)
const int si_netns_workers() const
std::unique_ptr< GlobalQosConfig > global_qos_config_
EventManager * event_manager() const
VrfAssignTable * vrf_assign_table() const
std::unique_ptr< OperNetworkIpam > network_ipam_
void set_crypt_tunnel_table(CryptTunnelTable *table)
void set_slo_table(SecurityLoggingObjectTable *table)
std::unique_ptr< BgpRouterConfig > bgp_router_config_
static DBTableBase * CreateTable(DB *db, const std::string &name)
std::unique_ptr< PathPreferenceModule > route_preference_module_
AgentParam * params() const
static DBTableBase * CreateTable(DB *db, const std::string &name)
static DBTableBase * CreateTable(Agent *agent, DB *db, const std::string &name)
std::unique_ptr< AgentSandeshManager > agent_sandesh_manager_
VrfTable * vrf_table() const
static DBTableBase * CreateTable(Agent *agent, DB *db, const std::string &name)
static DBTableBase * CreateTable(DB *db, const std::string &name)
T * DBTableCreate(DB *db, Agent *agent, OperDB *oper, const std::string &db_name)
std::unique_ptr< OperVirtualDns > virtual_dns_
std::unique_ptr< InstanceManager > instance_manager_
static DBTableBase * CreateTable(DB *db, const std::string &name)
std::string si_netns_command() const
VxLanTable * vxlan_table() const
std::unique_ptr< HBFHandler > hbf_handler_
const int si_netns_timeout() const
void set_metadata_ip6_allocator(MetaDataIpAllocator *allocator)
static DBTableBase * CreateTable(DB *db, const std::string &name)
void set_metadata_ip_allocator(MetaDataIpAllocator *allocator)
std::unique_ptr< TsnElector > tsn_elector_
static const uint16_t max_linklocal_addresses
void set_health_check_table(HealthCheckTable *table)
SgTable * sg_table() const
static DBTableBase * CreateTable(DB *db, const std::string &name)
static DBTableBase * CreateTable(DB *db, const std::string &name)
static DBTableBase * CreateTable(Agent *agent, DB *db, const std::string &name)
static DBTableBase * CreateTable(DB *db, const std::string &name)
MulticastPolicyTable * mp_table() const
AgentConfig * cfg() const
std::unique_ptr< GlobalSystemConfig > global_system_config_
static DBTableBase * CreateTable(Agent *agent, DB *db, const std::string &name)
AclTable * acl_table() const
void set_acl_table(AclTable *table)
std::unique_ptr< AgentProfile > profile_
static DBTableBase * CreateTable(Agent *agent, DB *db, const std::string &name)
std::unique_ptr< DomainConfig > domain_config_
static DBTableBase * CreateTable(Agent *agent, DB *db, const std::string &name)
static DBTableBase * CreateTable(DB *db, const std::string &name)
VmTable * vm_table() const
void RegisterDBClients(IFMapDependencyManager *dep)
void set_mirror_table(MirrorTable *table)
void set_agent(Agent *agent)
SandeshTraceBufferPtr SandeshTraceBufferCreate(const std::string &buf_name, size_t buf_size, bool trace_enable=true)
void set_vxlan_table(VxLanTable *table)
static void RegisterFactory(const std::string &prefix, CreateFunction create_fn)
void set_qos_config_table(AgentQosConfigTable *qos_config_table)