class PeerHandler

PeerHandler's job is primarily format conversion. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Members


Detailed Description

PeerHandler's job is primarily format conversion. But it also servers as a handle to tie together the input and output sides of a RIB.

 PeerHandler (const string &peername, BGPPeer *peer, BGPPlumbing *plumbing_unicast, BGPPlumbing *plumbing_multicast)

PeerHandler

 ~PeerHandler ()

~PeerHandler

[virtual]

void  stop ()

stop

void  peering_went_down ()

peering_went_down

void  peering_came_up ()

peering_came_up

bool  peering_is_up ()

peering_is_up

[const]

int  process_update_packet (const UpdatePacket *p)

process_update_packet

process_update_packet is called when an update packet has been received by this peer

template <typename A> bool  add (const UpdatePacket *p, PathAttributeList<A>& pa_list,Safi safi)

add

Given an update packet find all the NLRIs with <AFI,SAFI> specified and inject one by one into the plumbing.

Parameters:

p- packet to tease apart
safi- Subsequent address family identifier

Returns: true if an <AFI,SAFI> was found.

template <typename A> bool  withdraw (const UpdatePacket *p, Safi safi)

withdraw

Given an update packet find all the WITHDRAWs with <AFI,SAFI> specified and inject one by on into the plumbing.

Parameters:

p- packet to tease apart
safi- Subsequent address family identifier

Returns: true if an <AFI,SAFI> was found.

template <typename A> bool  multiprotocol (Safi safi, BGPPeerData::Direction d)

multiprotocol

[const]

int  start_packet (bool ibgp)

start_packet

[virtual]

add_route and delete_route are called by the plumbing to propagate a route *to* the peer.

int  add_route (const SubnetRoute<IPv4> &rt, Safi safi)

add_route

[virtual]

int  add_route (const SubnetRoute<IPv6> &rt, Safi safi)

add_route

[virtual]

int  replace_route (const SubnetRoute<IPv4> &old_rt, const SubnetRoute<IPv4> &new_rt, Safi safi)

replace_route

[virtual]

int  replace_route (const SubnetRoute<IPv6> &old_rt, const SubnetRoute<IPv6> &new_rt, Safi safi)

replace_route

[virtual]

int  delete_route (const SubnetRoute<IPv4> &rt, Safi safi)

delete_route

[virtual]

int  delete_route (const SubnetRoute<IPv6> &rt, Safi safi)

delete_route

[virtual]

PeerOutputState  push_packet ()

push_packet

[virtual]

void  output_no_longer_busy ()

output_no_longer_busy

[virtual]

AsNum  AS_number ()

AS_number

[const]

const string&  peername ()

peername

[const]

bool  ibgp ()

ibgp

[const]

bool  originate_route_handler ()

originate_route_handler

[const virtual]

Returns: true if this is the originate route handler.

const IPv4&  id ()

id

[const virtual]

Returns: the neighbours BGP ID as an integer for use by decision.

uint32_t  neighbour_address ()

neighbour_address

[const]

Returns: the neighbours IP address an as integer for use be decision.

const IPv4&  my_v4_nexthop ()

my_v4_nexthop

[const]

const IPv6&  my_v6_nexthop ()

my_v6_nexthop

[const]

EventLoop&  eventloop ()

eventloop

[const]

BGPPlumbing * _plumbing_unicast

_plumbing_unicast

[protected]

BGPPlumbing * _plumbing_multicast

_plumbing_multicast

[protected]

bool _ibgp

_ibgp

[protected]


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