Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add multicast SSM join and leave for IPv4 (IGMP) #298

Merged
merged 6 commits into from Apr 19, 2022

Conversation

MaxF12
Copy link
Contributor

@MaxF12 MaxF12 commented Apr 19, 2022

Adds join_ssm_v4 and leave_ssm_v4 to allow sockets to include source when joining a multicast group. ASM multicast has been deprecated for inter domain use by the IETF, so SSM is an important functionality to have.

Also see this topic on Rust internals.

Copy link
Collaborator

@Thomasdezeeuw Thomasdezeeuw left a comment

Two nits, but LGTM overall.

Is their an IPv6 equivalent for this? If so, do you want to add that as well?

src/socket.rs Outdated Show resolved Hide resolved
src/socket.rs Outdated Show resolved Hide resolved
@MaxF12
Copy link
Contributor Author

@MaxF12 MaxF12 commented Apr 19, 2022

Thanks for the review. Also yes, there is an IPv6 equivalent (MLD) but the sockops isn't as supported on many platforms. E.g., MCAST_JOIN_SOURCE_GROUP is the generic sockop that could be used for both IPv4 and IPv6 but it isn't working on MacOS. I will probably check out on what platforms they do work and then add them to libc.

@Thomasdezeeuw Thomasdezeeuw merged commit 5436228 into rust-lang:master Apr 19, 2022
18 checks passed
@Thomasdezeeuw
Copy link
Collaborator

@Thomasdezeeuw Thomasdezeeuw commented Apr 19, 2022

Thanks @MaxF12

Thanks for the review. Also yes, there is an IPv6 equivalent (MLD) but the sockops isn't as supported on many platforms. E.g., MCAST_JOIN_SOURCE_GROUP is the generic sockop that could be used for both IPv4 and IPv6 but it isn't working on MacOS. I will probably check out on what platforms they do work and then add them to libc.

If you could add that in a follow up pr that would be great.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants