Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 62579
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T18:29:53+00:00 2026-05-10T18:29:53+00:00

We’ve run into a thorny problem. We are writing a c++ program that receives

  • 0

We’ve run into a thorny problem. We are writing a c++ program that receives multicast UDP traffic. We’re in the process of moving our applications to a different network environment and our operations team has requested that we support IGMPv3 membership announcements from our applications. Initial investigations indicate that Linux 2.6 kernels do support IGMPv3. Therefore, I’m puzzled that when we run tcpdump we see the following output traces:

[rtv@myhost]$ sudo /usr/sbin/tcpdump -i eth1.22 igmp tcpdump: listening on eth1.22 00:20:09.007094 switch-a.stage > ALL-SYSTEMS.MCAST.NET: igmp query v2 [max resp time 20] [ttl 1] 00:20:09.241946 10.129.22.236 > 232.0.1.10: igmp v2 report 232.0.1.10 (DF) [tos 0xc0]  [ttl 1] 00:20:10.472159 10.129.22.236 > 236.0.1.101: igmp v2 report 236.0.1.101 (DF) [tos 0xc0]  [ttl 1]  44 packets received by filter 

My understanding is that one could force the kernel to use a lower version of IGMP by specifying a non-zero value in the file /proc/sys/net/ipv4/conf/eth1.22/force_igmp_version; however, I’ve confirmed that the file has a zero value configuration.

Our application is using the following code to join the multicast group:

... joinMulticast(in_addr mcast_addr, in_addr interface_addr) {   struct ip_mreq  mcast_req;    mcast_req.imr_multiaddr.s_addr = mcast_addr;   mcast_req.imr_interface.s_addr = interface_addr;   int err = setsockopt(fFileDesc, IPPROTO_IP, IP_ADD_MEMBERSHIP,     (char*)&theMulti, sizeof(theMulti));   // handle errors etc.   // ... } 

Is there something extra that we need to include in the source program to force IGMPv3?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T18:29:53+00:00Added an answer on May 10, 2026 at 6:29 pm

    Couple of things to be aware of.

    The first is that (as I understand it) setting the /proc/sys/net/ipv4/conf/eth1.22/force_igmp_version to 0 doesn’t mean ‘use v3’, but actually sets it to ‘auto’. I beleive that you can set it to 3 to force it use igmp v3.

    However, the other thing to be aware of is that the behavior of the igmp stack is determined by the environment that it finds itself in. If your linux box is receiving igmp v2 membership queries from an upstream igmp router, then I believe that the default linux behavior (as mandated by the igmp v3 rfc) is to use only igmp v2 for reports.

    As I understand it when you set /proc/sys/net/ipv4/conf/eth1.22/force_igmp_version to 0 it uses this behavior.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 120k
  • Answers 120k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer You can either make AwesomeClass implement the nongeneric IComparable interface… May 12, 2026 at 12:10 am
  • Editorial Team
    Editorial Team added an answer You can submit the Eval result directly to your method… May 12, 2026 at 12:10 am
  • Editorial Team
    Editorial Team added an answer <%@ Register tagPrefix="foo" %> (you might need a tagName value… May 12, 2026 at 12:10 am

Related Questions

We are developing a little application that given a directory with PDF files creates
We have been using CruiseControl for quite a while with NUnit and NAnt. For
We have a requirement in project to store all the revisions(Change History) for the
We have a remoting singleton server running in a separate windows service (let's call
We have an SVN repository running on a Windows server, and I want to

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.