class PeerHandler
|
PeerHandler's job is primarily format conversion. More... |
|
|
Public Methods
- PeerHandler (const string &peername, BGPPeer *peer,
BGPPlumbing *plumbing_unicast,
BGPPlumbing *plumbing_multicast)
- virtual ~PeerHandler ()
- void stop ()
- void peering_went_down ()
- void peering_came_up ()
- bool peering_is_up () const
- int process_update_packet (const UpdatePacket *p)
- template <typename A> bool add (const UpdatePacket *p,
PathAttributeList<A>& pa_list,Safi safi)
- template <typename A> bool withdraw (const UpdatePacket *p, Safi safi)
- template <typename A> bool multiprotocol (Safi safi,
BGPPeerData::Direction d) const
- virtual int start_packet (bool ibgp)
- virtual int add_route (const SubnetRoute<IPv4> &rt, Safi safi)
- virtual int add_route (const SubnetRoute<IPv6> &rt, Safi safi)
- virtual int replace_route (const SubnetRoute<IPv4> &old_rt,
const SubnetRoute<IPv4> &new_rt,
Safi safi)
- virtual int replace_route (const SubnetRoute<IPv6> &old_rt,
const SubnetRoute<IPv6> &new_rt,
Safi safi)
- virtual int delete_route (const SubnetRoute<IPv4> &rt, Safi safi)
- virtual int delete_route (const SubnetRoute<IPv6> &rt, Safi safi)
- virtual PeerOutputState push_packet ()
- virtual void output_no_longer_busy ()
- AsNum AS_number () const
- const string& peername () const
- bool ibgp () const
- virtual const IPv4& id () const
- uint32_t neighbour_address () const
- const IPv4& my_v4_nexthop () const
- const IPv6& my_v6_nexthop () const
- EventLoop& eventloop () const
Protected Members
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 ()
| ~PeerHandler |
[virtual]
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
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.
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.
[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.
[virtual]
[virtual]
[virtual]
[virtual]
[virtual]
[virtual]
[virtual]
void output_no_longer_busy ()
| output_no_longer_busy |
[virtual]
AsNum AS_number ()
| AS_number |
[const]
const string& peername ()
| peername |
[const]
[const]
[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]
[const]
[protected]
[protected]
[protected]
Generated by: pavlin on possum.icir.org on Thu Nov 6 23:47:04 2003, using kdoc 2.0a54+XORP. |