| 
 | 
 | ||||||||||||||||
| PimMribTable (PimNode& pim_node) | PimMribTable | 
Constructor.
Parameters:
| pim_node | the PimNode this table belongs to. | 
| ~PimMribTable () | ~PimMribTable | 
[virtual]
| PimNode&	 pim_node () | pim_node | 
[const]
Get the PimNode this table belongs to.
Returns: the PimNode this table belongs to.
See also: PimTable.
| int		 family () | family | 
Get the address family.
Returns: the address family (AF_INET or AF_INET6 for IPv4 and IPv6 respectively).
Reimplemented from MribTable.
| PimMrt&	 pim_mrt () | pim_mrt | 
Get the corresponding PIM Multicast Routing Table.
Returns: the corresponding PIM Multicast Routing Table.
See also: PimMrt.
| void	 clear () | clear | 
Clear the table by removing all entries.
Reimplemented from MribTable.
| Mrib	* find (const IPvX& address) | find | 
[const]
Search the table and find the corresponding Mrib entry for a given destination address.
Parameters:
| address | the destination address to search for. | 
Returns: the Mrib entry for the destination address.
See also: Mrib.
Reimplemented from MribTable.
| void	 add_pending_insert (uint32_t tid, const Mrib& mrib,
				   const string& next_hop_vif_name) | add_pending_insert | 
Add a MRIB entry to the MRIB table.
Note that if the MRIB entry is for one of my own addresses, then we check the next-hop interface. If it points toward the loopback interface (e.g., in case of KAME IPv6 stack), then we overwrite it with the network interface this address belongs to.
Parameters:
| tid | the transaction ID. | 
| mrib | the MRIB entry to add. | 
| next_hop_vif_name | the next-hop vif name. It is used for later resolving of Mrib::_next_hop_vif_index if the vif name is not known yet. | 
See also: Mrib.
Reimplemented from MribTable.
| void	 add_pending_remove (uint32_t tid, const Mrib& mrib) | add_pending_remove | 
Remove a MRIB entry from the MRIB table.
Parameters:
| tid | the transaction ID. | 
| mrib | the MRIB entry to remove. | 
Reimplemented from MribTable.
| void	 add_pending_remove_all_entries (uint32_t tid) | add_pending_remove_all_entries | 
Remove all MRIB entries from the MRIB table.
Parameters:
| tid | the transaction ID. | 
Reimplemented from MribTable.
| void	 commit_pending_transactions (uint32_t tid) | commit_pending_transactions | 
Commit all pending MRIB entries to the MRIB table.
Parameters:
| tid | the transaction ID for the pending MRIB entries to commit. | 
Reimplemented from MribTable.
| void	 apply_mrib_changes () | apply_mrib_changes | 
Apply all changes to the table.
Note that this may trigger various changes to the PIM protocol state machines.
| list<IPvXNet>&  modified_prefix_list () | modified_prefix_list | 
Get the list of modified prefixes since the last commit.
Returns: the list of modified prefixes since the last commit.
| void	 resolve_prefixes_by_vif_name (const string& next_hop_vif_name,
					     uint32_t next_hop_vif_index) | resolve_prefixes_by_vif_name | 
Resolve all destination prefixes whose next-hop vif name was not resolved earlier (e.g., the vif was unknown).
Parameters:
| next_hop_vif_name | the name of the resolved vif. | 
| next_hop_vif_index | the index of the resolved vif. |