class Mld6igmpGroupRecord

A class to store information about multicast group membership. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

 Mld6igmpGroupRecord (Mld6igmpVif& mld6igmp_vif, const IPvX& group)

Mld6igmpGroupRecord

Constructor for a given vif and group address.

Parameters:

mld6igmp_vifthe interface this entry belongs to.
groupthe multicast group address.
 ~Mld6igmpGroupRecord ()

~Mld6igmpGroupRecord

Destructor.

Mld6igmpVif&  mld6igmp_vif ()

mld6igmp_vif

[const]

Get the vif this entry belongs to.

Returns: a reference to the vif this entry belongs to.

const IPvX&  group ()

group

[const]

Get the multicast group address.

Returns: the multicast group address.

EventLoop&  eventloop ()

eventloop

Get the corresponding event loop.

Returns: the corresponding event loop.

bool  is_include_mode ()

is_include_mode

[const]

Test whether the filter mode is INCLUDE.

Returns: true if the filter mode is INCLUDE.

bool  is_exclude_mode ()

is_exclude_mode

[const]

Test whether the filter mode is EXCLUDE.

Returns: true if the filter mode is EXCLUDE.

void  set_include_mode ()

set_include_mode

Set the filter mode to INCLUDE.

void  set_exclude_mode ()

set_exclude_mode

Set the filter mode to EXCLUDE.

bool  is_unused ()

is_unused

[const]

Test whether the entry is unused.

Returns: true if the entry is unused, otherwise false.

Mld6igmpSourceRecord*  find_do_forward_source (const IPvX& source)

find_do_forward_source

Find a source that should be forwarded.

Parameters:

sourcethe source address.

Returns: the corresponding source record (Mld6igmpSourceRecord) if found, otherwise NULL.

Mld6igmpSourceRecord*  find_dont_forward_source (const IPvX& source)

find_dont_forward_source

Find a source that should not be forwarded.

Parameters:

sourcethe source address.

Returns: the corresponding source record (Mld6igmpSourceRecord) if found, otherwise NULL.

const Mld6igmpSourceSet&  do_forward_sources ()

do_forward_sources

[const]

Get a reference to the set of sources to forward.

Returns: a reference to the set of sources to forward.

const Mld6igmpSourceSet&  dont_forward_sources ()

dont_forward_sources

[const]

Get a reference to the set of sources not to forward.

Returns: a reference to the set of sources not to forward.

void  process_mode_is_include (const set<IPvX>& sources, const IPvX& last_reported_host)

process_mode_is_include

Process MODE_IS_INCLUDE report.

Parameters:

sourcesthe source addresses.
last_reported_hostthe address of the host that last reported as member.
void  process_mode_is_exclude (const set<IPvX>& sources, const IPvX& last_reported_host)

process_mode_is_exclude

Process MODE_IS_EXCLUDE report.

Parameters:

sourcesthe source addresses.
last_reported_hostthe address of the host that last reported as member.
void  process_change_to_include_mode (const set<IPvX>& sources, const IPvX& last_reported_host)

process_change_to_include_mode

Process CHANGE_TO_INCLUDE_MODE report.

Parameters:

sourcesthe source addresses.
last_reported_hostthe address of the host that last reported as member.
void  process_change_to_exclude_mode (const set<IPvX>& sources, const IPvX& last_reported_host)

process_change_to_exclude_mode

Process CHANGE_TO_EXCLUDE_MODE report.

Parameters:

sourcesthe source addresses.
last_reported_hostthe address of the host that last reported as member.
void  process_allow_new_sources (const set<IPvX>& sources, const IPvX& last_reported_host)

process_allow_new_sources

Process ALLOW_NEW_SOURCES report.

Parameters:

sourcesthe source addresses.
last_reported_hostthe address of the host that last reported as member.
void  process_block_old_sources (const set<IPvX>& sources, const IPvX& last_reported_host)

process_block_old_sources

Process BLOCK_OLD_SOURCES report.

Parameters:

sourcesthe source addresses.
last_reported_hostthe address of the host that last reported as member.
void  lower_group_timer (const TimeVal& timeval)

lower_group_timer

Lower the group timer.

Parameters:

timevalthe timeout interval the timer should be lowered to.
void  lower_source_timer (const set<IPvX>& sources, const TimeVal& timeval)

lower_source_timer

Lower the source timer for a set of sources.

Parameters:

sourcesthe source addresses.
timevalthe timeout interval the timer should be lowered to.
void  source_expired (Mld6igmpSourceRecord* source_record)

source_expired

Take the appropriate actions for a source that has expired.

Parameters:

source_recordthe source record that has expired.
uint32_t  timeout_sec ()

timeout_sec

[const]

Get the number of seconds until the group timer expires.

Returns: the number of seconds until the group timer expires.

const IPvX&  last_reported_host ()

last_reported_host

[const]

Get the address of the host that last reported as member.

Returns: the address of the host that last reported as member.

XorpTimer&  group_timer ()

group_timer

Get a refererence to the group timer.

Returns: a reference to the group timer.

void  schedule_periodic_group_query (const set<IPvX>& sources)

schedule_periodic_group_query

Schedule periodic Group-Specific and Group-and-Source-Specific Query retransmission.

If the sources list is empty, we schedule Group-Specific Query, otherwise we schedule Group-and-Source-Specific Query.

Parameters:

sourcesthe source addresses.
void  received_older_membership_report (int message_version)

received_older_membership_report

Record that an older Membership report message has been received.

Parameters:

message_versionthe corresponding protocol version of the received message.
bool  is_igmpv1_mode ()

is_igmpv1_mode

[const]

Test if the group is running in IGMPv1 mode.

Returns: true if the group is running in IGMPv1 mode, otherwise false.

bool  is_igmpv2_mode ()

is_igmpv2_mode

[const]

Test if the group is running in IGMPv2 mode.

Returns: true if the group is running in IGMPv2 mode, otherwise false.

bool  is_igmpv3_mode ()

is_igmpv3_mode

[const]

Test if the group is running in IGMPv3 mode.

Returns: true if the group is running in IGMPv3 mode, otherwise false.

bool  is_mldv1_mode ()

is_mldv1_mode

[const]

Test if the group is running in MLDv1 mode.

Returns: true if the group is running in MLDv1 mode, otherwise false.

bool  is_mldv2_mode ()

is_mldv2_mode

[const]

Test if the group is running in MLDv2 mode.

Returns: true if the group is running in MLDv2 mode, otherwise false.

int  family ()

family

[const]

Get the address family.

Returns: the address family.


Generated by: pavlin on possum.icir.org on Wed Mar 21 11:23:28 2007, using kdoc $.