System do not use IGMPv2 when force_igmp_version is set to 2 and receives an IGMPv3 query

Solution Verified - Updated -

Issue

  • We have configured our system as described in knowledge base article How can I configure my Red Hat Enterprise Linux server to use IGMP protocol Version 2 by default?, but the system still use IGMPv3.

  • When set force_igmp_version to a value of 2, the kernel should only perform multicast IGMPv2 operations (IETF rfc2236).  A host-initiated Join message will be sent as a IGMPv2 Join message.  But if a IGMPv3 query message is received, the host responds with a IGMPv3 join message.  Per rfc3376 and rfc2236, a IGMPv2 host should treat a IGMPv3 query as a IGMPv2 query and respond with an IGMPv2 Join message.

    This is an issue when a IGMPv3 capable switch is the querier and will only issue IGMPv3 queries (which double as IGMPv2 querys) and there's an intermediate switch that is only IGMPv2 capable.  The intermediate switch processes the initial v2 Join, but fails to recognize the IGMPv3 Join responses to the Query, resulting in a dropped connection when the intermediate v2-only switch times it out.

Environment

  • Red Hat Enterprise Linux 5 prior 5.7

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In