PimBsr Class Reference

Inheritance diagram for PimBsr:
ProtoUnit ProtoState ServiceBase BugCatcher

List of all members.

Public Member Functions

 PimBsr (PimNode &pim_node)
 PimBsr::PimBsr: : The associated PIM node.
virtual ~PimBsr ()
 PimBsr::~PimBsr: :
void clear ()
 Clear the entry.
int start ()
 Start operation.
int stop ()
 Stop operation.
void enable ()
 Enable operation.
void disable ()
 Disable operation.
int apply_bsr_changes (string &error_msg)
 Apply BSR configuration changes.
PimNodepim_node () const
int unicast_pim_bootstrap (PimVif *pim_vif, const IPvX &nbr_addr) const
list< BsrZone * > & config_bsr_zone_list ()
list< BsrZone * > & active_bsr_zone_list ()
list< BsrZone * > & expire_bsr_zone_list ()
BsrZoneadd_config_bsr_zone (const BsrZone &bsr_zone, string &error_msg)
BsrZoneadd_active_bsr_zone (const BsrZone &bsr_zone, string &error_msg)
BsrZoneadd_expire_bsr_zone (const BsrZone &bsr_zone)
void delete_config_bsr_zone (BsrZone *old_bsr_zone)
void delete_active_bsr_zone (BsrZone *old_bsr_zone)
void delete_expire_bsr_zone (BsrZone *old_bsr_zone)
void delete_all_expire_bsr_zone_by_zone_id (const PimScopeZoneId &zone_id)
void delete_expire_bsr_zone_prefix (const IPvXNet &group_prefix, bool is_scope_zone)
BsrZonefind_config_bsr_zone (const PimScopeZoneId &zone_id) const
BsrZonefind_active_bsr_zone (const PimScopeZoneId &zone_id) const
BsrZonefind_config_bsr_zone_by_prefix (const IPvXNet &group_prefix, bool is_scope_zone) const
BsrZonefind_active_bsr_zone_by_prefix (const IPvXNet &group_prefix, bool is_scope_zone) const
BsrRpfind_rp (const IPvXNet &group_prefix, bool is_scope_zone, const IPvX &rp_addr) const
void add_rps_to_rp_table ()
void schedule_rp_table_apply_rp_changes ()
void clean_expire_bsr_zones ()
void schedule_clean_expire_bsr_zones ()
void add_vif_addr (uint32_t vif_index, const IPvX &vif_addr)
void delete_vif_addr (uint32_t vif_index, const IPvX &vif_addr)
BsrZoneadd_test_bsr_zone (const PimScopeZoneId &zone_id, const IPvX &bsr_addr, uint8_t bsr_priority, uint8_t hash_mask_len, uint16_t fragment_tag)
BsrZonefind_test_bsr_zone (const PimScopeZoneId &zone_id) const
BsrGroupPrefixadd_test_bsr_group_prefix (const PimScopeZoneId &zone_id, const IPvXNet &group_prefix, bool is_scope_zone, uint8_t expected_rp_count)
BsrRpadd_test_bsr_rp (const PimScopeZoneId &zone_id, const IPvXNet &group_prefix, const IPvX &rp_addr, uint8_t rp_priority, uint16_t rp_holdtime)
int send_test_bootstrap (const string &vif_name, string &error_msg)
int send_test_bootstrap_by_dest (const string &vif_name, const IPvX &dest_addr, string &error_msg)
int send_test_cand_rp_adv ()

Private Member Functions

void rp_table_apply_rp_changes_timer_timeout ()
void clean_expire_bsr_zones_timer_timeout ()
BsrZonefind_bsr_zone_by_prefix_from_list (const list< BsrZone * > &zone_list, const IPvXNet &group_prefix, bool is_scope_zone) const
bool can_add_config_bsr_zone (const BsrZone &bsr_zone, string &error_msg) const
bool can_add_active_bsr_zone (const BsrZone &bsr_zone, string &error_msg) const

Private Attributes

list< BsrZone * > _config_bsr_zone_list
list< BsrZone * > _active_bsr_zone_list
list< BsrZone * > _expire_bsr_zone_list
list< BsrZone * > _test_bsr_zone_list
XorpTimer _rp_table_apply_rp_changes_timer
XorpTimer _clean_expire_bsr_zones_timer

Constructor & Destructor Documentation

PimBsr::PimBsr ( PimNode pim_node)

PimBsr::PimBsr: : The associated PIM node.

PimBsr constructor.

PimBsr::~PimBsr ( ) [virtual]

PimBsr::~PimBsr: :

PimBsr destructor.

Member Function Documentation

int PimBsr::apply_bsr_changes ( string &  error_msg)

Apply BSR configuration changes.

error_msgthe error message (if error).
XORP_OK on success, otherwise XORP_ERROR.
void PimBsr::disable ( )

Disable operation.

Disable the node operation.

If an unit is disabled, it cannot be start or pending-start. If the unit was runnning, it will be stop first.

Reimplemented from ProtoState.

void PimBsr::enable ( )

Enable operation.

Enable the node operation.

If an unit is not enabled, it cannot be start, or pending-start.

Reimplemented from ProtoState.

int PimBsr::start ( )

Start operation.

PimBsr::start: @:

XORP_OK on success, otherwise XORP_ERROR.

Start the PIM Bootsrap protocol.

Return value: XORP_OK on success, otherwize XORP_ERROR.

Reimplemented from ProtoState.

int PimBsr::stop ( )

Stop operation.

PimBsr::stop: @:

XORP_OK on success, otherwise XORP_ERROR.

Stop the PIM Bootstrap protocol.

Return value: XORP_OK on success, otherwise XORP_ERROR.

Reimplemented from ProtoState.

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