| 
 
 | 
 | 
Each protocol 'registers' for socket I/O and gets assigned one object of this class.
| MfeaMrouter (MfeaNode& mfea_node) | MfeaMrouter | 
Constructor for given MFEA node.
Parameters:
| mfea_node | the MFEA node (MfeaNode) this entry belongs to. | 
| ~MfeaMrouter () | ~MfeaMrouter | 
[virtual]
Destructor
| int		 start () | start | 
Start the MfeaMrouter.
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 stop () | stop | 
Stop the MfeaMrouter.
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 mrouter_socket () | mrouter_socket | 
[const]
Get the mrouter socket.
The mrouter socket is used for various multicast-related access.
Returns: the socket value if valid, otherwise XORP_ERROR.
| int		 open_mrouter_socket () | open_mrouter_socket | 
Open an mrouter socket.
The mrouter socket is used for various multicast-related access. Note that no more than one mrouter socket (per address family) should be open at a time.
Returns: the socket value on success, otherwise XORP_ERROR.
| int		 close_mrouter_socket () | close_mrouter_socket | 
Close the mrouter socket.
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 start_mrt () | start_mrt | 
Start/enable the multicast routing in the kernel.
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 stop_mrt () | stop_mrt | 
Stop/disable the multicast routing in the kernel.
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 start_pim () | start_pim | 
Start/enable PIM routing in the kernel.
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 stop_pim () | stop_pim | 
Stop/disable PIM routing in the kernel.
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 add_multicast_vif (uint16_t vif_index) | add_multicast_vif | 
Add a virtual multicast interface to the kernel.
Parameters:
| vif_index | the vif index of the virtual interface to add. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 delete_multicast_vif (uint16_t vif_index) | delete_multicast_vif | 
Delete a virtual multicast interface from the kernel.
Parameters:
| vif_index | the vif index of the interface to delete. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 add_mfc (const IPvX& source, const IPvX& group,
			uint16_t iif_vif_index, uint8_t *oifs_ttl,
			uint8_t *oifs_flags,
			const IPvX& rp_addr) | add_mfc | 
Install/modify a Multicast Forwarding Cache (MFC) entry in the kernel.
If the MFC entry specified by (@source, @group) pair was not installed before, a new MFC entry will be created in the kernel; otherwise, the existing entry's fields will be modified.
Parameters:
| source | the MFC source address. | 
| group | the MFC group address. | 
| iif_vif_index | the MFC incoming interface index. | 
| oifs_ttl | an array with the min. TTL a packet should have to be forwarded. | 
| oifs_flags | an array with misc. flags for the MFC to install. Note that those flags are supported only by the advanced multicast API. | 
| rp_addr | the RP address. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 delete_mfc (const IPvX& source, const IPvX& group) | delete_mfc | 
Delete a Multicast Forwarding Cache (MFC) entry in the kernel.
Parameters:
| source | the MFC source address. | 
| group | the MFC group address. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 add_bw_upcall (const IPvX& source, const IPvX& group,
			      const TimeVal& threshold_interval,
			      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_bw_upcall | 
Add a dataflow monitor entry in the kernel.
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:
| source | the source address. | 
| group | the group address. | 
| threshold_interval | the dataflow threshold interval. | 
| threshold_packets | the threshold (in number of packets) to compare against. | 
| threshold_bytes | the threshold (in number of bytes) to compare against. | 
| is_threshold_in_packets | if true, threshold_packets is valid. | 
| is_threshold_in_bytes | if true, threshold_bytes is valid. | 
| is_geq_upcall | if true, the operation for comparison is ">=". | 
| is_leq_upcall | if true, the operation for comparison is "<=". | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 delete_bw_upcall (const IPvX& source, const IPvX& group,
				 const TimeVal& threshold_interval,
				 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_bw_upcall | 
Delete a dataflow monitor entry from the kernel.
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:
| source | the source address. | 
| group | the group address. | 
| threshold_interval | the dataflow threshold interval. | 
| threshold_packets | the threshold (in number of packets) to compare against. | 
| threshold_bytes | the threshold (in number of bytes) to compare against. | 
| is_threshold_in_packets | if true, threshold_packets is valid. | 
| is_threshold_in_bytes | if true, threshold_bytes is valid. | 
| is_geq_upcall | if true, the operation for comparison is ">=". | 
| is_leq_upcall | if true, the operation for comparison is "<=". | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 delete_all_bw_upcall (const IPvX& source, const IPvX& group) | delete_all_bw_upcall | 
Delete all dataflow monitor entries from the kernel for a given source and group address.
Parameters:
| source | the source address. | 
| group | the group address. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 get_sg_count (const IPvX& source, const IPvX& group,
			     SgCount& sg_count) | get_sg_count | 
Get various counters per (S,G) entry.
Get the number of packets and bytes forwarded by a particular Multicast Forwarding Cache (MFC) entry in the kernel, and the number of packets arrived on wrong interface for that entry.
Parameters:
| source | the MFC source address. | 
| group | the MFC group address. | 
| sg_count | a reference to a SgCount class to place the result. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int		 get_vif_count (uint16_t vif_index, VifCount& vif_count) | get_vif_count | 
Get various counters per virtual interface.
Get the number of packets and bytes received on, or forwarded on a particular multicast interface.
Parameters:
| vif_index | the vif index of the virtual multicast interface whose statistics we need. | 
| vif_count | a reference to a VifCount class to store the result. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
| bool	 mrt_api_mrt_mfc_flags_disable_wrongvif () | mrt_api_mrt_mfc_flags_disable_wrongvif | 
[const]
Get the flag that indicates whether the kernel supports disabling of WRONGVIF signal per (S,G) per interface.
Returns: true if the kernel supports disabling of WRONGVIF signal per (S,G) per interface, otherwise false.
| bool	 mrt_api_mrt_mfc_flags_border_vif () | mrt_api_mrt_mfc_flags_border_vif | 
[const]
Get the flag that indicates whether the kernel supports setting of the Border bit flag per (S,G) per interface.
The Border bit flag is used for PIM-SM Register encapsulation in the kernel.
Returns: true if the kernel supports setting of the Border bit flag per (S,G) per interface, otherwise false.
| bool	 mrt_api_mrt_mfc_rp () | mrt_api_mrt_mfc_rp | 
[const]
Get the flag that indicates whether the kernel supports adding the RP address to the kernel.
The RP address is used for PIM-SM Register encapsulation in the kernel.
Returns: true if the kernel supports adding the RP address to the kernel, otherwise false.
| bool	 mrt_api_mrt_mfc_bw_upcall () | mrt_api_mrt_mfc_bw_upcall | 
[const]
Get the flag that indicates whether the kernel supports the bandwidth upcall mechanism.
Returns: true if the kernel supports the bandwidth upcall mechanism.
| Generated by: pavlin on possum.icir.org on Mon Jun 9 13:23:54 2003, using kdoc 2.0a54+XORP. |