Bug 119251 - kernel 4.6.0 fixes igmp_max_memberships to 0
Summary: kernel 4.6.0 fixes igmp_max_memberships to 0
Status: RESOLVED INVALID
Alias: None
Product: Networking
Classification: Unclassified
Component: IPV4 (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Stephen Hemminger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-30 14:07 UTC by C.BALETAUD
Modified: 2016-06-06 20:05 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.6.0
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description C.BALETAUD 2016-05-30 14:07:43 UTC
since kernel-4.6.0,

/proc/sys/net.ipv4/igmp_max_memberships = 0

previous kernel fixe this to 20

so service avahi-daemon can't publish IPv4 service whith error:

IP_ADD_MEMBERSHIP failed: no buffer space available 

reforcing to 20 solves the problem
Comment 1 [account disabled by administrator] 2016-06-03 04:08:28 UTC
So stated previous kernel, if you known it's a mainline kernel that was originally being used then you can try using git to offend the bad commit introduced.
Comment 2 C.BALETAUD 2016-06-06 11:52:10 UTC
on http://kernelnewbies.org/Linux_4.6

IGMP: Add namespaces support for the following sysctls: igmp_llm_reports commit, igmp_max_memberships commit, igmp_max_msf commit, igmp_qrv commit

is there something to change in configuration to have igmp multicast works again ?
Comment 3 [account disabled by administrator] 2016-06-06 16:13:37 UTC
That's new features, not bug fixes. It seems to me that your jumping to the conclusion that the new features broke your config. Please don't do that and instead help me actually debug the issue. What was the previous kernel you meant in your original comment. If it's a mainline kernel try bisecting using git like so: https://git-scm.com/docs/git-bisect.
Comment 4 C.BALETAUD 2016-06-06 17:05:25 UTC
Oki, oki.

First, i don't speak english. It's difficult for me with google translate.
Second, i don't know if i'm the only person in the world with 7 machines whose can't join multicast group since kernel-4.6.0
Third, since kernel-4.6.0 mean that 4.5.* works fine but as i say i don't speak english. Sorry if my report is not precise.

I'm a Gentoo user and i post same message in bug report and maintainer marks it as solved : i don't know what to to (i made a entry in sysctl.d to contourn the problem)

Thanks for yours efforts
Comment 5 [account disabled by administrator] 2016-06-06 17:12:00 UTC
Ok try bisecting it using after getting Linus's tree with:
git bisect bad
git bisect good v4.5(the first good kernel version you stated)
git bisect start
Then build the kernel and run it, if it's good do:
git bisect good.
otherwise if bad:
git bisect bad.
This will get you the first bad commit if there is one.
Comment 6 C.BALETAUD 2016-06-06 19:46:44 UTC
oki, i found in commit dcd87999d415d39cf2ae510bfed6b8206d778e1c

igmp: net: Move igmp namespace init to correct file
    
    When igmp related sysctl were namespacified their initializatin was
    erroneously put into the tcp socket namespace constructor. This
    patch moves the relevant code into the igmp namespace constructor to
    keep things consistent.
    
    Also sprinkle some #ifdefs to silence warnings

where modifs include #ifdef CONFIG_IP_MULTICAST

i activate CONFIG_IP_MULTICAST and now igmp_max_memberships is initialized to 20

Thanks for the debug method, it's now ok for me.
Comment 7 [account disabled by administrator] 2016-06-06 20:02:02 UTC
That makes sense seems it was initialized to a value the maintainer thought was correct and didn't explain to users a kernel config option was required in order to make it work. You can close this bug as invalid now.

Note You need to log in before you can comment on or make changes to this bug.