6.3.4

6.3.4.1 Internet Group Management Protocol (IGMP)

Overview

IGMP was primarily designed for hosts on multi-access networks to inform locally attached routers of their group membership information. This is performed by hosts multicasting IGMP Host Membership Reports. Multicast routers listen for these messages and then can exchange group membership information with other multicast routers. This allows distribution trees to be formed to deliver multicast datagrams. The IGMP statement is used to configure IGMP.

The IGMP Statement

   igmp ( yes | no | on | off ) {
      queryinterval sec ;
      maxresptime sec ;
      robustness number ;
      interface interface_list 
         enable | disable 
         version 1 | 2 
         queryinterval sec
         maxresptime sec
         robustness number
       ;
      traceoptions trace_options ;
   }
In snapshots after 11/12, the syntax will be:
   igmp ( yes | no | on | off ) {
      queryinterval sec ;
      maxresptime sec ;
      robustness number ;
      interface interface_list {
         enable | disable ;
         version 1 | 2 ;
         queryinterval sec ;
         maxresptime sec ;
         robustness number ;
      };
      traceoptions trace_options ;
   }

The igmp statement enables or disables the IGMP protocol. If the igmp statement is not specified, the default is igmp off. If enabled, IGMP will default to enabling all interfaces that are multicast capable. These interfaces are identified by the IFF_MULTICAST interface flag.

The options are as follows:

queryinterval time  Specifies the default interval at which
     to send IGMP Host-Membership-Queries.  If unspecified, the default
     query interval is 125 seconds.

maxresptime time  Specifies the default maximum response time
     to include in Host-Membership-Queries.  If unspecified, this is
     10 seconds.

robustness number  Specifies the default robustness parameter
     (number of acceptable message losses).  If unspecified, this is 2.

interface interface_list

   Enables or disables IGMP on this interface or list of interfaces.
   Currently, the gated implementation of IGMP does not detect when there
   are multiple addresses configured on the same physical interface.
   It will send IGMP messages to each logical network.  This should be
   fixed in a future release.

   The possible parameters are:

   disable   Specifies that IGMP packets received via the
        specified interface will be ignored.  The default is to listen
        to IGMP on all multicast-capable interfaces.

   enable   This is the default.  This argument may be necessary
        when disable is used on a wildcard interface descriptor.

   version (1|2)   Sets the version of IGMP to run on the
        specified interface.  Version 2 is the default.

   queryinterval sec   Sets the period at which IGMP Host 
        Membership Queries will be sent on the specified interface.  The
        default is the default queryinterval as specified above.

   maxresptime sec   Sets the maximum response time to
        include in IGMP Host Membership Queries.  The default is the 
        default maxresptime as specified above.
   
   robustness number   Sets the robustness parameter, being
        the number of packet losses which IGMP will tolerate.  Higher
        values cause longer convergence times.  The default is the
        default robustness as specified above.

traceoptions trace_options

   Specifies the tracing options for IGMP.  (See Trace Statements and the
   IGMP specific tracing options below.)

   Packet tracing options (which may be modified with detail, 
   send, or recv):

   packets  All IGMP packets.

   query  Host-Membership-Queries.

   report  Host-Membership-Reports.

   leave  Leaves.

   mtrace  Multicast traceroute messages.