5 #ifndef vnsw_agent_global_router_h_
6 #define vnsw_agent_global_router_h_
18 class AgentRouteEncap;
19 class AgentUtXmlFlowThreshold;
24 struct LinklocalServiceEntryType;
25 struct FlowAgingTimeout;
26 class GlobalVrouterConfig;
86 const std::string &fabric_dns_name,
87 const std::vector<Ip4Address> &fabric_ip,
88 uint16_t fabric_port);
156 uint16_t *service_port,
157 std::string *fabric_hostname,
159 uint16_t *fabric_port)
const;
164 uint16_t service_port,
165 std::string *service_name,
167 uint16_t *fabric_port)
const;
171 std::set<IpAddress> *service_ip)
const;
176 std::set<std::string> *service_names)
const;
204 const LinkLocalServicesMap::iterator &new_it);
208 const std::string encrypt_mode_str);
215 const CryptTunnelsMap::iterator &new_it);
238 #endif // vnsw_agent_global_router_h_
std::pair< CryptTunnelKey, CryptTunnel > CryptTunnelsPair
void LinkLocalRouteUpdate(const std::vector< Ip4Address > &addr_list)
void GlobalVrouterConfig(IFMapNode *node)
std::map< LinkLocalServiceKey, LinkLocalService > LinkLocalServicesMap
void ConfigManagerEnqueue(IFMapNode *node)
LinkLocalService(const std::string &service_name, const std::string &fabric_dns_name, const std::vector< Ip4Address > &fabric_ip, uint16_t fabric_port)
bool operator<(const CryptTunnel &rhs) const
std::string ipfabric_dns_service_name
bool operator==(const LinkLocalService &rhs) const
boost::asio::ip::address IpAddress
void UpdateFlowAging(autogen::GlobalVrouterConfig *cfg)
std::pair< FlowAgingTimeoutKey, uint32_t > FlowAgingTimeoutPair
LinkLocalServiceKey(const IpAddress &addr, uint16_t port)
FlowAgingTimeoutKey(uint8_t proto, uint16_t port_arg)
LinkLocalDBState(const VrfEntry *vrf)
CryptTunnel(CryptMode cmode)
bool operator==(const CryptTunnel &rhs) const
int32_t flow_export_rate_
bool IsVrouterPresentCryptTunnelConfig(const EncryptionTunnelEndpointList &endpoint_list)
bool ChangeNotifyCryptTunnels(CryptTunnelsMap *old_value, CryptTunnelsMap *new_value)
void UpdateCryptTunnelEndpointConfig(const EncryptionTunnelEndpointList &endpoint_list, const std::string encrypt_mode_str)
void ChangeCryptTunnelEndpoint(const CryptTunnelsMap::iterator &old_it, const CryptTunnelsMap::iterator &new_it)
const EcmpLoadBalance & ecmp_load_balance() const
bool FindLinkLocalService(const std::string &service_name, IpAddress *service_ip, uint16_t *service_port, std::string *fabric_hostname, Ip4Address *fabric_ip, uint16_t *fabric_port) const
Get link local service configuration info, for a given service name.
static const int32_t kDisableSampling
void UpdatePortConfig(autogen::GlobalVrouterConfig *cfg)
IpAddress linklocal_service_ip
Agent::ForwardingMode forwarding_mode() const
boost::scoped_ptr< FabricDnsResolver > fabric_dns_resolver_
LinkLocalServicesMap linklocal_services_map_
void DeleteCryptTunnelEndpointConfig()
CryptTunnelsMap crypt_tunnels_map_
boost::uuids::uuid slo_uuid_
ProtocolPortSet protocol_port_set_
uint16_t ipfabric_service_port
bool ChangeNotify(LinkLocalServicesMap *old_value, LinkLocalServicesMap *new_value)
uint64_t PendingFabricDnsRequests() const
std::map< uint8_t, PortConfig > ProtocolPortSet
void AddCryptTunnelEndpoint(const CryptTunnelsMap::iterator &it)
PortRange(uint16_t start, uint16_t end)
std::vector< Ip4Address > ipfabric_service_ip
const LinkLocalServicesMap & linklocal_services_map() const
static const std::string kMetadataService6
DBTable::DBTableWalkRef vn_update_walk_ref_
bool operator<(const LinkLocalServiceKey &rhs) const
std::vector< autogen::FlowAgingTimeout > FlowAgingTimeoutList
std::vector< autogen::LinklocalServiceEntryType > LinkLocalServiceList
bool IsLinkLocalAddressInUse(const IpAddress &ip) const
boost::uuids::uuid slo_uuid() const
boost::intrusive_ptr< AgentRouteWalker > AgentRouteWalkerPtr
void ConfigDelete(IFMapNode *node)
int32_t flow_export_rate() const
boost::asio::ip::address_v4 Ip4Address
bool operator<(const FlowAgingTimeoutKey &rhs) const
Agent::ForwardingMode forwarding_mode_
FlowAgingTimeoutMap flow_aging_timeout_map_
friend class AgentUtXmlFlowThreshold
std::set< IpAddress > addresses_
std::string linklocal_service_name
static const std::string kMetadataService
void ChangeLinkLocalService(const LinkLocalServicesMap::iterator &old_it, const LinkLocalServicesMap::iterator &new_it)
std::map< CryptTunnelKey, CryptTunnel > CryptTunnelsMap
bool IsAddressInUse(const Ip4Address &ip) const
uint16_t linklocal_service_port
void DeleteLinkLocalService(const LinkLocalServicesMap::iterator &it)
boost::scoped_ptr< LinkLocalRouteManager > linklocal_route_mgr_
void AddLinkLocalService(const LinkLocalServicesMap::iterator &it)
void UpdateLinkLocalServiceConfig(const LinkLocalServiceList &linklocal_list)
GlobalVrouter(Agent *agent)
std::map< FlowAgingTimeoutKey, uint32_t > FlowAgingTimeoutMap
void Delete(const IpAddress &address)
std::vector< autogen::EncryptionTunnelEndpoint > EncryptionTunnelEndpointList
EcmpLoadBalance ecmp_load_balance_
void ConfigAddChange(IFMapNode *node)
void UpdateSLOConfig(IFMapNode *node)
boost::intrusive_ptr< DBTableWalk > DBTableWalkRef
bool operator==(const FlowAgingTimeoutKey &rhs) const
void DeleteLinkLocalServiceConfig()
void Add(const IpAddress &address)
std::string CryptTunnelKey
void DeleteCryptTunnelEndpoint(const CryptTunnelsMap::iterator &it)
bool IsAddressInUse(const Ip4Address &ip) const
std::vector< PortRange > port_range
std::pair< LinkLocalServiceKey, LinkLocalService > LinkLocalServicesPair
AgentRouteWalkerPtr agent_route_resync_walker_
static const Ip4Address kLoopBackIp
static const int32_t kDefaultFlowExportRate