| 
  | ||||||||||||||||
|  Mrt ()
 | Mrt | 
|   ~Mrt ()
 | ~Mrt | 
[virtual]
| typedef map<MreSgKey, E*> SgMap | SgMap | 
| typedef map<MreGsKey, E*> GsMap | GsMap | 
| typedef SgMap::iterator sg_iterator | sg_iterator | 
| typedef GsMap::iterator gs_iterator | gs_iterator | 
| typedef SgMap::const_iterator const_sg_iterator | const_sg_iterator | 
| typedef GsMap::const_iterator const_gs_iterator | const_gs_iterator | 
| void  clear ()
 | clear | 
Remove all multicast routing entries from the table.
Note that the entries themselves are also deleted.
| E * insert (E *mre)
 | insert | 
Insert a multicast routing entry that was already created.
Note that we insert a pointer to the mre, hence mre should not be deleted without removing it first from the table.
Parameters:
| mre | the multicast routing entry to insert. | 
Returns: the multicast routing entry that was inserted on success, otherwise NULL.
| int  remove (E *mre)
 | remove | 
Remove a multicast routing entry from the table.
Note that the entry itself is not deleted.
Parameters:
| mre | the multicast routing entry to delete from the table. | 
Returns: XORP_OK if the entry was in the table and was successfully removed, otherwise XORP_ERROR.
| E * find (const IPvX& source_addr, const IPvX& group_addr)
 | find | 
[const]
Find a multicast routing entry from the table.
Parameters:
| source_addr | the source address to search for. | 
| group_addr | the group address to search for. | 
Returns: the multicast routing entry for source source_addr and group group_addr if found, otherwise NULL.
| E * find_source (const IPvX& source_addr)
 | find_source | 
[const]
Find the first multicast routing entry for a source address.
Parameters:
| source_addr | the source address to search for. | 
Returns: the first multicast routing entry for source source_addr if found, otherwise NULL.
| E * find_group (const IPvX& group_addr)
 | find_group | 
[const]
Find the first multicast routing entry for a group address.
Parameters:
| group_addr | the group address to search for. | 
Returns: the first multicast routing entry for group group_addr if found, otherwise NULL.
| E * find_source_by_prefix (const IPvXNet& prefix_s)
 | find_source_by_prefix | 
[const]
Find the first multicast routing entry for a source address prefix.
Parameters:
| prefix_s | the source address prefix to search for. | 
Returns: the first multicast routing entry for source address prefix prefix_s if found, otherwise NULL.
| E * find_group_by_prefix (const IPvXNet& prefix_g)
 | find_group_by_prefix | 
[const]
Find the first multicast routing entry for a group address prefix.
Parameters:
| prefix_g | the group address prefix to search for. | 
Returns: the first multicast routing entry for group address prefix prefix_g if found, otherwise NULL.
| size_t	 size ()
 | size | 
[const]
Get the number of multicast routing entries in the table.
Returns: the number of multicast routing entries.
| const_sg_iterator  sg_begin ()
 | sg_begin | 
[const]
Get an iterator for the first element in the source-group table.
Returns: the iterator for the first element in the source-group table.
| const_gs_iterator  gs_begin ()
 | gs_begin | 
[const]
Get an iterator for the first element in the group-source table.
Returns: the iterator for the first element in the group-source table.
| const_sg_iterator  sg_end ()
 | sg_end | 
[const]
Get an iterator for the last element in the source-group table.
Returns: the iterator for the last element in the source-group table.
| const_gs_iterator  gs_end ()
 | gs_end | 
[const]
Get an iterator for the last element in the group-source table.
Returns: the iterator for the last element in the group-source table.
| const_sg_iterator  source_by_prefix_begin (const IPvXNet& prefix_s)
 | source_by_prefix_begin | 
[const]
Find the source iterator for the first multicast routing entry for a source address prefix.
Parameters:
| prefix_s | the source address prefix to search for. | 
Returns: the iterator for first entry with source address that matches prefix_s. If no matching entry is found, the return value is source_by_prefix_end().
| const_sg_iterator  source_by_prefix_end (const IPvXNet& prefix_s)
 | source_by_prefix_end | 
[const]
Find the source iterator for the one-after-the-last multicast routing entry for a source address prefix.
Parameters:
| prefix_s | the source address prefix to search for. | 
Returns: the iterator for one-after-the-last entry with source address that matches prefix_s. If no such entry exists, the return value is sg_end().
| const_gs_iterator  group_by_prefix_begin (const IPvXNet& prefix_g)
 | group_by_prefix_begin | 
[const]
Find the group iterator for the first multicast routing entry for a group address prefix.
Parameters:
| prefix_g | the group address prefix to search for. | 
Returns: the iterator for first entry with group address that matches prefix_g. If no matching entry is found, the return value is group_by_prefix_end().
| const_gs_iterator  group_by_prefix_end (const IPvXNet& prefix_g)
 | group_by_prefix_end | 
[const]
Find the group iterator for the one-after-the-last multicast routing entry for a group address prefix.
Parameters:
| prefix_g | the group address prefix to search for. | 
Returns: the iterator for one-after-the-last entry with group address that matches prefix_g. If no such entry exists, the return value is gs_end().
| const_sg_iterator  source_by_addr_begin (const IPvX& source_addr)
 | source_by_addr_begin | 
[const]
Find the source iterator for the first multicast routing entry for a source address.
Parameters:
| source_addr | the source address to search for. | 
Returns: the iterator for first entry with source address that matches source_addr. If no matching entry is found, the return value is source_by_addr_end().
| const_sg_iterator  source_by_addr_end (const IPvX& source_addr)
 | source_by_addr_end | 
[const]
Find the source iterator for the one-after-the-last multicast routing entry for a source address.
Parameters:
| source_addr | the source address to search for. | 
Returns: the iterator for one-after-the-last entry with source address that matches source_addr. If no such entry exists, the return value is sg_end().
| const_gs_iterator  group_by_addr_begin (const IPvX& group_addr)
 | group_by_addr_begin | 
[const]
Find the group iterator for the first multicast routing entry for a group address.
Parameters:
| group_addr | the group address to search for. | 
Returns: the iterator for first entry with group address that matches group_addr. If no matching entry is found, the return value is group_by_addr_end().
| const_gs_iterator  group_by_addr_end (const IPvX& group_addr)
 | group_by_addr_end | 
[const]
Find the group iterator for the one-after-the-last multicast routing entry for a group address.
Parameters:
| group_addr | the group address prefix to search for. | 
Returns: the iterator for one-after-the-last entry with group address that matches group_addr. If no such entry exists, the return value is gs_end().
| const_gs_iterator  group_source_by_addr_begin (
	const IPvX& source_addr,
	const IPvX& group_addr)
 | group_source_by_addr_begin | 
[const]
Find the group iterator for the multicast routing entry for a source and a group address.
Parameters:
| source_addr | the source address to search for. | 
| group_addr | the group address to search for. | 
Returns: the iterator for entry with source and group address that matches source_addr and group_addr. If no matching entry is found, the return value is the next entry.
| const_sg_iterator  source_group_by_addr_begin (
	const IPvX& source_addr,
	const IPvX& group_addr)
 | source_group_by_addr_begin | 
[const]
Find the source iterator for the multicast routing entry for a source and a group address.
Parameters:
| source_addr | the source address to search for. | 
| group_addr | the group address to search for. | 
Returns: the iterator for entry with source and group address that matches source_addr and group_addr. If no matching entry is found, the return value is the next entry.