class PeerHandler

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

Definition#include <peer_handler.hh>
Inherited byDebugPeerHandler, RibIpcHandler
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

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]

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 Nov 6 23:47:04 2003, using kdoc 2.0a54+XORP.