4 #ifndef SRC_BGP_BGP_CONFIG_H__
5 #define SRC_BGP_BGP_CONFIG_H__
19 #include "schema/vnc_cfg_types.h"
47 typedef AuthenticationKeyChain::iterator
iterator;
731 typedef boost::function<void(const BgpProtocolConfig *, EventType)>
733 typedef boost::function<void(const BgpInstanceConfig *, EventType)>
735 typedef boost::function<void(const BgpNeighborConfig *, EventType)>
737 typedef boost::function<void(const BgpRoutingPolicyConfig *, EventType)>
739 typedef boost::function<void(const BgpGlobalSystemConfig *, EventType)>
741 typedef boost::function<void(const BgpGlobalQosConfig *, EventType)>
754 typedef std::pair<RoutingPolicyMap::const_iterator,
757 typedef std::pair<InstanceMap::const_iterator,
760 typedef std::pair<NeighborMap::const_iterator,
775 virtual const std::string &
localname()
const = 0;
778 const std::string &start_policy = std::string())
const = 0;
780 const std::string &start_instance = std::string())
const = 0;
782 const std::string &instance_name)
const = 0;
784 virtual int NeighborCount(
const std::string &instance_name)
const = 0;
788 const std::string &name)
const = 0;
790 const std::string &name)
const = 0;
792 const std::string &instance_name)
const = 0;
794 const std::string &instance_name,
const std::string &name)
const = 0;
797 template <
typename BgpConfigObject>
809 #endif // SRC_BGP_BGP_CONFIG_H__
std::string virtual_network_
std::vector< std::string > route_targets
void set_peer_address(const IpAddress &address)
const std::string & virtual_network() const
BgpGlobalSystemConfigObserver system
bool ext_community_match_all
virtual void ResetRoutingInstanceIndexBit(int index)=0
virtual NeighborMapRange NeighborMapItems(const std::string &instance_name) const =0
boost::asio::ip::tcp::endpoint Endpoint
const RouteTargetList & import_list() const
bool nh_check_enabled() const
void delete_neighbor(const std::string &neighbor)
const OriginOverrideConfig & origin_override() const
void set_last_change_at(uint64_t tstamp) const
std::vector< std::string > AddressFamilyList
std::map< std::string, BgpRoutingPolicyConfig * > RoutingPolicyMap
void set_cluster_id(uint32_t cluster_id)
void set_subcluster_name(const std::string &name)
void add_term(const RoutingPolicyTermConfig &term)
RouteTargetList import_list_
ServiceChainList service_chain_list_
BgpRoutingPolicyConfig(const std::string &name)
void set_virtual_network_index(int virtual_network_index)
uint32_t hold_time() const
void set_virtual_network_pbb_evpn_enable(bool pbb_evpn)
void set_gateway_address(Address::Family family, const IpAddress &address)
uint64_t last_change_at() const
RoutingPolicyTermList terms_
uint8_t control_dscp() const
std::pair< RoutingPolicyMap::const_iterator, RoutingPolicyMap::const_iterator > RoutingPolicyMapRange
void set_name(const std::string &name)
void set_group_name(const std::string &group_name)
AuthenticationKeyChain::const_iterator const_iterator
void set_virtual_network_allow_transit(bool allow_transit)
const std::string & name() const
std::pair< InstanceMap::const_iterator, InstanceMap::const_iterator > InstanceMapRange
void set_gr_time(uint16_t gr_time)
BgpInstanceObserver instance
void set_identifier(uint32_t identifier)
int CompareTo(const BgpProtocolConfig &rhs) const
std::vector< AuthenticationKey > AuthenticationKeyChain
const std::string & instance_name() const
uint32_t autonomous_system() const
void set_virtual_network(const std::string &virtual_network)
bool gr_bgp_helper() const
std::string KeyTypeToString() const
void set_always_compare_med(bool always_compare_med)
#define KEY_COMPARE(x, y)
static const char * kMasterInstance
bool virtual_network_allow_transit_
void reset_subcluster_id()
BgpConfigManager(BgpServer *server)
void swap_aggregate_routes(Address::Family family, AggregateRouteList *list)
void Notify(const BgpConfigObject *, EventType)
boost::asio::ip::address IpAddress
const AuthenticationKeyChain & key_chain() const
uint32_t last_change_at() const
DISALLOW_COPY_AND_ASSIGN(BgpGlobalSystemConfig)
boost::function< void(const BgpGlobalSystemConfig *, EventType)> BgpGlobalSystemConfigObserver
PrefixMatchConfigList prefixes_to_match
void set_key_chain(const AuthenticationKeyChain &in_chain)
void RegisterObservers(const Observers &obs)
uint16_t rd_cluster_seed() const
std::string instance_name_
void set_peer_type(Type type)
void set_local_as(uint32_t local_as)
void set_subcluster_id(uint32_t id)
CommunityList community_match
BgpInstanceConfig(const std::string &name)
const std::string & group_name() const
void set_vxlan_id(int vxlan_id)
void swap_routing_policy_list(RoutingPolicyConfigList *list)
std::vector< AggregateRouteConfig > AggregateRouteList
void set_private_as_action(const std::string &private_as_action)
virtual ~BgpRoutingPolicyConfig()
void set_peer_identifier(uint32_t identifier)
int CompareTo(const BgpNeighborConfig &rhs) const
void set_import_list(const RouteTargetList &import_list)
uint16_t bgpaas_port_end_
std::set< std::string > RouteTargetList
StaticRouteList inet6_static_routes_
void set_loop_count(uint8_t loop_count)
TcpSession::Endpoint remote_endpoint_
const RouteTargetList & export_list() const
void set_hold_time(int hold_time)
const FamilyAttributesList & family_attributes_list() const
BgpProtocolObserver protocol
uint32_t local_autonomous_system() const
std::set< StaticRouteConfig > StaticRouteList
std::vector< std::string > communities
std::vector< std::string > KeysToString() const
uint32_t local_identifier_
AuthenticationKeyChain key_chain_
std::string router_type() const
bool virtual_network_pbb_evpn_enable() const
uint32_t autonomous_system_
uint64_t last_change_at() const
virtual const BgpInstanceConfig * FindInstance(const std::string &name) const =0
void set_source_port(uint16_t source_port)
CommunityList ext_community_remove
StaticRouteList inet_static_routes_
std::string private_as_action() const
std::string prefix_to_match
static const int kEndOfRibTime
void set_last_change_at(uint64_t tstamp) const
uint8_t loop_count() const
void set_last_change_at(uint64_t tstamp) const
virtual const std::string & localname() const =0
const AuthenticationKey * Find(int key_id) const
ProtocolList protocols_match
std::vector< std::string > KeysToStringDetail() const
PrefixMatchConfig(std::string to_match, std::string match_type)
CommunityList community_remove
RoutingPolicyActionConfig action
bool gr_xmpp_helper() const
void set_local_autonomous_system(uint32_t local_autonomous_system)
virtual int NeighborCount(const std::string &instance_name) const =0
const std::string & name() const
uint16_t source_port() const
DISALLOW_COPY_AND_ASSIGN(BgpConfigManager)
bool always_compare_med() const
void SetOriginOverride(bool origin_override, std::string origin)
boost::function< void(const BgpRoutingPolicyConfig *, EventType)> BgpRoutingPolicyObserver
BgpProtocolConfig(const std::string &instance_name)
boost::function< void(const BgpNeighborConfig *, EventType)> BgpNeighborObserver
std::vector< std::string > default_tunnel_encap_list
void set_hold_time(uint32_t hold_time)
AuthenticationKeyChain::iterator iterator
void set_key_type(KeyType in_type)
std::string peer_address_string() const
DISALLOW_COPY_AND_ASSIGN(BgpNeighborConfig)
IpAddress inet_gateway_address_
void set_router_type(const std::string &router_type)
std::vector< Observers > obs_
BgpFamilyAttributesConfig(const std::string &family)
bool operator==(const AuthenticationData &rhs) const
const ServiceChainConfig * service_chain_info(SCAddress::Family family) const
uint32_t identifier() const
virtual const BgpRoutingPolicyConfig * FindRoutingPolicy(const std::string &name) const =0
std::vector< std::string > prefix
std::vector< PrefixMatchConfig > PrefixMatchConfigList
void swap_service_chain_list(ServiceChainList *list)
std::string prefix_match_type
DISALLOW_COPY_AND_ASSIGN(BgpRoutingPolicyConfig)
static const char * kMasterNetwork
void swap_static_routes(Address::Family family, StaticRouteList *list)
BgpGlobalQosConfigObserver qos
bool operator==(const BgpFamilyAttributesConfig &rhs) const
std::pair< NeighborMap::const_iterator, NeighborMap::const_iterator > NeighborMapRange
uint64_t last_change_at() const
FamilyAttributesList family_attributes_list_
std::string routing_instance
std::vector< RoutingPolicyAttachInfo > RoutingPolicyConfigList
bool virtual_network_pbb_evpn_enable_
void set_analytics_dscp(uint8_t value)
uint16_t bgpaas_port_start_
std::vector< std::string > AuthKeysToString() const
void set_family_attributes_list(const FamilyAttributesList &family_attributes_list)
BgpNeighborObserver neighbor
std::string ToString() const
bool operator<(const StaticRouteConfig &rhs) const
uint16_t end_of_rib_timeout() const
CommunityList community_add
const AuthenticationData & auth_data() const
RoutingPolicyMatchConfig match
std::string peer_identifier_string() const
std::set< std::string > NeighborList
void set_last_change_at(uint32_t tstamp) const
std::vector< std::string > CommunityList
void set_local_identifier(uint32_t identifier)
void set_enable_4byte_as(bool as_4byte)
std::string source_routing_instance
std::vector< RoutingPolicyTermConfig > RoutingPolicyTermList
bool operator<(const AuthenticationKey &rhs) const
std::string AuthKeyTypeToString() const
CommunityList ext_community_set
uint32_t local_as() const
void set_gr_xmpp_helper(bool helper)
friend class BgpInstanceConfigTest
std::string ToString() const
const ServiceChainList & service_chain_list() const
AggregateRouteList inet6_aggregate_routes_
virtual const BgpNeighborConfig * FindNeighbor(const std::string &instance_name, const std::string &name) const =0
boost::asio::ip::address_v4 Ip4Address
uint32_t subcluster_id() const
std::vector< as_t > AsnList
uint16_t bgpaas_port_start() const
uint32_t cluster_id() const
virtual InstanceMapRange InstanceMapItems(const std::string &start_instance=std::string()) const =0
DISALLOW_COPY_AND_ASSIGN(BgpProtocolConfig)
AddressFamilyList GetAddressFamilies() const
RouteTargetList export_list_
std::map< std::string, BgpInstanceConfig * > InstanceMap
std::vector< BgpFamilyAttributesConfig > FamilyAttributesList
std::string service_instance
std::vector< ServiceChainConfig > ServiceChainList
void set_llgr_time(uint64_t llgr_time)
void set_keydata(const AuthenticationData &in_auth_data)
uint8_t analytics_dscp() const
const_iterator end() const
uint8_t xmpp_hold_time() const
void set_fc_enabled(bool enable)
const AggregateRouteList & aggregate_routes(Address::Family family) const
uint16_t bgpaas_port_end() const
const IpAddress & gateway_address(Address::Family family) const
int virtual_network_index_
void set_rd_cluster_seed(uint16_t seed)
virtual ~BgpInstanceConfig()
void set_gr_bgp_helper(bool helper)
uint64_t last_change_at() const
void set_last_change_at(uint64_t tstamp) const
void set_last_change_at(uint64_t tstamp) const
BgpRoutingPolicyObserver policy
IpAddress inet6_gateway_address_
boost::function< void(const BgpGlobalQosConfig *, EventType)> BgpGlobalQosConfigObserver
AggregateRouteList inet_aggregate_routes_
NeighborList neighbor_list_
DISALLOW_COPY_AND_ASSIGN(BgpGlobalQosConfig)
void set_bgpaas_port_start(uint16_t bgpaas_port_start)
void set_admin_down(bool admin_down)
void set_export_list(const RouteTargetList &export_list)
void set_admin_down(bool admin_down)
const RoutingPolicyConfigList & routing_policy_list() const
bool operator<(const OriginOverrideConfig &rhs) const
AuthenticationData auth_data_
uint16_t rd_cluster_seed_
void set_gr_enable(bool enable)
CommunityList ext_community_match
static const char * kFabricInstance
void set_has_pnf(bool has_pnf)
void set_instance_name(const std::string &instance_name)
std::string private_as_action_
static const int kDefaultPort
std::map< std::string, BgpNeighborConfig * > NeighborMap
bool enable_4byte_as() const
void set_passive(bool passive)
uint32_t local_autonomous_system_
void add_neighbor(const std::string &neighbor)
void set_xmpp_hold_time(uint8_t hold_time)
void set_autonomous_system(uint32_t autonomous_system)
void set_cluster_id(uint32_t cluster_id)
const_iterator begin() const
OriginOverrideConfig origin_override_
void set_index(int index)
const std::string & uuid() const
void set_peer_as(uint32_t peer_as)
uint32_t local_identifier() const
void set_port(uint16_t port)
void AddKeyToKeyChain(const AuthenticationKey &key)
std::string local_identifier_string() const
bool operator==(const AuthenticationKey &rhs) const
const NeighborList & neighbor_list() const
AuthenticationData & operator=(const AuthenticationData &rhs)
boost::function< void(const BgpProtocolConfig *, EventType)> BgpProtocolObserver
virtual ~BgpConfigManager()
virtual const BgpProtocolConfig * GetProtocolConfig(const std::string &instance_name) const =0
void set_as_override(bool as_override)
int virtual_network_index() const
bool operator!=(const BgpNeighborConfig &rhs) const
boost::function< void(const BgpInstanceConfig *, EventType)> BgpInstanceObserver
const std::string & instance_name() const
const std::string & name() const
bool virtual_network_allow_transit() const
CommunityList community_set
RoutingPolicyConfigList routing_policies_
uint32_t llgr_time() const
CommunityList ext_community_add
std::string service_chain_address
const IpAddress & peer_address() const
const BgpServer * server()
void set_end_of_rib_timeout(uint16_t time)
void CopyValues(const BgpNeighborConfig &rhs)
std::string instance_name_
bool operator<(const AuthenticationData &rhs) const
virtual RoutingPolicyMapRange RoutingPolicyMapItems(const std::string &start_policy=std::string()) const =0
const std::string & subcluster_name() const
const StaticRouteList & static_routes(Address::Family family) const
void reset_subcluster_name()
std::vector< std::string > ProtocolList
void set_uuid(const std::string &uuid)
std::string subcluster_name_
int operator()(const BgpFamilyAttributesConfig lhs, const BgpFamilyAttributesConfig rhs) const
void set_bgpaas_port_end(uint16_t bgpaas_port_end)
DISALLOW_COPY_AND_ASSIGN(BgpInstanceConfig)
uint32_t cluster_id() const
uint16_t end_of_rib_timeout_
std::string service_chain_id
uint32_t peer_identifier() const
virtual void Terminate()=0
static const uint32_t kDefaultAutonomousSystem
void set_nh_check_enabled(bool enable)
void set_control_dscp(uint8_t value)
const RoutingPolicyTermList & terms() const