class BGPMain

The set of different topologies that we support. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

The set of different topologies that we support.

 BGPMain ()

BGPMain

 ~BGPMain ()

~BGPMain

ProcessStatus  status (string& reason)

status

Get the process status

void  local_config (const uint32_t& as, const IPv4& id)

local_config

Set the local configuration.

Parameters:

asas number.
idrouter id.
void  attach_peer (BGPPeer *p)

attach_peer

attach peer to peerlist

Parameters:

pBGP peer.
void  detach_peer (BGPPeer *p)

detach_peer

detach peer from the peerlist.

Parameters:

pBGP peer.
BGPPeerfind_peer (const Iptuple& search)

find_peer

Find peer with this iptuple

Parameters:

searchiptuple.

Returns: A pointer to a peer if one is found NULL otherwise.

bool  create_peer (BGPPeerData *pd)

create_peer

create a new peer and attach it to the peerlist.

Parameters:

pdBGP peer data.

Returns: true on success

bool  delete_peer (const Iptuple& iptuple)

delete_peer

delete peer tear down connection and remove for peerlist.

XrlBgpTarget xbt(bgp.get_router(), bgp);

Parameters:

iptupleiptuple.

Returns: true on success

bool  enable_peer (const Iptuple& iptuple)

enable_peer

enable peer

Parameters:

iptupleiptuple.

Returns: true on success

bool  disable_peer (const Iptuple& iptuple)

disable_peer

disable peer

Parameters:

iptupleiptuple.

Returns: true on success

bool  set_peer_state (const Iptuple& iptuple, bool state)

set_peer_state

Set peer state.

@ return true on success.

Parameters:

iptupleiptuple.
stateshould the peering be enable or disabled.
bool  activate (const Iptuple& iptuple)

activate

Activate peer.

Enable the peering based on the peer state.

@ return true on success.

Parameters:

iptupleiptuple.
bool  next_hop_rewrite_filter (const Iptuple& iptuple, const IPv4& next_hop)

next_hop_rewrite_filter

bool  get_peer_list_start (uint32_t& token)

get_peer_list_start

bool  get_peer_list_next (const uint32_t& token, IPv4& local_ip, uint32_t& local_port, IPv4& peer_ip, uint32_t& peer_port)

get_peer_list_next

bool  get_peer_id (const Iptuple& iptuple, IPv4& peer_id)

get_peer_id

bool  get_peer_status (const Iptuple& iptuple, uint32_t& peer_state, uint32_t& admin_status)

get_peer_status

bool  get_peer_negotiated_version (const Iptuple& iptuple, int32_t& neg_version)

get_peer_negotiated_version

bool  get_peer_as (const Iptuple& iptuple, uint32_t& peer_as)

get_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)

get_peer_msg_stats

bool  get_peer_established_stats (const Iptuple& iptuple, uint32_t& transitions, uint32_t& established_time)

get_peer_established_stats

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)

get_peer_timer_config

bool  register_ribname (const string& name)

register_ribname

void  main_loop ()

main_loop

void  terminate ()

terminate

shutdown BGP cleanly

bool  run ()

run

int  create_listener (const Iptuple& iptuple)

create_listener

LocalDataget_local_data ()

get_local_data

void  start_server (const Iptuple& iptuple)

start_server

void  stop_server (const Iptuple& iptuple)

stop_server

void  stop_all_servers ()

stop_all_servers

Stop listening for incoming connections.

bool  originate_route (const IPv4Net& nlri, const IPv4& next_hop, const bool& unicast, const bool& multicast)

originate_route

Originate an IPv4 route

Parameters:

nlrisubnet to announce
next_hopto forward to
unicastif true install in unicast routing table
multicastif true install in multicast routing table

Returns: true on success

bool  originate_route (const IPv6Net& nlri, const IPv6& next_hop, const bool& unicast, const bool& multicast)

originate_route

Originate an IPv6 route

Parameters:

nlrisubnet to announce
next_hopto forward to
unicastif true install in unicast routing table
multicastif true install in multicast routing table

Returns: true on success

bool  withdraw_route (const IPv4Net& nlri, const bool& unicast, const bool& multicast)

withdraw_route

[const]

Withdraw an IPv4 route

Parameters:

nlrisubnet to withdraw
unicastif true withdraw from unicast routing table
multicastif true withdraw from multicast routing table

Returns: true on success

bool  withdraw_route (const IPv6Net& nlri, const bool& unicast, const bool& multicast)

withdraw_route

[const]

Withdraw an IPv6 route

Returns: true on success

template <typename A> bool  get_route_list_start (uint32_t& token, const bool& unicast, const bool& multicast)

get_route_list_start

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)

get_route_list_next

bool  rib_client_route_info_changed4 ( const IPv4& addr, const uint32_t& prefix_len, const IPv4& nexthop, const uint32_t& metric)

rib_client_route_info_changed4

bool  rib_client_route_info_changed6 ( const IPv6& addr, const uint32_t& prefix_len, const IPv6& nexthop, const uint32_t& metric)

rib_client_route_info_changed6

bool  rib_client_route_info_invalid4 ( const IPv4& addr, const uint32_t& prefix_len)

rib_client_route_info_invalid4

bool  rib_client_route_info_invalid6 ( const IPv6& addr, const uint32_t& prefix_len)

rib_client_route_info_invalid6

bool  set_parameter ( const Iptuple& iptuple, const string& parameter)

set_parameter

set parameter

Typically called via XRL's to set which parameters we support per peer.

Parameters:

iptupleiptuple
parameterwe are setting for this peer.
BGPPlumbingplumbing_unicast ()

plumbing_unicast

[const]

Originally inserted for testing. However, now used by all the "rib_client_route_info_*" methods.

BGPPlumbingplumbing_multicast ()

plumbing_multicast

[const]

XrlStdRouterget_router ()

get_router

EventLoop&  eventloop ()

eventloop

XrlBgpTargetget_xrl_target ()

get_xrl_target

void  notify_birth (const string& target_class, const string& target_instance)

notify_birth

Call via XrlBgpTarget when the finder reports that a process has started.

Parameters:

target_classClass of process that has started.
target_instanceInstance name of process that has started.
void  notify_death (const string& target_class, const string& target_instance)

notify_death

Call via XrlBgpTarget when the finder reports that a process has terminated.

Parameters:

target_classClass of process that has terminated.
target_instanceInstance name of process that has terminated.
bool  processes_ready ()

processes_ready

Returns: Return true when all the processes that BGP is dependent on are ready.

string  bgp_mib_name ()

bgp_mib_name

[const]

Returns: Return the bgp mib name.

bool  do_snmp_trap ()

do_snmp_trap

[const]

Check to see if the bgp snmp entity is running.

void  finder_death (const char *file, const int lineno)

finder_death

To be called when the finder dies.


Generated by: pavlin on possum.icir.org on Thu Jul 8 23:48:33 2004, using kdoc $.