| 
  | ||||||||||||||||
Neighbour specific information.
| enum State { Down = 1, Attempt = 2, Init = 3, TwoWay = 4, ExStart = 5, Exchange = 6, Loading = 7, Full = 8 } | State | 
The ordering is important (used in the DR and BDR election).
| static const uint32_t TIMERS | TIMERS | 
| enum Timers { INITIAL = 0, FULL = 1, } | Timers | 
| typedef XorpCallback0<bool>::RefPtr RxmtCallback | RxmtCallback | 
|  Neighbour (Ospf<A>& ospf, Peer<A>& peer, OspfTypes::RouterID router_id,
	      A neighbour_address, OspfTypes::NeighbourID neighbourid,
	      OspfTypes::LinkType linktype, 
	      State state = Init)
 | Neighbour | 
We start in Init not Down state as typically this class is created on demand when a hello packet arrives.
|  ~Neighbour ()
 | ~Neighbour | 
| OspfTypes::NeighbourID  get_neighbour_id ()
 | get_neighbour_id | 
[const]
Get neighbour ID our internal ID for each neighbour.
| OspfTypes::RouterID  get_router_id ()
 | get_router_id | 
[const]
| A  get_neighbour_address ()
 | get_neighbour_address | 
[const]
| OspfTypes::RouterID  get_candidate_id ()
 | get_candidate_id | 
[const]
Returns: the value that should be used for DR or BDR for this neighbour In OSPFv2 its the source address of the interface. In OSPFv3 its the router ID.
| State  get_state ()
 | get_state | 
[const]
Get the state of this neighbour.
| Auth&  get_auth_handler ()
 | get_auth_handler | 
Return the authentication handler.
| bool  is_neighbour_DR ()
 | is_neighbour_DR | 
[const]
Returns: true if this routers neighbour is the DR.
| bool  is_neighbour_DR_or_BDR ()
 | is_neighbour_DR_or_BDR | 
[const]
Returns: true if this routers neighbour is the DR or BDR.
| bool  announce_in_hello_packet ()
 | announce_in_hello_packet | 
[const]
Should this neighbour be announced in hello packet.
Returns: true if it should.
| HelloPacket * get_hello_packet ()
 | get_hello_packet | 
Get a copy of the last hello packet that was received.
| HelloPacket * get_hello_packet ()
 | get_hello_packet | 
[const]
Get a copy of the last hello packet that was received.
| void  event_hello_received (HelloPacket *hello)
 | event_hello_received | 
| void  data_description_received (DataDescriptionPacket *dd)
 | data_description_received | 
| void  link_state_request_received (LinkStateRequestPacket *lsrp)
 | link_state_request_received | 
| void  link_state_update_received (LinkStateUpdatePacket *lsup)
 | link_state_update_received | 
| void  link_state_acknowledgement_received (LinkStateAcknowledgementPacket
					     *lsap)
 | link_state_acknowledgement_received | 
| bool  send_lsa (Lsa::LsaRef lsar)
 | send_lsa | 
Send this LSA directly to the neighbour. Do not place on retransmission list.
Returns: true on success
| bool  queue_lsa (OspfTypes::PeerID peerid, OspfTypes::NeighbourID nid,
		   Lsa::LsaRef lsar, bool& multicast_on_peer)
 | queue_lsa | 
Queue an LSA for transmission.
Parameters:
| peer | the LSA arrived on. | 
| nid | the LSA arrived on. | 
| lsar | the lsa | 
| multicast_on_peer | Did this LSA get multicast on this peer. | 
Returns: true on success.
| bool  push_lsas ()
 | push_lsas | 
| bool  on_link_state_request_list (Lsa::LsaRef lsar)
 | on_link_state_request_list | 
[const]
Is this LSA on this neighbours link state request list.
Returns: true if it is.
| OspfTypes::LinkType  get_linktype ()
 | get_linktype | 
[const]
Returns: the link type.
| bool  send_ack (list<Lsa_header>& ack, bool direct, bool& multicast_on_peer)
 | send_ack | 
Send acknowledgement.
Parameters:
| ack | list of acknowledgements. | 
| direct | if true send directly to the neighbour. | 
| multicast_on_peer | set to true if the ack was multicast. Only if direct is false is it possible for the packet to be multicast. | 
Returns: true if an acknowledgement is sent.
| void  event_kill_neighbour ()
 | event_kill_neighbour | 
| void  event_adj_ok ()
 | event_adj_ok | 
| void  event_bad_link_state_request ()
 | event_bad_link_state_request | 
|  string  pp_state (State is)
 | pp_state | 
[static]
Pretty print the neighbour state.
| bool  get_neighbour_info (NeighbourInfo& ninfo)
 | get_neighbour_info | 
[const]
Get state information about this neighbour.
Parameters:
| ninfo | if neighbour is found its information. | 
| string  str ()
 | str | 
| static OspfTypes::NeighbourID _ticket | _ticket |