Bug 15907 - IP_ADD_SOURCE_MEMBERSHIP after IP_ADD_MEMBERSHIP join on same multicast-group dont return EINVAL
Summary: IP_ADD_SOURCE_MEMBERSHIP after IP_ADD_MEMBERSHIP join on same multicast-group...
Status: RESOLVED UNREPRODUCIBLE
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: 2010-05-05 09:48 UTC by Fabian Holler
Modified: 2012-10-30 16:09 UTC (History)
0 users

See Also:
Kernel Version: 2.6.34-rc6
Subsystem:
Regression: No
Bisected commit-id:


Attachments
asm+ssm join test program (1.17 KB, text/x-c)
2010-05-05 09:48 UTC, Fabian Holler
Details

Description Fabian Holler 2010-05-05 09:48:38 UTC
Created attachment 26225 [details]
asm+ssm join test program

When an SSM IP_ADD_SOURCE_MEMBERSHIP is done after an ASM IP_ADD_MEMBERSHIP join on the same group(& same interface) the setsockopt operation should return EINVAL.

The linux implementation returns successfull



https://www3.tools.ietf.org/html/rfc3678#section-4.1.3

I attached an simple C test program.
Comment 1 Fabian Holler 2010-11-14 11:32:28 UTC
I found the discussion about my bug on mailinglist archive, its a pitty that I haven't subscribed the list, so I cant easily reply, here is my endorse: :-)

One Problem of this behaviour should be:

- Process 1 subscribes to the ASM Group => an IGMP-Exclude-Packet will be send
- Process 2 subscribes to the SSM Group => an IGMP-Include Packet will be send, this would filter all multicast traffic from the Group except from SSM IP-address.
The ASM-process wont receive data from the whole multicast group instead also only the data from the SSM Sender.

Returning an Error on the ssm join would at least inform the user about this situation
Comment 2 Fabian Holler 2010-11-16 14:04:39 UTC
I tried to reproduce my last comment on kernel 2.6.35-23 and it dont act like described. 
Seems that I made an mistake on my last test with an older kernel.

The 2. Process/Socket will trigger another IGMP-Exclude on the group instead of an include.

It only works like described when the ASM & SSM join are done on the same socket.

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