class PimNode

The PIM node class. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Methods


Detailed Description

There should be one node per PIM instance. There should be one instance per address family.

 PimNode (int family, xorp_module_id module_id, EventLoop& eventloop)

PimNode

Constructor for a given address family, module ID, and event loop.

Parameters:

familythe address family (AF_INET or AF_INET6 for IPv4 and IPv6 respectively).
module_idthe module ID (xorp_module_id). Should be XORP_MODULE_PIMSM Note: if/after PIM-DM is implemented, XORP_MODULE_PIMDM would be allowed as well.
eventloopthe event loop to use.
 ~PimNode ()

~PimNode

[virtual]

Destructor

int  start ()

start

Start the node operation.

Start the PIM protocol. After the startup operations are completed, PimNode::final_start() is called internally to complete the job.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  stop ()

stop

Stop the node operation.

Gracefully stop the PIM protocol. The graceful stop will attempt to send Join/Prune, Assert, etc. messages for all multicast routing entries to gracefully clean-up state with neighbors. After the multicast routing entries cleanup is completed, PimNode::final_stop() is called internally to complete the job. This method, unlike start(), will stop the protocol operation on all interfaces.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  final_start ()

final_start

Completely start the node operation.

This method should be called internally after PimNode::start() to complete the job.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  final_stop ()

final_stop

Completely stop the node operation.

This method should be called internally after PimNode::stop() to complete the job.

Returns: XORP_OK on success, otherwise XORP_ERROR.

void  enable ()

enable

Enable node operation.

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

void  disable ()

disable

Disable node operation.

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

uint8_t  ip_protocol_number ()

ip_protocol_number

[const]

Get the IP protocol number.

Returns: the IP protocol number.

int  add_vif (const Vif& vif, string& error_msg)

add_vif

Install a new PIM vif.

Parameters:

vifvif information about the new PimVif to install.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

Reimplemented from ProtoNode.

int  add_vif (const string& vif_name, uint32_t vif_index, string& error_msg)

add_vif

Install a new PIM vif.

Parameters:

vif_namethe name of the new vif.
vif_indexthe vif index of the new vif.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

Reimplemented from ProtoNode.

int  delete_vif (const string& vif_name, string& error_msg)

delete_vif

Delete an existing PIM vif.

Parameters:

vif_namethe name of the vif to delete.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

Reimplemented from ProtoNode.

int  set_vif_flags (const string& vif_name, bool is_pim_register, bool is_p2p, bool is_loopback, bool is_multicast, bool is_broadcast, bool is_up, uint32_t mtu, string& error_msg)

set_vif_flags

Set flags to a vif.

Parameters:

vif_namethe name of the vif.
is_pim_registertrue if this is a PIM Register vif.
is_p2ptrue if this is a point-to-point vif.
is_loopbacktrue if this is a loopback interface.
is_multicastrue if the vif is multicast-capable.
is_broadcasttrue if the vif is broadcast-capable.
is_uptrue if the vif is UP and running.
mtuthe MTU of the vif.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  add_vif_addr (const string& vif_name, const IPvX& addr, const IPvXNet& subnet_addr, const IPvX& broadcast_addr, const IPvX& peer_addr, bool& should_send_pim_hello, string& error_msg)

add_vif_addr

Add a new address to a vif, or update an existing address.

Parameters:

vif_namethe name of the vif.
addrthe unicast address to add.
subnet_addrthe subnet address to add.
broadcast_addrthe broadcast address (when applicable).
peer_addrthe peer address (when applicable).
should_send_pim_helloa return-by-reference flag that is set to true if the caller should send a PIM Hello message.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  delete_vif_addr (const string& vif_name, const IPvX& addr, bool& should_send_pim_hello, string& error_msg)

delete_vif_addr

Delete an address from a vif.

Parameters:

vif_namethe name of the vif.
addrthe unicast address to delete.
should_send_pim_helloa return-by-reference flag that is set to true if the caller should send a PIM Hello message.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  enable_vif (const string& vif_name, string& error_msg)

enable_vif

Enable an existing PIM vif.

Parameters:

vif_namethe name of the vif to enable.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  disable_vif (const string& vif_name, string& error_msg)

disable_vif

Disable an existing PIM vif.

Parameters:

vif_namethe name of the vif to disable.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  start_vif (const string& vif_name, string& error_msg)

start_vif

Start an existing PIM vif.

Parameters:

vif_namethe name of the vif to start.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  stop_vif (const string& vif_name, string& error_msg)

stop_vif

Stop an existing PIM vif.

Parameters:

vif_namethe name of the vif to start.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  start_all_vifs ()

start_all_vifs

Start PIM on all enabled interfaces.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  stop_all_vifs ()

stop_all_vifs

Stop PIM on all interfaces it was running on.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  enable_all_vifs ()

enable_all_vifs

Enable PIM on all interfaces.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  disable_all_vifs ()

disable_all_vifs

Disable PIM on all interfaces.

Returns: XORP_OK on success, otherwise XORP_ERROR.

void  delete_all_vifs ()

delete_all_vifs

Delete all PIM vifs.

void  vif_shutdown_completed (const string& vif_name)

vif_shutdown_completed

A method called when a vif has completed its shutdown.

Parameters:

vif_namethe name of the vif that has completed its shutdown.
int  proto_recv (const string& if_name, const string& vif_name, const IPvX& src_address, const IPvX& dst_address, uint8_t ip_protocol, int32_t ip_ttl, int32_t ip_tos, bool ip_router_alert, bool ip_internet_control, const vector<uint8_t>& payload, string& error_msg)

proto_recv

Receive a protocol packet.

Parameters:

if_namethe interface name the packet arrived on.
vif_namethe vif name the packet arrived on.
src_addressthe IP source address.
dst_addressthe IP destination address.
ip_protocolthe IP protocol number.
ip_ttlthe IP TTL (hop-limit). If it has a negative value, then the received value is unknown.
ip_tosthe Type of Service (Diffserv/ECN bits for IPv4). If it has a negative value, then the received value is unknown.
ip_router_alertif true, the IP Router Alert option was included in the IP packet.
ip_internet_controlif true, then this is IP control traffic.
payloadthe payload, everything after the IP header and options.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

Reimplemented from ProtoNode.

int  pim_send (const string& if_name, const string& vif_name, const IPvX& src_address, const IPvX& dst_address, uint8_t ip_protocol, int32_t ip_ttl, int32_t ip_tos, bool ip_router_alert, bool ip_internet_control, buffer_t *buffer, string& error_msg)

pim_send

Send a protocol packet.

Parameters:

if_namethe interface to send the packet on. It is essential for multicast. In the unicast case this field may be empty.
vif_namethe vif to send the packet on. It is essential for multicast. In the unicast case this field may be empty.
src_addressthe IP source address.
dst_addressthe IP destination address.
ip_protocolthe IP protocol number. It must be between 1 and 255.
ip_ttlthe IP TTL (hop-limit). If it has a negative value, the TTL will be set internally before transmission.
ip_tosthe Type Of Service (Diffserv/ECN bits for IPv4). If it has a negative value, the TOS will be set internally before transmission.
ip_router_alertif true, then add the IP Router Alert option to the IP packet.
ip_internet_controlif true, then this is IP control traffic.
bufferthe data buffer with the packet to send.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  signal_message_recv (const string& src_module_instance_name, int message_type, uint32_t vif_index, const IPvX& src, const IPvX& dst, const uint8_t *rcvbuf, size_t rcvlen)

signal_message_recv

Receive a signal message from the kernel.


#define MFEA_KERNEL_MESSAGE_NOCACHE        1
#define MFEA_KERNEL_MESSAGE_WRONGVIF       2
#define MFEA_KERNEL_MESSAGE_WHOLEPKT       3

Parameters:

src_module_instance_namethe module instance name of the module-origin of the message.
message_typethe message type. Currently, the type of messages received from the kernel are:
vif_indexthe vif index of the related interface (message-specific relation).
srcthe source address in the message.
dstthe destination address in the message.
rcvbufthe data buffer with the additional information in the message.
rcvlenthe data length in rcvbuf.

Returns: XORP_OK on success, otherwise XORP_ERROR.

Reimplemented from ProtoNode.

int  signal_message_send (const string&, int , uint32_t , const IPvX& , const IPvX& , const uint8_t * , size_t )

signal_message_send

Send signal message: not used by PIM.

Reimplemented from ProtoNode.

int  register_receiver (const string& if_name, const string& vif_name, uint8_t ip_protocol, bool enable_multicast_loopback)

register_receiver

[pure virtual]

Register as a receiver to receive packets.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

Parameters:

if_namethe interface through which packets should be accepted.
vif_namethe vif through which packets should be accepted.
ip_protocolthe IP protocol number that the receiver is interested in. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols.
enable_multicast_loopbackif true then enable delivering of multicast datagrams back to this host (assuming the host is a member of the same multicast group).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  unregister_receiver (const string& if_name, const string& vif_name, uint8_t ip_protocol)

unregister_receiver

[pure virtual]

Unregister as a receiver to receive packets.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

Parameters:

if_namethe interface through which packets should not be accepted.
vif_namethe vif through which packets should not be accepted.
ip_protocolthe IP Protocol number that the receiver is not interested in anymore. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  register_protocol (const string& if_name, const string& vif_name, uint8_t ip_protocol)

register_protocol

[pure virtual]

Register a protocol on an interface in the Multicast FEA.

Parameters:

if_namethe name of the interface to register for the particular protocol.
vif_namethe name of the vif to register for the particular protocol.
ip_protocolthe IP protocol number. It must be between 1 and 255.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  unregister_protocol (const string& if_name, const string& vif_name)

unregister_protocol

[pure virtual]

Unregister a protocol on an interface in the Multicast FEA.

Parameters:

if_namethe name of the interface to unregister for the particular protocol.
vif_namethe name of the vif to unregister for the particular protocol.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  join_multicast_group (const string& if_name, const string& vif_name, uint8_t ip_protocol, const IPvX& group_address)

join_multicast_group

[pure virtual]

Join a multicast group on an interface.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

TODO: add a source address as well!!

Parameters:

if_namethe interface name to join.
vif_namethe vif name to join.
ip_protocolthe IP protocol number that the receiver is interested in.
group_addressthe multicast group address to join.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  leave_multicast_group (const string& if_name, const string& vif_name, uint8_t ip_protocol, const IPvX& group_address)

leave_multicast_group

[pure virtual]

Leave a multicast group on an interface.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

TODO: add a source address as well!!

Parameters:

if_namethe interface name to leave.
vif_namethe vif name to leave.
ip_protocolthe IP protocol number that the receiver is not interested in anymore.
group_addressthe multicast group address to leave.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  add_mfc_to_kernel (const PimMfc& pim_mfc)

add_mfc_to_kernel

[pure virtual]

Add a Multicast Forwarding Cache to the kernel.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

Parameters:

pim_mfcthe PimMfc entry to add.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  delete_mfc_from_kernel (const PimMfc& pim_mfc)

delete_mfc_from_kernel

[pure virtual]

Delete a Multicast Forwarding Cache to the kernel.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

Parameters:

pim_mfcthe PimMfc entry to delete.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  add_dataflow_monitor (const IPvX& source_addr, const IPvX& group_addr, uint32_t threshold_interval_sec, uint32_t threshold_interval_usec, uint32_t threshold_packets, uint32_t threshold_bytes, bool is_threshold_in_packets, bool is_threshold_in_bytes, bool is_geq_upcall, bool is_leq_upcall)

add_dataflow_monitor

[pure virtual]

Add a dataflow monitor to the MFEA.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

Note: either is_threshold_in_packets or is_threshold_in_bytes (or both) must be true. Note: either is_geq_upcall or is_leq_upcall (but not both) must be true.

Parameters:

sourcethe source address.
groupthe group address.
threshold_interval_secthe dataflow threshold interval (seconds).
threshold_interval_usecthe dataflow threshold interval (microseconds).
threshold_packetsthe threshold (in number of packets) to compare against.
threshold_bytesthe threshold (in number of bytes) to compare against.
is_threshold_in_packetsif true, threshold_packets is valid.
is_threshold_in_bytesif true, threshold_bytes is valid.
is_geq_upcallif true, the operation for comparison is ">=".
is_leq_upcallif true, the operation for comparison is "<=".

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  delete_dataflow_monitor (const IPvX& source_addr, const IPvX& group_addr, uint32_t threshold_interval_sec, uint32_t threshold_interval_usec, uint32_t threshold_packets, uint32_t threshold_bytes, bool is_threshold_in_packets, bool is_threshold_in_bytes, bool is_geq_upcall, bool is_leq_upcall)

delete_dataflow_monitor

[pure virtual]

Delete a dataflow monitor from the MFEA.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

Note: either is_threshold_in_packets or is_threshold_in_bytes (or both) must be true. Note: either is_geq_upcall or is_leq_upcall (but not both) must be true.

Parameters:

sourcethe source address.
groupthe group address.
threshold_interval_secthe dataflow threshold interval (seconds).
threshold_interval_usecthe dataflow threshold interval (microseconds).
threshold_packetsthe threshold (in number of packets) to compare against.
threshold_bytesthe threshold (in number of bytes) to compare against.
is_threshold_in_packetsif true, threshold_packets is valid.
is_threshold_in_bytesif true, threshold_bytes is valid.
is_geq_upcallif true, the operation for comparison is ">=".
is_leq_upcallif true, the operation for comparison is "<=".

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  delete_all_dataflow_monitor (const IPvX& source_addr, const IPvX& group_addr)

delete_all_dataflow_monitor

[pure virtual]

Delete all dataflow monitors for a given source and group address from the MFEA.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

Parameters:

source_addrthe source address.
group_addrthe group address.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  add_protocol_mld6igmp (uint32_t vif_index)

add_protocol_mld6igmp

[pure virtual]

Register this protocol with the MLD/IGMP module.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

By registering this protocol with the MLD/IGMP module, it will be notified about multicast group membership events.

Parameters:

vif_indexthe vif index of the interface to register with the MLD/IGMP module.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  delete_protocol_mld6igmp (uint32_t vif_index)

delete_protocol_mld6igmp

[pure virtual]

Deregister this protocol with the MLD/IGMP module.

This is a pure virtual function, and it must be implemented by the communication-wrapper class that inherits this base class.

Parameters:

vif_indexthe vif index of the interface to deregister with the MLD/IGMP module.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  add_membership (uint32_t vif_index, const IPvX& source, const IPvX& group)

add_membership

Receive "add membership" from the MLD/IGMP module.

Parameters:

vif_indexthe vif index of the interface with membership change.
sourcethe source address of the (S,G) or (*,G) entry that has changed membership. In case of Any-Source Multicast, it is IPvX::ZERO().
groupthe group address.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  delete_membership (uint32_t vif_index, const IPvX& source, const IPvX& group)

delete_membership

Receive "delete membership" from the MLD/IGMP module.

Parameters:

vif_indexthe vif index of the interface with membership change.
sourcethe source address of the (S,G) or (*,G) entry that has changed membership. In case of Any-Source Multicast, it is IPvX::ZERO().
groupthe group address.

Returns: XORP_OK on success, otherwise XORP_ERROR.

bool  is_directly_connected (const PimVif& pim_vif, const IPvX& ipaddr_test)

is_directly_connected

[const]

Test if an address is directly connected to a specified virtual interface.

Note that the virtual interface the address is directly connected to must be UP.

Parameters:

pim_vifthe virtual interface to test against.
ipaddr_testthe address to test.

Returns: true if ipaddr_test is directly connected to vif, otherwise false.

PimVifvif_find_pim_register ()

vif_find_pim_register

[const]

Get the PIM-Register virtual interface.

Returns: the PIM-Register virtual interface if exists, otherwise NULL.

uint32_t  pim_register_vif_index ()

pim_register_vif_index

[const]

Get the vif index of the PIM-Register virtual interface.

Returns: the vif index of the PIM-Register virtual interface if exists, otherwise Vif::VIF_INDEX_INVALID.

PimMrt&  pim_mrt ()

pim_mrt

Get the PIM Multicast Routing Table.

Returns: a reference to the PIM Multicast Routing Table (PimMrt).

PimMribTable&  pim_mrib_table ()

pim_mrib_table

Get the table with the Multicast Routing Information Base used by PIM.

Returns: a reference to the table with the Multicast Routing Information Base used by PIM (PimMribTable).

PimBsr&  pim_bsr ()

pim_bsr

Get the PIM Bootstrap entity.

Returns: a reference to the PIM Bootstrap entity (PimBsr).

RpTable&  rp_table ()

rp_table

Get the PIM RP table.

Returns: a reference to the PIM RP table (RpTable).

PimScopeZoneTable&  pim_scope_zone_table ()

pim_scope_zone_table

Get the PIM Scope-Zone table.

Returns: a reference to the PIM Scope-Zone table.

Mifset&  pim_vifs_dr ()

pim_vifs_dr

Get the set of vifs for which this PIM note is a Designated Router.

Returns: the Mifset indicating the vifs for which this PIM node is a Designated Router.

void  set_pim_vifs_dr (uint32_t vif_index, bool v)

set_pim_vifs_dr

Set/reset a virtual interface as a Designated Router.

Parameters:

vif_indexthe vif index of the virtual interface to set/reset as a Designated Router.
vif true, set the virtual interface as a Designated Router, otherwise reset it.
PimVifpim_vif_rpf_find (const IPvX& dst_addr)

pim_vif_rpf_find

Find the RPF virtual interface for a given destination address.

Parameters:

dst_addrthe destination address to lookup.

Returns: the RPF virtual interface (PimVif) toward dst_addr if found, otherwise NULL.

PimNbrpim_nbr_rpf_find (const IPvX& dst_addr)

pim_nbr_rpf_find

Find the RPF PIM neighbor for a given destination address.

Parameters:

dst_addrthe destination address to lookup.

Returns: the RPF PIM neighbor (PimNbr) toward dst_addr if found, otherwise NULL.

PimNbrpim_nbr_rpf_find (const IPvX& dst_addr, const Mrib *mrib)

pim_nbr_rpf_find

Find the RPF PIM neighbor for a given destination address, and already known Mrib entry.

Parameters:

dst_addrthe destination address to lookup.
mribthe already known Mrib entry.

Returns: the RPF PIM neighbor (PimNbr) toward dst_addr if found, otherwise NULL.

PimNbrpim_nbr_find_global (const IPvX& nbr_addr)

pim_nbr_find_global

Find a PIM neighbor by its address.

Note: this method should be used in very limited cases, because in case of IPv6 a neighbor's IP address may be non-unique within the PIM neighbor database due to scope issues.

Parameters:

nbr_addrthe address of the PIM neighbor.

Returns: the PIM neighbor (PimNbr) if found, otherwise NULL.

void  enable_bsr ()

enable_bsr

Enable the PIM Bootstrap mechanism.

void  disable_bsr ()

disable_bsr

Disable the PIM Bootstrap mechanism.

int  start_bsr ()

start_bsr

Start the Bootstrap mechanism.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  stop_bsr ()

stop_bsr

Stop the Bootstrap mechanism.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  set_config_all_vifs_done (string& error_msg)

set_config_all_vifs_done

Complete the set of vif configuration changes.

Parameters:

error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  get_vif_proto_version (const string& vif_name, int& proto_version, string& error_msg)

get_vif_proto_version

Get the protocol version on an interface.

Parameters:

vif_namethe name of the vif to get the protocol version of.
proto_versionthe return-by-reference protocol version.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  set_vif_proto_version (const string& vif_name, int proto_version, string& error_msg)

set_vif_proto_version

Set the protocol version on an interface.

Parameters:

vif_namethe name of the vif to set the protocol version of.
proto_versionthe new protocol version.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  reset_vif_proto_version (const string& vif_name, string& error_msg)

reset_vif_proto_version

Reset the protocol version on an interface to its default value.

Parameters:

vif_namethe name of the vif to reset the protocol version of to its default value.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  get_vif_hello_triggered_delay (const string& vif_name, uint16_t& hello_triggered_delay, string& error_msg)

get_vif_hello_triggered_delay

int  set_vif_hello_triggered_delay (const string& vif_name, uint16_t hello_triggered_delay, string& error_msg)

set_vif_hello_triggered_delay

int  reset_vif_hello_triggered_delay (const string& vif_name, string& error_msg)

reset_vif_hello_triggered_delay

int  get_vif_hello_period (const string& vif_name, uint16_t& hello_period, string& error_msg)

get_vif_hello_period

int  set_vif_hello_period (const string& vif_name, uint16_t hello_period, string& error_msg)

set_vif_hello_period

int  reset_vif_hello_period (const string& vif_name, string& error_msg)

reset_vif_hello_period

int  get_vif_hello_holdtime (const string& vif_name, uint16_t& hello_holdtime, string& error_msg)

get_vif_hello_holdtime

int  set_vif_hello_holdtime (const string& vif_name, uint16_t hello_holdtime, string& error_msg)

set_vif_hello_holdtime

int  reset_vif_hello_holdtime (const string& vif_name, string& error_msg)

reset_vif_hello_holdtime

int  get_vif_dr_priority (const string& vif_name, uint32_t& dr_priority, string& error_msg)

get_vif_dr_priority

int  set_vif_dr_priority (const string& vif_name, uint32_t dr_priority, string& error_msg)

set_vif_dr_priority

int  reset_vif_dr_priority (const string& vif_name, string& error_msg)

reset_vif_dr_priority

int  get_vif_propagation_delay (const string& vif_name, uint16_t& propagation_delay, string& error_msg)

get_vif_propagation_delay

int  set_vif_propagation_delay (const string& vif_name, uint16_t propagation_delay, string& error_msg)

set_vif_propagation_delay

int  reset_vif_propagation_delay (const string& vif_name, string& error_msg)

reset_vif_propagation_delay

int  get_vif_override_interval (const string& vif_name, uint16_t& override_interval, string& error_msg)

get_vif_override_interval

int  set_vif_override_interval (const string& vif_name, uint16_t override_interval, string& error_msg)

set_vif_override_interval

int  reset_vif_override_interval (const string& vif_name, string& error_msg)

reset_vif_override_interval

int  get_vif_is_tracking_support_disabled (const string& vif_name, bool& is_tracking_support_disabled, string& error_msg)

get_vif_is_tracking_support_disabled

int  set_vif_is_tracking_support_disabled (const string& vif_name, bool is_tracking_support_disabled, string& error_msg)

set_vif_is_tracking_support_disabled

int  reset_vif_is_tracking_support_disabled (const string& vif_name, string& error_msg)

reset_vif_is_tracking_support_disabled

int  get_vif_accept_nohello_neighbors (const string& vif_name, bool& accept_nohello_neighbors, string& error_msg)

get_vif_accept_nohello_neighbors

int  set_vif_accept_nohello_neighbors (const string& vif_name, bool accept_nohello_neighbors, string& error_msg)

set_vif_accept_nohello_neighbors

int  reset_vif_accept_nohello_neighbors (const string& vif_name, string& error_msg)

reset_vif_accept_nohello_neighbors

int  get_vif_join_prune_period (const string& vif_name, uint16_t& join_prune_period, string& error_msg)

get_vif_join_prune_period

int  set_vif_join_prune_period (const string& vif_name, uint16_t join_prune_period, string& error_msg)

set_vif_join_prune_period

int  reset_vif_join_prune_period (const string& vif_name, string& error_msg)

reset_vif_join_prune_period

int  get_switch_to_spt_threshold (bool& is_enabled, uint32_t& interval_sec, uint32_t& bytes, string& error_msg)

get_switch_to_spt_threshold

int  set_switch_to_spt_threshold (bool is_enabled, uint32_t interval_sec, uint32_t bytes, string& error_msg)

set_switch_to_spt_threshold

int  reset_switch_to_spt_threshold (string& error_msg)

reset_switch_to_spt_threshold

int  add_config_scope_zone_by_vif_name (const IPvXNet& scope_zone_id, const string& vif_name, string& error_msg)

add_config_scope_zone_by_vif_name

int  add_config_scope_zone_by_vif_addr (const IPvXNet& scope_zone_id, const IPvX& vif_addr, string& error_msg)

add_config_scope_zone_by_vif_addr

int  delete_config_scope_zone_by_vif_name (const IPvXNet& scope_zone_id, const string& vif_name, string& error_msg)

delete_config_scope_zone_by_vif_name

int  delete_config_scope_zone_by_vif_addr (const IPvXNet& scope_zone_id, const IPvX& vif_addr, string& error_msg)

delete_config_scope_zone_by_vif_addr

int  add_config_cand_bsr (const IPvXNet& scope_zone_id, bool is_scope_zone, const string& vif_name, const IPvX& vif_addr, uint8_t bsr_priority, uint8_t hash_mask_len, string& error_msg)

add_config_cand_bsr

int  delete_config_cand_bsr (const IPvXNet& scope_zone_id, bool is_scope_zone, string& error_msg)

delete_config_cand_bsr

int  add_config_cand_rp (const IPvXNet& group_prefix, bool is_scope_zone, const string& vif_name, const IPvX& vif_addr, uint8_t rp_priority, uint16_t rp_holdtime, string& error_msg)

add_config_cand_rp

int  delete_config_cand_rp (const IPvXNet& group_prefix, bool is_scope_zone, const string& vif_name, const IPvX& vif_addr, string& error_msg)

delete_config_cand_rp

int  add_config_static_rp (const IPvXNet& group_prefix, const IPvX& rp_addr, uint8_t rp_priority, uint8_t hash_mask_len, string& error_msg)

add_config_static_rp

int  delete_config_static_rp (const IPvXNet& group_prefix, const IPvX& rp_addr, string& error_msg)

delete_config_static_rp

int  delete_config_all_static_group_prefixes_rp (const IPvX& rp_addr, string& error_msg)

delete_config_all_static_group_prefixes_rp

int  delete_config_all_static_rps (string& error_msg)

delete_config_all_static_rps

int  config_static_rp_done (string& error_msg)

config_static_rp_done

int  add_alternative_subnet (const string& vif_name, const IPvXNet& subnet, string& error_msg)

add_alternative_subnet

int  delete_alternative_subnet (const string& vif_name, const IPvXNet& subnet, string& error_msg)

delete_alternative_subnet

int  remove_all_alternative_subnets (const string& vif_name, string& error_msg)

remove_all_alternative_subnets

bool  is_log_trace ()

is_log_trace

[const]

Test if trace log is enabled.

This method is used to test whether to output trace log debug messges.

Returns: true if trace log is enabled, otherwise false.

void  set_log_trace (bool is_enabled)

set_log_trace

Enable/disable trace log.

This method is used to enable/disable trace log debug messages output.

Parameters:

is_enabledif true, trace log is enabled, otherwise is disabled.
int  add_test_jp_entry (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)

add_test_jp_entry

int  send_test_jp_entry (const string& vif_name, const IPvX& nbr_addr, string& error_msg)

send_test_jp_entry

int  send_test_assert (const string& vif_name, const IPvX& source_addr, const IPvX& group_addr, bool rpt_bit, uint32_t metric_preference, uint32_t metric, string& error_msg)

send_test_assert

int  add_test_bsr_zone (const PimScopeZoneId& zone_id, const IPvX& bsr_addr, uint8_t bsr_priority, uint8_t hash_mask_len, uint16_t fragment_tag)

add_test_bsr_zone

int  add_test_bsr_group_prefix (const PimScopeZoneId& zone_id, const IPvXNet& group_prefix, bool is_scope_zone, uint8_t expected_rp_count)

add_test_bsr_group_prefix

int  add_test_bsr_rp (const PimScopeZoneId& zone_id, const IPvXNet& group_prefix, const IPvX& rp_addr, uint8_t rp_priority, uint16_t rp_holdtime)

add_test_bsr_rp

int  send_test_bootstrap (const string& vif_name, string& error_msg)

send_test_bootstrap

int  send_test_bootstrap_by_dest (const string& vif_name, const IPvX& dest_addr, string& error_msg)

send_test_bootstrap_by_dest

int  send_test_cand_rp_adv ()

send_test_cand_rp_adv

void  add_pim_mre_no_pim_nbr (PimMre *pim_mre)

add_pim_mre_no_pim_nbr

void  delete_pim_mre_no_pim_nbr (PimMre *pim_mre)

delete_pim_mre_no_pim_nbr

list<PimNbr *>&  processing_pim_nbr_list ()

processing_pim_nbr_list

void  init_processing_pim_mre_rp (uint32_t vif_index, const IPvX& pim_nbr_addr)

init_processing_pim_mre_rp

void  init_processing_pim_mre_wc (uint32_t vif_index, const IPvX& pim_nbr_addr)

init_processing_pim_mre_wc

void  init_processing_pim_mre_sg (uint32_t vif_index, const IPvX& pim_nbr_addr)

init_processing_pim_mre_sg

void  init_processing_pim_mre_sg_rpt (uint32_t vif_index, const IPvX& pim_nbr_addr)

init_processing_pim_mre_sg_rpt

PimNbrfind_processing_pim_mre_rp (uint32_t vif_index, const IPvX& pim_nbr_addr)

find_processing_pim_mre_rp

PimNbrfind_processing_pim_mre_wc (uint32_t vif_index, const IPvX& pim_nbr_addr)

find_processing_pim_mre_wc

PimNbrfind_processing_pim_mre_sg (uint32_t vif_index, const IPvX& pim_nbr_addr)

find_processing_pim_mre_sg

PimNbrfind_processing_pim_mre_sg_rpt (uint32_t vif_index, const IPvX& pim_nbr_addr)

find_processing_pim_mre_sg_rpt

ConfigParam<bool>&  is_switch_to_spt_enabled ()

is_switch_to_spt_enabled

ConfigParam<uint32_t>&  switch_to_spt_threshold_interval_sec ()

switch_to_spt_threshold_interval_sec

ConfigParam<uint32_t>&  switch_to_spt_threshold_bytes ()

switch_to_spt_threshold_bytes

void  clear_pim_statistics ()

clear_pim_statistics

int  clear_pim_statistics_per_vif (const string& vif_name, string& error_msg)

clear_pim_statistics_per_vif

uint32_t  pimstat_hello_messages_received ()

pimstat_hello_messages_received

[const]

uint32_t  pimstat_hello_messages_sent ()

pimstat_hello_messages_sent

[const]

uint32_t  pimstat_hello_messages_rx_errors ()

pimstat_hello_messages_rx_errors

[const]

uint32_t  pimstat_register_messages_received ()

pimstat_register_messages_received

[const]

uint32_t  pimstat_register_messages_sent ()

pimstat_register_messages_sent

[const]

uint32_t  pimstat_register_messages_rx_errors ()

pimstat_register_messages_rx_errors

[const]

uint32_t  pimstat_register_stop_messages_received ()

pimstat_register_stop_messages_received

[const]

uint32_t  pimstat_register_stop_messages_sent ()

pimstat_register_stop_messages_sent

[const]

uint32_t  pimstat_register_stop_messages_rx_errors ()

pimstat_register_stop_messages_rx_errors

[const]

uint32_t  pimstat_join_prune_messages_received ()

pimstat_join_prune_messages_received

[const]

uint32_t  pimstat_join_prune_messages_sent ()

pimstat_join_prune_messages_sent

[const]

uint32_t  pimstat_join_prune_messages_rx_errors ()

pimstat_join_prune_messages_rx_errors

[const]

uint32_t  pimstat_bootstrap_messages_received ()

pimstat_bootstrap_messages_received

[const]

uint32_t  pimstat_bootstrap_messages_sent ()

pimstat_bootstrap_messages_sent

[const]

uint32_t  pimstat_bootstrap_messages_rx_errors ()

pimstat_bootstrap_messages_rx_errors

[const]

uint32_t  pimstat_assert_messages_received ()

pimstat_assert_messages_received

[const]

uint32_t  pimstat_assert_messages_sent ()

pimstat_assert_messages_sent

[const]

uint32_t  pimstat_assert_messages_rx_errors ()

pimstat_assert_messages_rx_errors

[const]

uint32_t  pimstat_graft_messages_received ()

pimstat_graft_messages_received

[const]

uint32_t  pimstat_graft_messages_sent ()

pimstat_graft_messages_sent

[const]

uint32_t  pimstat_graft_messages_rx_errors ()

pimstat_graft_messages_rx_errors

[const]

uint32_t  pimstat_graft_ack_messages_received ()

pimstat_graft_ack_messages_received

[const]

uint32_t  pimstat_graft_ack_messages_sent ()

pimstat_graft_ack_messages_sent

[const]

uint32_t  pimstat_graft_ack_messages_rx_errors ()

pimstat_graft_ack_messages_rx_errors

[const]

uint32_t  pimstat_candidate_rp_messages_received ()

pimstat_candidate_rp_messages_received

[const]

uint32_t  pimstat_candidate_rp_messages_sent ()

pimstat_candidate_rp_messages_sent

[const]

uint32_t  pimstat_candidate_rp_messages_rx_errors ()

pimstat_candidate_rp_messages_rx_errors

[const]

uint32_t  pimstat_unknown_type_messages ()

pimstat_unknown_type_messages

[const]

uint32_t  pimstat_unknown_version_messages ()

pimstat_unknown_version_messages

[const]

uint32_t  pimstat_neighbor_unknown_messages ()

pimstat_neighbor_unknown_messages

[const]

uint32_t  pimstat_bad_length_messages ()

pimstat_bad_length_messages

[const]

uint32_t  pimstat_bad_checksum_messages ()

pimstat_bad_checksum_messages

[const]

uint32_t  pimstat_bad_receive_interface_messages ()

pimstat_bad_receive_interface_messages

[const]

uint32_t  pimstat_rx_interface_disabled_messages ()

pimstat_rx_interface_disabled_messages

[const]

uint32_t  pimstat_rx_register_not_rp ()

pimstat_rx_register_not_rp

[const]

uint32_t  pimstat_rp_filtered_source ()

pimstat_rp_filtered_source

[const]

uint32_t  pimstat_unknown_register_stop ()

pimstat_unknown_register_stop

[const]

uint32_t  pimstat_rx_join_prune_no_state ()

pimstat_rx_join_prune_no_state

[const]

uint32_t  pimstat_rx_graft_graft_ack_no_state ()

pimstat_rx_graft_graft_ack_no_state

[const]

uint32_t  pimstat_rx_graft_on_upstream_interface ()

pimstat_rx_graft_on_upstream_interface

[const]

uint32_t  pimstat_rx_candidate_rp_not_bsr ()

pimstat_rx_candidate_rp_not_bsr

[const]

uint32_t  pimstat_rx_bsr_when_bsr ()

pimstat_rx_bsr_when_bsr

[const]

uint32_t  pimstat_rx_bsr_not_rpf_interface ()

pimstat_rx_bsr_not_rpf_interface

[const]

uint32_t  pimstat_rx_unknown_hello_option ()

pimstat_rx_unknown_hello_option

[const]

uint32_t  pimstat_rx_data_no_state ()

pimstat_rx_data_no_state

[const]

uint32_t  pimstat_rx_rp_no_state ()

pimstat_rx_rp_no_state

[const]

uint32_t  pimstat_rx_aggregate ()

pimstat_rx_aggregate

[const]

uint32_t  pimstat_rx_malformed_packet ()

pimstat_rx_malformed_packet

[const]

uint32_t  pimstat_no_rp ()

pimstat_no_rp

[const]

uint32_t  pimstat_no_route_upstream ()

pimstat_no_route_upstream

[const]

uint32_t  pimstat_rp_mismatch ()

pimstat_rp_mismatch

[const]

uint32_t  pimstat_rpf_neighbor_unknown ()

pimstat_rpf_neighbor_unknown

[const]

uint32_t  pimstat_rx_join_rp ()

pimstat_rx_join_rp

[const]

uint32_t  pimstat_rx_prune_rp ()

pimstat_rx_prune_rp

[const]

uint32_t  pimstat_rx_join_wc ()

pimstat_rx_join_wc

[const]

uint32_t  pimstat_rx_prune_wc ()

pimstat_rx_prune_wc

[const]

uint32_t  pimstat_rx_join_sg ()

pimstat_rx_join_sg

[const]

uint32_t  pimstat_rx_prune_sg ()

pimstat_rx_prune_sg

[const]

uint32_t  pimstat_rx_join_sg_rpt ()

pimstat_rx_join_sg_rpt

[const]

uint32_t  pimstat_rx_prune_sg_rpt ()

pimstat_rx_prune_sg_rpt

[const]

int  pimstat_hello_messages_received_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_hello_messages_received_per_vif

[const]

int  pimstat_hello_messages_sent_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_hello_messages_sent_per_vif

[const]

int  pimstat_hello_messages_rx_errors_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_hello_messages_rx_errors_per_vif

[const]

int  pimstat_register_messages_received_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_register_messages_received_per_vif

[const]

int  pimstat_register_messages_sent_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_register_messages_sent_per_vif

[const]

int  pimstat_register_messages_rx_errors_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_register_messages_rx_errors_per_vif

[const]

int  pimstat_register_stop_messages_received_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_register_stop_messages_received_per_vif

[const]

int  pimstat_register_stop_messages_sent_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_register_stop_messages_sent_per_vif

[const]

int  pimstat_register_stop_messages_rx_errors_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_register_stop_messages_rx_errors_per_vif

[const]

int  pimstat_join_prune_messages_received_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_join_prune_messages_received_per_vif

[const]

int  pimstat_join_prune_messages_sent_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_join_prune_messages_sent_per_vif

[const]

int  pimstat_join_prune_messages_rx_errors_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_join_prune_messages_rx_errors_per_vif

[const]

int  pimstat_bootstrap_messages_received_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_bootstrap_messages_received_per_vif

[const]

int  pimstat_bootstrap_messages_sent_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_bootstrap_messages_sent_per_vif

[const]

int  pimstat_bootstrap_messages_rx_errors_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_bootstrap_messages_rx_errors_per_vif

[const]

int  pimstat_assert_messages_received_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_assert_messages_received_per_vif

[const]

int  pimstat_assert_messages_sent_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_assert_messages_sent_per_vif

[const]

int  pimstat_assert_messages_rx_errors_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_assert_messages_rx_errors_per_vif

[const]

int  pimstat_graft_messages_received_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_graft_messages_received_per_vif

[const]

int  pimstat_graft_messages_sent_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_graft_messages_sent_per_vif

[const]

int  pimstat_graft_messages_rx_errors_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_graft_messages_rx_errors_per_vif

[const]

int  pimstat_graft_ack_messages_received_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_graft_ack_messages_received_per_vif

[const]

int  pimstat_graft_ack_messages_sent_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_graft_ack_messages_sent_per_vif

[const]

int  pimstat_graft_ack_messages_rx_errors_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_graft_ack_messages_rx_errors_per_vif

[const]

int  pimstat_candidate_rp_messages_received_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_candidate_rp_messages_received_per_vif

[const]

int  pimstat_candidate_rp_messages_sent_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_candidate_rp_messages_sent_per_vif

[const]

int  pimstat_candidate_rp_messages_rx_errors_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_candidate_rp_messages_rx_errors_per_vif

[const]

int  pimstat_unknown_type_messages_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_unknown_type_messages_per_vif

[const]

int  pimstat_unknown_version_messages_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_unknown_version_messages_per_vif

[const]

int  pimstat_neighbor_unknown_messages_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_neighbor_unknown_messages_per_vif

[const]

int  pimstat_bad_length_messages_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_bad_length_messages_per_vif

[const]

int  pimstat_bad_checksum_messages_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_bad_checksum_messages_per_vif

[const]

int  pimstat_bad_receive_interface_messages_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_bad_receive_interface_messages_per_vif

[const]

int  pimstat_rx_interface_disabled_messages_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_interface_disabled_messages_per_vif

[const]

int  pimstat_rx_register_not_rp_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_register_not_rp_per_vif

[const]

int  pimstat_rp_filtered_source_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rp_filtered_source_per_vif

[const]

int  pimstat_unknown_register_stop_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_unknown_register_stop_per_vif

[const]

int  pimstat_rx_join_prune_no_state_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_join_prune_no_state_per_vif

[const]

int  pimstat_rx_graft_graft_ack_no_state_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_graft_graft_ack_no_state_per_vif

[const]

int  pimstat_rx_graft_on_upstream_interface_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_graft_on_upstream_interface_per_vif

[const]

int  pimstat_rx_candidate_rp_not_bsr_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_candidate_rp_not_bsr_per_vif

[const]

int  pimstat_rx_bsr_when_bsr_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_bsr_when_bsr_per_vif

[const]

int  pimstat_rx_bsr_not_rpf_interface_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_bsr_not_rpf_interface_per_vif

[const]

int  pimstat_rx_unknown_hello_option_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_unknown_hello_option_per_vif

[const]

int  pimstat_rx_data_no_state_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_data_no_state_per_vif

[const]

int  pimstat_rx_rp_no_state_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_rp_no_state_per_vif

[const]

int  pimstat_rx_aggregate_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_aggregate_per_vif

[const]

int  pimstat_rx_malformed_packet_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_malformed_packet_per_vif

[const]

int  pimstat_no_rp_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_no_rp_per_vif

[const]

int  pimstat_no_route_upstream_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_no_route_upstream_per_vif

[const]

int  pimstat_rp_mismatch_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rp_mismatch_per_vif

[const]

int  pimstat_rpf_neighbor_unknown_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rpf_neighbor_unknown_per_vif

[const]

int  pimstat_rx_join_rp_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_join_rp_per_vif

[const]

int  pimstat_rx_prune_rp_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_prune_rp_per_vif

[const]

int  pimstat_rx_join_wc_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_join_wc_per_vif

[const]

int  pimstat_rx_prune_wc_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_prune_wc_per_vif

[const]

int  pimstat_rx_join_sg_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_join_sg_per_vif

[const]

int  pimstat_rx_prune_sg_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_prune_sg_per_vif

[const]

int  pimstat_rx_join_sg_rpt_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_join_sg_rpt_per_vif

[const]

int  pimstat_rx_prune_sg_rpt_per_vif (const string& vif_name, uint32_t& result, string& error_msg)

pimstat_rx_prune_sg_rpt_per_vif

[const]

void  tree_complete ()

tree_complete

[protected]

Reimplemented from IfMgrHintObserver.

void  updates_made ()

updates_made

[protected]

Reimplemented from IfMgrHintObserver.


Generated by: bms on anglepoise.lon.incunabulum.net on Wed Jul 23 10:05:55 2008, using kdoc 2.0a54+XORP.