| 
 | 
 | ||||||||||||||||
| MribTable (int family) | MribTable | 
Constructor for table of a given address family.
Parameters:
| family | the address family. | 
| ~MribTable () | ~MribTable | 
| typedef MribTableIterator iterator | iterator | 
| int		 family () | family | 
[const]
Get the address family.
Returns: the address family ((e.g., AF_INET or AF_INET6 for IPv4 and IPv6 respectively).
| void	 clear () | clear | 
Remove all entries and pending transactions (make the container empty).
| void	 remove_all_entries () | remove_all_entries | 
| list<Mrib *>&  removed_mrib_entries () | removed_mrib_entries | 
Get a reference to the list with removed Mrib entries.
Returns: a reference to the list with removed Mrib entries.
| bool  is_preserving_removed_mrib_entries () | is_preserving_removed_mrib_entries | 
[const]
Test if the removed Mrib entries are preserved or deleted.
Returns: true if the removed Mrib entries are preserved, otherwise false.
| void  set_is_preserving_removed_mrib_entries (bool v) | set_is_preserving_removed_mrib_entries | 
Enable or disable the preserving of the removed Mrib entries.
Parameters:
| v | if true, then the removed Mrib entries are preserved otherwise they are deleted. | 
| Mrib	* insert (const Mrib& mrib) | insert | 
Insert a copy of a Mrib entry.
Note: if there is an existing Mrib entry for the same prefix, the old entry is deleted.
Parameters:
| mrib | the entry to insert. | 
Returns: a pointer to the inserted entry on success, otherwise NULL.
| void	 remove (const IPvXNet& dest_prefix) | remove | 
Remove from the table a Mrib entry for a given destination prefix.
Parameters:
| dest_prefix | the destination prefix of the entry to remove. | 
| void	 remove (const Mrib& mrib) | remove | 
Remove a Mrib entry from the table.
Parameters:
| mrib | a Mrib with information about the entry to remove. | 
| Mrib	* find (const IPvX& address) | find | 
[const]
Find the longest prefix match for an address.
Parameters:
| address | the lookup address. | 
Returns: a pointer to the longest prefix Mrib match for address if exists, otherwise NULL.
| Mrib	* find_exact (const IPvXNet& dest_prefix) | find_exact | 
[const]
Find an exact match for a network address prefix.
Parameters:
| dest_prefix | the lookup network address prefix. | 
Returns: a pointer to the exact Mrib match for dest_prefix if exists, otherwise NULL.
| iterator	 begin () | begin | 
[const]
Get an iterator for the first element.
Returns: the iterator for the first element.
| iterator	 end () | end | 
[const]
Get an iterator for the last element.
Returns: the iterator for the last element.
| void  update_entry_vif_index (const IPvXNet& dest_prefix,
				uint32_t vif_index) | update_entry_vif_index | 
Update the vif index of a Mrib entry.
Parameters:
| dest_prefix | the destination prefix of the Mrib entry to update. | 
| vif_index | the new vif index of the Mrib entry. | 
| void	 add_pending_insert (uint32_t tid, const Mrib& mrib) | add_pending_insert | 
Add a pending transaction to insert a Mrib entry from the table.
The operation is added to the list of pending transactions, but the entry itself is not added to the table (until MribTable::commit_pending_transactions() is called).
Parameters:
| tid | the transaction ID. | 
| mrib | the Mrib entry that contains the information about the entry to add. | 
| void	 add_pending_remove (uint32_t tid, const Mrib& mrib) | add_pending_remove | 
Add a pending transaction to remove a Mrib entry from the table.
the operation is added to the list of pending transaction, but the entry itself is not removed from the table (until MribTable::commit_pending_transactions() is called).
Parameters:
| tid | the transaction ID. | 
| mrib | the Mrib entry that contains the information about the entry to remove. | 
| void	 add_pending_remove_all_entries (uint32_t tid) | add_pending_remove_all_entries | 
Add a pending transaction to remove all Mrib entries from the table.
the operation is added to the list of pending transaction, but the entries themselves is not removed from the table (until MribTable::commit_pending_transactions() is called).
Parameters:
| tid | the transaction ID. | 
| void	 commit_pending_transactions (uint32_t tid) | commit_pending_transactions | 
Commit pending transactions for adding or removing Mrib entries for a given transaction ID.
All pending transactions to add/remove Mrib entries for a given transaction ID are processes (see MribTable::add_pending_insert() and MribTable::add_pending_remove() and MribTable::add_pending_remove_all_entries()).
Parameters:
| tid | the transaction ID of the entries to commit. | 
| void	 abort_pending_transactions (uint32_t tid) | abort_pending_transactions | 
Abort pending transactions for adding or removing Mrib entries for a given transaction ID.
Parameters:
| tid | the transaction ID of the entries to abort. | 
| void	 abort_all_pending_transactions () | abort_all_pending_transactions | 
Abort all pending transactions for adding or remove Mrib entries.
| size_t	 size () | size | 
[const]
Get the number of Mrib entries in the table.
Returns: the number of Mrib entries in the table.