xorp

BGPPlumbingAF< A > Class Template Reference

List of all members.

Public Member Functions

 BGPPlumbingAF (const string &ribname, BGPPlumbing &master, NextHopResolver< A > &next_hop_resolver)
int add_peering (PeerHandler *peer_handler)
int stop_peering (PeerHandler *peer_handler)
int peering_went_down (PeerHandler *peer_handler)
int peering_came_up (PeerHandler *peer_handler)
int delete_peering (PeerHandler *peer_handler)
void flush (PeerHandler *peer_handler)
int add_route (const IPNet< A > &net, FPAListRef &pa_list, const PolicyTags &policytags, PeerHandler *peer_handler)
int delete_route (InternalMessage< A > &rtmsg, PeerHandler *peer_handler)
int delete_route (const IPNet< A > &net, PeerHandler *peer_handler)
const SubnetRoute< A > * lookup_route (const IPNet< A > &net) const
void push (PeerHandler *peer_handler)
void output_no_longer_busy (PeerHandler *peer_handler)
uint32_t get_prefix_count (PeerHandler *peer_handler) const
NextHopResolver< A > & next_hop_resolver ()
 Hook to the next hop resolver so that xrl calls from the RIB can be passed through.
uint32_t create_route_table_reader (const IPNet< A > &prefix)
bool read_next_route (uint32_t token, const SubnetRoute< A > *&route, IPv4 &peer_id)
bool status (string &reason) const
 Get the status of the Plumbing.
void push_routes ()
 Push routes through policy filters for re-filtering.

Private Member Functions

void dump_entire_table (FilterTable< A > *filter_out, string ribname)
 A peering has just come up dump all the routes to it.
void configure_inbound_filter (PeerHandler *peer_handler, FilterTable< A > *filter_in)
void configure_outbound_filter (PeerHandler *peer_handler, FilterTable< A > *filter_out)
void reconfigure_filters (PeerHandler *peer_handler)
 re-instantiate all the static filters.
const A & get_local_nexthop (const PeerHandler *peer_handler) const
bool directly_connected (const PeerHandler *peer_handler, IPNet< A > &subnet, A &peer) const
 Is the peer directly connected and if it is return the common subnet and the peer address.
list< RibInTable< A > * > ribin_list () const

Private Attributes

map< PeerHandler *, RibInTable
< A > * > 
_in_map
map< RibOutTable< A >
*, PeerHandler * > 
_reverse_out_map
map< PeerHandler
*, RibOutTable< A > * > 
_out_map
DecisionTable< A > * _decision_table
PolicyTableSourceMatch< A > * _policy_sourcematch_table
AggregationTable< A > * _aggregation_table
FanoutTable< A > * _fanout_table
RibInTable< A > * _ipc_rib_in_table
RibOutTable< A > * _ipc_rib_out_table
set< BGPRouteTable< A > * > _tables
uint32_t _max_reader_token
map< uint32_t,
RouteTableReader< A > * > 
_route_table_readers
bool _awaits_push
string _ribname
BGPPlumbing_master
NextHopResolver< A > & _next_hop_resolver

template<class A>
class BGPPlumbingAF< A >


Member Function Documentation

template<class A >
uint32_t BGPPlumbingAF< A >::get_prefix_count ( PeerHandler peer_handler) const
Returns:
the number of prefixes in the RIB-IN.
template<class A >
void BGPPlumbingAF< A >::reconfigure_filters ( PeerHandler peer_handler) [private]

re-instantiate all the static filters.

Re-instantiate all the static filters in case the config has changed, and the filter parameters are now different. The FilterTable will handle consistency issues this might otherwise raise.

template<class A >
bool BGPPlumbingAF< A >::status ( string &  reason) const

Get the status of the Plumbing.

Parameters:
reasonthe human-readable reason for any failure
Returns:
false if Plumbing has suffered a fatal error, true otherwise

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations