|
|
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.