Jump to main content

##

# 1.2.4.4.2 Internet Management Protocol (IGMP) Configurations

IGMP Specific User Configurations

- Number of IGMP Interfaces:

  - The maximum number of interfaces that support IGMP
  - Should be <= interfaces that are present at the stack initialization
  - Default value: 1
  - Symbol TCPIP_IGMP_INTERFACES

- Number of Multicast Groups:

  - Maximum number of multicast groups (addresses) for which a IGMP application can subscribe
  - Each group can listen to multiple sources
  - Should be prime number for best performance
  - Default value: 7
  - Symbol TCPIP_IGMP_MCAST_GROUPS

- Number of Sources in Each Group:

  - Maximum number of multicast sources per group a IGMP application can listen to
  - Each multicast source can be used by multiple sockets
  - Should be prime number for best performance
  - Note: the 'all sources' (TCPIP_IGMP_ASM_ALL_SOURCES) may take a slot!
  - Note: Should be <= 32
  - Note: if TCPIP_IGMPV2_SUPPORT_ONLY is enabled then this value is ignored
  - Default value: 11
  - Symbol TCPIP_IGMP_SOURCES_PER_GROUP

- Number of Socket Records per Source:

  - Maximum number of socket records that are part of a IGMP source multicast address for a specific group G
  - Note that same socket may need multiple records if it listens on multiple interfaces!
  - When operating in IGMPv2 style, it represents the total number of sockets that can join/leave a specific group.
  - Default value: 4
  - Symbol TCPIP_IGMP_SOCKET_RECORDS_PER_SOURCE

- IGMP Task Rate (in msec):

  - IGMP task processing rate, in milliseconds.
  - The IGMP module will process a timer event with this rate for maintaining its own queues, processing timeouts, etc.
  - The lower the rate (higher the frequency) the higher the module priority and higher module performance can be obtained
  - The value cannot be lower than the TCPIP_STACK_TICK_RATE.
  - Default value: 33
  - Symbol TCPIP_IGMP_TASK_TICK_RATE

- Default Robustness Variable Value:

  - The default Robustness Variable value
  - The Robustness Variable allows tuning for the expected packet loss on a network.
  - If a network is expected to be lossy, the Robustness Variable may be increased.
  - IGMP is robust to (Robustness Variable - 1) packet losses.
  - RFC 3376 IGMPv3: The Robustness Variable MUST NOT be zero, and SHOULD NOT be one. Default: 2
  - This is just a default value. The actual value is taken from a router query.
  - Default value: 2
  - Symbol TCPIP_IGMP_ROBUSTNESS_VARIABLE

- Default Unsolicited Report Interval (in msec):

  - The default Unsolicited Report Interval
  - The Unsolicited Report Interval is the time between repetitions of a host�s initial report of membership in a group.
  - RFC 3376 IGMPv3: Default: 1 second.
  - Value is in milliseconds
  - Default value: 1000
  - Symbol TCPIP_IGMP_UNSOLICITED_REPORT_INTERVAL

- IGMPv2 Support Only:

  - If this symbol is !0, then only Join and Leave operations are supported, without support for source addresses required by IGMPv3
  - This results in smaller code and less RAM needed by the IGMP module.
  - Default value: false
  - Symbol TCPIP_IGMPV2_SUPPORT_ONLY

- Enable User Notification Functions:

  - Enable/disable user notification functions
  - Default value: false
  - Symbol TCPIP_IGMP_USER_NOTIFICATION