| 
 | 
 | ||||||||||||||||
| MribTable (int family) | MribTable | 
Constructor for table of a given address family.
Parameters:
| family | the address family. | 
| ~MribTable () | ~MribTable | 
| typedef MribTableIterator iterator | iterator | 
| void	 clear () | clear | 
Remove all entries (make the container empty).
| 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,
				uint16_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	 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()).
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.