xorp

BsrZone Class Reference

Inheritance diagram for BsrZone:
BugCatcher

List of all members.

Public Types

enum  bsr_zone_state_t {
  STATE_INIT, STATE_CANDIDATE_BSR, STATE_PENDING_BSR, STATE_ELECTED_BSR,
  STATE_NO_INFO, STATE_ACCEPT_ANY, STATE_ACCEPT_PREFERRED
}

Public Member Functions

 BsrZone (PimBsr &pim_bsr, const BsrZone &bsr_zone)
 BsrZone (PimBsr &pim_bsr, const PimScopeZoneId &zone_id)
 BsrZone (PimBsr &pim_bsr, const IPvX &bsr_addr, uint8_t bsr_priority, uint8_t hash_mask_len, uint16_t fragment_tag)
PimBsrpim_bsr ()
bool is_config_bsr_zone () const
bool is_active_bsr_zone () const
bool is_expire_bsr_zone () const
bool is_test_bsr_zone () const
void set_config_bsr_zone (bool v)
void set_active_bsr_zone (bool v)
void set_expire_bsr_zone (bool v)
void set_test_bsr_zone (bool v)
const IPvXbsr_addr () const
void set_bsr_addr (const IPvX &v)
uint8_t bsr_priority () const
void set_bsr_priority (uint8_t v)
uint8_t hash_mask_len () const
uint16_t fragment_tag () const
uint16_t new_fragment_tag ()
bool is_accepted_message () const
void set_is_accepted_message (bool v)
bool is_unicast_message () const
const IPvXunicast_message_src () const
void set_is_unicast_message (bool v, const IPvX &src)
bool is_cancel () const
void set_is_cancel (bool v)
const PimScopeZoneIdzone_id () const
void set_zone_id (const PimScopeZoneId &zone_id)
bsr_zone_state_t bsr_zone_state () const
void set_bsr_zone_state (bsr_zone_state_t v)
int update_config_bsr_zone (const BsrZone &new_bsr_zone, string &error_msg)
 Update the configuration of a BSR zone.
bool is_consistent (string &error_msg) const
bool can_merge_rp_set (const BsrZone &bsr_zone, string &error_msg) const
void merge_rp_set (const BsrZone &bsr_zone)
void store_rp_set (const BsrZone &bsr_zone)
XorpTimerbsr_timer ()
const XorpTimerconst_bsr_timer () const
void expire_bsr_timer ()
XorpTimerscope_zone_expiry_timer ()
const XorpTimerconst_scope_zone_expiry_timer () const
const list< BsrGroupPrefix * > & bsr_group_prefix_list () const
list< BsrGroupPrefix * > & bsr_group_prefix_list ()
BsrGroupPrefixadd_bsr_group_prefix (const IPvXNet &group_prefix_init, bool is_scope_zone_init, uint8_t expected_rp_count)
void delete_bsr_group_prefix (BsrGroupPrefix *bsr_group_prefix)
BsrGroupPrefixfind_bsr_group_prefix (const IPvXNet &group_prefix) const
bool process_candidate_bsr (const BsrZone &cand_bsr_zone)
bool i_am_bsr () const
bool is_new_bsr_preferred (const BsrZone &bsr_zone) const
bool is_new_bsr_same_priority (const BsrZone &bsr_zone) const
TimeVal randomized_override_interval (const IPvX &my_addr, uint8_t my_priority) const
bool is_bsm_forward () const
void set_bsm_forward (bool v)
bool is_bsm_originate () const
void set_bsm_originate (bool v)
bool i_am_candidate_bsr () const
void set_i_am_candidate_bsr (bool i_am_candidate_bsr, uint32_t my_vif_index, const IPvX &my_bsr_addr, uint8_t my_bsr_priority)
uint32_t my_vif_index () const
const IPvXmy_bsr_addr () const
uint8_t my_bsr_priority () const
bool is_my_bsr_addr_explicit () const
void set_is_my_bsr_addr_explicit (bool v)
BsrRpfind_rp (const IPvXNet &group_prefix, const IPvX &rp_addr) const
BsrRpadd_rp (const IPvXNet &group_prefix, bool is_scope_zone_init, const IPvX &rp_addr, uint8_t rp_priority, uint16_t rp_holdtime, string &error_msg)
XorpTimercandidate_rp_advertise_timer ()
const XorpTimerconst_candidate_rp_advertise_timer () const
void start_candidate_rp_advertise_timer ()
void expire_candidate_rp_advertise_timer ()

Private Member Functions

void bsr_timer_timeout ()
void scope_zone_expiry_timer_timeout ()
void candidate_rp_advertise_timer_timeout ()

Private Attributes

PimBsr_pim_bsr
bool _is_config_bsr_zone
bool _is_active_bsr_zone
bool _is_expire_bsr_zone
bool _is_test_bsr_zone
IPvX _bsr_addr
uint8_t _bsr_priority
uint8_t _hash_mask_len
uint16_t _fragment_tag
bool _is_accepted_message
bool _is_unicast_message
IPvX _unicast_message_src
PimScopeZoneId _zone_id
XorpTimer _bsr_timer
list< BsrGroupPrefix * > _bsr_group_prefix_list
bsr_zone_state_t _bsr_zone_state
XorpTimer _scope_zone_expiry_timer
bool _i_am_candidate_bsr
uint32_t _my_vif_index
IPvX _my_bsr_addr
uint8_t _my_bsr_priority
bool _is_my_bsr_addr_explicit
XorpTimer _candidate_rp_advertise_timer
bool _is_bsm_forward
bool _is_bsm_originate
bool _is_cancel

Member Function Documentation

int BsrZone::update_config_bsr_zone ( const BsrZone new_bsr_zone,
string &  error_msg 
)

Update the configuration of a BSR zone.

Parameters:
new_bsr_zonethe BSR zone with the new configuration.
error_msgthe error message (if error).
Returns:
XORP_OK on success, otherwise XORP_ERROR.

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