class PimMribTable

PIM-specific Multicast Routing Information Base Table. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

 PimMribTable (PimNode& pim_node)

PimMribTable

Constructor.

Parameters:

pim_nodethe PimNode this table belongs to.
 ~PimMribTable ()

~PimMribTable

[virtual]

Destructor.

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.

Mribfind (const IPvX& address)

find

[const]

Search the table and find the corresponding Mrib entry for a given destination address.

Parameters:

addressthe 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:

tidthe transaction ID.
mribthe MRIB entry to add.
next_hop_vif_namethe 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:

tidthe transaction ID.
mribthe 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:

tidthe 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:

tidthe 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, uint16_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_namethe name of the resolved vif.
next_hop_vif_indexthe index of the resolved vif.

Generated by: pavlin on possum.icir.org on Wed Apr 13 21:53:10 2005, using kdoc $.