PimNbr Class Reference

List of all members.

Public Member Functions

 PimNbr (PimVif *pim_vif, const IPvX &primary_addr, int proto_version)
 PimNbr::PimNbr: : The protocol vif towards the neighbor.
 ~PimNbr ()
 PimNbr::~PimNbr: @:
void reset_received_options ()
 PimNbr::reset_received_options: @:
PimNodepim_node () const
PimVifpim_vif () const
uint32_t vif_index () const
 PimNbr::vif_index: @:
const IPvXprimary_addr () const
void set_primary_addr (const IPvX &v)
const list< IPvX > & secondary_addr_list () const
void add_secondary_addr (const IPvX &v)
void delete_secondary_addr (const IPvX &v)
void clear_secondary_addr_list ()
bool has_secondary_addr (const IPvX &secondary_addr) const
bool is_my_addr (const IPvX &addr) const
int proto_version () const
void set_proto_version (int v)
uint16_t hello_holdtime () const
void set_hello_holdtime (uint16_t v)
uint32_t genid () const
void set_genid (uint32_t v)
bool is_genid_present () const
void set_is_genid_present (bool v)
uint32_t dr_priority () const
void set_dr_priority (uint32_t v)
bool is_dr_priority_present () const
void set_is_dr_priority_present (bool v)
bool is_tracking_support_disabled () const
void set_is_tracking_support_disabled (bool v)
uint16_t propagation_delay () const
void set_propagation_delay (uint16_t v)
uint16_t override_interval () const
void set_override_interval (uint16_t v)
bool is_lan_prune_delay_present () const
void set_is_lan_prune_delay_present (bool v)
void pim_hello_holdtime_process (uint16_t holdtime)
 PimNbr::pim_hello_holdtime_process: : The holdtime for the neighbor (in seconds).
void pim_hello_lan_prune_delay_process (bool lan_prune_delay_tbit, uint16_t propagation_delay, uint16_t override_interval)
void pim_hello_dr_priority_process (uint32_t dr_priority)
void pim_hello_genid_process (uint32_t genid)
bool is_nohello_neighbor () const
void set_is_nohello_neighbor (bool v)
int jp_entry_add (const IPvX &source_addr, const IPvX &group_addr, uint8_t group_mask_len, mrt_entry_type_t mrt_entry_type, action_jp_t action_jp, uint16_t holdtime, bool is_new_group)
const XorpTimerconst_neighbor_liveness_timer () const
const TimeValstartup_time () const
void set_startup_time (const TimeVal &v)
list< PimMre * > & pim_mre_rp_list ()
list< PimMre * > & pim_mre_wc_list ()
list< PimMre * > & pim_mre_sg_list ()
list< PimMre * > & pim_mre_sg_rpt_list ()
list< PimMre * > & processing_pim_mre_rp_list ()
list< PimMre * > & processing_pim_mre_wc_list ()
list< PimMre * > & processing_pim_mre_sg_list ()
list< PimMre * > & processing_pim_mre_sg_rpt_list ()
void init_processing_pim_mre_rp ()
void init_processing_pim_mre_wc ()
void init_processing_pim_mre_sg ()
void init_processing_pim_mre_sg_rpt ()
void add_pim_mre (PimMre *pim_mre)
void delete_pim_mre (PimMre *pim_mre)

Private Member Functions

void neighbor_liveness_timer_timeout ()
void jp_send_timer_timeout ()

Private Attributes

IPvX _primary_addr
list< IPvX_secondary_addr_list
int _proto_version
uint32_t _genid
bool _is_genid_present
uint32_t _dr_priority
bool _is_dr_priority_present
uint16_t _hello_holdtime
XorpTimer _neighbor_liveness_timer
bool _is_tracking_support_disabled
uint16_t _propagation_delay
uint16_t _override_interval
bool _is_lan_prune_delay_present
bool _is_nohello_neighbor
XorpTimer _jp_send_timer
PimJpHeader _jp_header
TimeVal _startup_time
list< PimMre * > _pim_mre_rp_list
list< PimMre * > _pim_mre_wc_list
list< PimMre * > _pim_mre_sg_list
list< PimMre * > _pim_mre_sg_rpt_list
list< PimMre * > _processing_pim_mre_rp_list
list< PimMre * > _processing_pim_mre_wc_list
list< PimMre * > _processing_pim_mre_sg_list
list< PimMre * > _processing_pim_mre_sg_rpt_list


class PimVif

Constructor & Destructor Documentation

PimNbr::PimNbr ( PimVif pim_vif,
const IPvX primary_addr,
int  proto_version 

PimNbr::PimNbr: : The protocol vif towards the neighbor.

: The primary address of the neighbor.

PIM neighbor constructor.

PimNbr::~PimNbr ( )

PimNbr::~PimNbr: @:

PIM neighbor destructor.

Member Function Documentation

void PimNbr::neighbor_liveness_timer_timeout ( ) [private]


Timeout: expire a PIM neighbor.

void PimNbr::pim_hello_holdtime_process ( uint16_t  holdtime)

PimNbr::pim_hello_holdtime_process: : The holdtime for the neighbor (in seconds).

Process PIM_HELLO Holdtime option. XXX: if no Holdtime option is received, this function is still called with the default holdtime value of PIM_HELLO_HELLO_HOLDTIME_DEFAULT.

void PimNbr::reset_received_options ( )

PimNbr::reset_received_options: @:

Reset received options from this PIM neighbor.

uint32_t PimNbr::vif_index ( ) const

PimNbr::vif_index: @:

Return the corresponding Vif index toward this neighbor.

Return value: The Vif index toward this neighbor.

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations