Classes |
| class | RoutingTableToken |
| | Token generator to map between unicast and multicast. More...
|
| struct | Server |
| | Store the socket descriptor and iptuple together. More...
|
Public Types |
typedef XorpCallback2< void,
const string &, bool >::RefPtr | InterfaceStatusCb |
typedef XorpCallback3< void,
const string &, const string
&, bool >::RefPtr | VifStatusCb |
typedef XorpCallback5< void,
const string &, const string
&, const IPv4 &, uint32_t,
bool >::RefPtr | AddressStatus4Cb |
Public Member Functions |
|
| BGPMain (EventLoop &eventloop) |
|
ProcessStatus | status (string &reason) |
| | Get the process status.
|
| int | startup () |
| | Startup operation.
|
| int | shutdown () |
| | Shutdown operation.
|
| void | component_up (const string &component_name) |
| | A method that should be called when an internal subsystem comes up.
|
| void | component_down (const string &component_name) |
| | A method that should be called when an internal subsystem goes down.
|
| bool | is_interface_enabled (const string &interface) const |
| | Test whether an interface is enabled.
|
| bool | is_vif_enabled (const string &interface, const string &vif) const |
| | Test whether an interface/vif is enabled.
|
| bool | is_address_enabled (const string &interface, const string &vif, const IPv4 &address) const |
| | Test whether an IPv4 interface/vif/address is enabled.
|
| void | register_interface_status (InterfaceStatusCb cb) |
| | Add a callback for tracking the interface status.
|
| void | register_vif_status (VifStatusCb cb) |
| | Add a callback for tracking the interface/vif status.
|
| void | register_address_status (AddressStatus4Cb cb) |
| | Add a callback for tracking the IPv4 interface/vif/address status.
|
| uint32_t | get_prefix_length (const string &interface, const string &vif, const IPv4 &address) |
| | Obtain the subnet prefix length for an IPv4 interface/vif/address.
|
| uint32_t | get_mtu (const string &interface) |
| | Obtain the MTU for an interface.
|
|
bool | interface_address4 (const IPv4 &address) const |
| | Is the address one of this routers interface addresses?
|
| bool | interface_address_prefix_len4 (const IPv4 &address, uint32_t &prefix_len) const |
| | Obtain the prefix length for a particular IPv4 address.
|
| void | local_config (const uint32_t &as, const IPv4 &id, bool use_4byte_asnums) |
| | Set the local configuration.
|
|
void | set_confederation_identifier (const uint32_t &as, bool disable) |
| | Set or disable the confederation identifier.
|
|
void | set_cluster_id (const IPv4 &cluster_id, bool disable) |
| | Set the cluster ID and enable or disable route reflection.
|
|
void | set_damping (uint32_t half_life, uint32_t max_suppress, uint32_t reuse, uint32_t suppress, bool disable) |
| | Set the route flap damping parameters.
|
| void | attach_peer (BGPPeer *p) |
| | attach peer to peerlist
|
| void | detach_peer (BGPPeer *p) |
| | detach peer from the peerlist.
|
| void | attach_deleted_peer (BGPPeer *p) |
| | attach peer to deleted peerlist
|
| void | detach_deleted_peer (BGPPeer *p) |
| | detach peer from the deleted peerlist.
|
| BGPPeer * | find_peer (const Iptuple &search, list< BGPPeer * > &peers) |
| | Find peer with this iptuple from the list provided.
|
| BGPPeer * | find_peer (const Iptuple &search) |
| | Find peer with this iptuple.
|
| BGPPeer * | find_deleted_peer (const Iptuple &search) |
| | Find peer with this iptuple on the deleted peer list.
|
| bool | create_peer (BGPPeerData *pd) |
| | create a new peer and attach it to the peerlist.
|
| bool | delete_peer (const Iptuple &iptuple) |
| | delete peer tear down connection and remove for peerlist.
|
| bool | enable_peer (const Iptuple &iptuple) |
| | enable peer
|
| bool | disable_peer (const Iptuple &iptuple) |
| | disable peer
|
| bool | bounce_peer (const Iptuple &iptuple) |
| | Drop this peering and if it was configured up allow it attempt a new peering.
|
| void | local_ip_changed (string local_address) |
| | One of the local IP addresses of this router has changed.
|
| bool | change_tuple (const Iptuple &iptuple, const Iptuple &nptuple) |
| | Change one of the tuple settings of this peering.
|
| bool | find_tuple_179 (string peer_addr, Iptuple &otuple) |
| | Find the tuple that has this peer address and both ports are 179.
|
| bool | change_local_ip (const Iptuple &iptuple, const string &local_ip, const string &local_dev) |
| | Change the local IP address of this peering.
|
| bool | change_local_port (const Iptuple &iptuple, uint32_t local_port) |
| | Change the local IP port of this peering.
|
| bool | change_peer_port (const Iptuple &iptuple, uint32_t peer_port) |
| | Change the peer IP port of this peering.
|
| bool | set_peer_as (const Iptuple &iptuple, uint32_t peer_as) |
| | set peer as
|
| bool | set_holdtime (const Iptuple &iptuple, uint32_t holdtime) |
| | set holdtime
|
| bool | set_delay_open_time (const Iptuple &iptuple, uint32_t delay_open_time) |
| | set delay open time
|
| bool | set_route_reflector_client (const Iptuple &iptuple, bool rr) |
| | set route reflector client
|
| bool | set_confederation_member (const Iptuple &iptuple, bool conf) |
| | set route confederation member
|
| bool | set_prefix_limit (const Iptuple &iptuple, uint32_t maximum, bool state) |
| | set prefix limit
|
| bool | set_nexthop4 (const Iptuple &iptuple, const IPv4 &next_hop) |
| | set IPv4 next-hop.
|
| bool | set_peer_state (const Iptuple &iptuple, bool state) |
| | Set peer state.
|
| bool | activate (const Iptuple &iptuple) |
| | Activate peer.
|
| bool | activate_all_peers () |
| | Activate all peers.
|
| bool | set_peer_md5_password (const Iptuple &iptuple, const string &password) |
| | Set peer TCP-MD5 password.
|
|
bool | next_hop_rewrite_filter (const Iptuple &iptuple, const IPv4 &next_hop) |
|
bool | get_peer_list_start (uint32_t &token) |
|
bool | get_peer_list_next (const uint32_t &token, string &local_ip, uint32_t &local_port, string &peer_ip, uint32_t &peer_port) |
|
bool | get_peer_id (const Iptuple &iptuple, IPv4 &peer_id) |
|
bool | get_peer_status (const Iptuple &iptuple, uint32_t &peer_state, uint32_t &admin_status) |
|
bool | get_peer_negotiated_version (const Iptuple &iptuple, int32_t &neg_version) |
|
bool | get_peer_as (const Iptuple &iptuple, uint32_t &peer_as) |
|
bool | get_peer_msg_stats (const Iptuple &iptuple, uint32_t &in_updates, uint32_t &out_updates, uint32_t &in_msgs, uint32_t &out_msgs, uint16_t &last_error, uint32_t &in_update_elapsed) |
|
bool | get_peer_established_stats (const Iptuple &iptuple, uint32_t &transitions, uint32_t &established_time) |
|
bool | get_peer_timer_config (const Iptuple &iptuple, uint32_t &retry_interval, uint32_t &hold_time, uint32_t &keep_alive, uint32_t &hold_time_configured, uint32_t &keep_alive_configured, uint32_t &min_as_origination_interval, uint32_t &min_route_adv_interval) |
|
bool | register_ribname (const string &name) |
|
void | main_loop () |
|
void | terminate () |
|
XorpFd | create_listener (const Iptuple &iptuple) |
|
LocalData * | get_local_data () |
|
void | start_server (const Iptuple &iptuple) |
|
void | stop_server (const Iptuple &iptuple) |
|
void | stop_all_servers () |
| | Stop listening for incoming connections.
|
| bool | originate_route (const IPv4Net &nlri, const IPv4 &next_hop, const bool &unicast, const bool &multicast, const PolicyTags &policytags) |
| | Originate an IPv4 route.
|
| bool | withdraw_route (const IPv4Net &nlri, const bool &unicast, const bool &multicast) const |
| | Withdraw an IPv4 route.
|
|
template<typename A > |
| bool | get_route_list_start (uint32_t &token, const IPNet< A > &prefix, const bool &unicast, const bool &multicast) |
|
template<typename A > |
| bool | get_route_list_next (const uint32_t &token, IPv4 &peer_id, IPNet< A > &net, uint32_t &origin, vector< uint8_t > &aspath, A &nexthop, int32_t &med, int32_t &localpref, int32_t &atomic_agg, vector< uint8_t > &aggregator, int32_t &calc_localpref, vector< uint8_t > &attr_unknown, bool &best, bool &unicast, bool &multicast) |
|
bool | rib_client_route_info_changed4 (const IPv4 &addr, const uint32_t &prefix_len, const IPv4 &nexthop, const uint32_t &metric) |
|
bool | rib_client_route_info_invalid4 (const IPv4 &addr, const uint32_t &prefix_len) |
| bool | set_parameter (const Iptuple &iptuple, const string ¶meter, const bool toggle) |
| | set parameter
|
| BGPPlumbing * | plumbing_unicast () const |
| | Originally inserted for testing.
|
|
BGPPlumbing * | plumbing_multicast () const |
|
XrlStdRouter * | get_router () |
|
EventLoop & | eventloop () |
|
XrlBgpTarget * | get_xrl_target () |
| void | notify_birth (const string &target_class, const string &target_instance) |
| | Call via XrlBgpTarget when the finder reports that a process has started.
|
| void | notify_death (const string &target_class, const string &target_instance) |
| | Call via XrlBgpTarget when the finder reports that a process has terminated.
|
| bool | processes_ready () |
| string | bgp_mib_name () const |
|
bool | do_snmp_trap () const |
| | Check to see if the bgp snmp entity is running.
|
|
void | finder_death (const char *file, const int lineno) |
| | To be called when the finder dies.
|
| void | configure_filter (const uint32_t &filter, const string &conf) |
| | Configure a policy filter.
|
| void | reset_filter (const uint32_t &filter) |
| | Reset a policy filter.
|
|
void | push_routes () |
| | Push routes through policy filters for re-filtering.
|
| Profile & | profile () |
| | IPv6 stuff.
|
Private Member Functions |
| void | status_change (ServiceBase *service, ServiceStatus old_status, ServiceStatus new_status) |
| | A method invoked when the status of a service changes.
|
| const ServiceBase * | ifmgr_mirror_service_base () const |
| | Obtain a pointer to the interface manager service base.
|
| const IfMgrIfTree & | ifmgr_iftree () const |
| | Obtain a reference to the interface manager's interface tree.
|
|
void | tree_complete () |
| | An IfMgrHintObserver method invoked when the initial interface tree information has been received.
|
|
void | updates_made () |
| | An IfMgrHintObserver method invoked whenever the interface tree information has been changed.
|
|
void | address_status_change4 (const string &interface, const string &vif, const IPv4 &source, uint32_t prefix_len, bool state) |
| | Callback method that is invoked when the status of an address changes.
|
|
void | connect_attempt (XorpFd fd, IoEventType type, string laddr, uint16_t lport) |
| | Callback method called when a connection attempt is made.
|
|
template<typename A > |
| void | extract_attributes (PAListRef< A > attributes, uint32_t &origin, vector< uint8_t > &aspath, A &nexthop, int32_t &med, int32_t &localpref, int32_t &atomic_agg, vector< uint8_t > &aggregator, int32_t &calc_localpref, vector< uint8_t > &attr_unknown) |
|
template<typename A > |
| RoutingTableToken< A > & | get_token_table () |
Private Attributes |
|
list< Server > | _serverfds |
|
EventLoop & | _eventloop |
|
bool | _exit_loop |
|
BGPPeerList * | _peerlist |
|
BGPPeerList * | _deleted_peerlist |
| BGPPlumbing * | _plumbing_unicast |
| | Unicast Routing Table.
|
|
NextHopResolver< IPv4 > * | _next_hop_resolver_ipv4 |
| BGPPlumbing * | _plumbing_multicast |
| | Multicast Routing Table.
|
|
RoutingTableToken< IPv4 > | _table_ipv4 |
|
XrlBgpTarget * | _xrl_target |
|
RibIpcHandler * | _rib_ipc_handler |
|
AggregationHandler * | _aggregation_handler |
|
LocalData * | _local_data |
|
XrlStdRouter * | _xrl_router |
|
ProcessWatch * | _process_watch |
|
VersionFilters | _policy_filters |
|
Profile | _profile |
|
size_t | _component_count |
|
IfMgrXrlMirror * | _ifmgr |
|
bool | _is_ifmgr_ready |
|
IfMgrIfTree | _iftree |
|
InterfaceStatusCb | _interface_status_cb |
|
VifStatusCb | _vif_status_cb |
|
AddressStatus4Cb | _address_status4_cb |
|
map< IPv4, uint32_t > | _interfaces_ipv4 |
|
bool | _first_policy_push |