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