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

feat: Automatically join solicited-node multicast addresses #1012

Merged
merged 6 commits into from
Nov 28, 2024

Conversation

bergzand
Copy link
Contributor

@bergzand bergzand commented Nov 14, 2024

IPv6 over Ethernet should join the solicited-node multicast
addresses required by the configured IPv6 addresses, as neighbor
solicitations for these addresses have the solicited-node multicast
address as destination address.

This commit automatically leaves old solicited-node multicast addresses
and joins the new set when the IP addresses on the interface are
updated.

@bergzand bergzand changed the title feat: Automatically join sol-node mcast addresses feat: Automatically join solicited-node multicast addresses Nov 14, 2024
@bergzand bergzand force-pushed the pr/join_solicited_node branch from fd9a473 to 508b16c Compare November 14, 2024 09:45
@bergzand
Copy link
Contributor Author

One effect of this pr is that an ethernet-based interface wants to send out multicast reports as soon as an IPv6 address is configured. Not sure if there's strong opinions on that.
According to rfc 6775 § 5.2 joining the solicited-node multicast address is not required on IEEE 802.15.4.

@Dirbaio Dirbaio force-pushed the pr/join_solicited_node branch from 508b16c to 1027f4f Compare November 27, 2024 23:58
.filter_map(|group_addr| match group_addr {
IpAddress::Ipv6(address)
if address.is_solicited_node_multicast()
&& self.inner.has_solicited_node(*address) =>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be && !has_solicited_node(...) . fixed it for you.

bergzand and others added 6 commits November 28, 2024 01:09
IPv6 over Ethernet should join the solicited-node multicast
addresses required by the configured IPv6 addresses, as neighbor
solicitations for these addresses have the solicited-node multicast
address as destination address.

This commit automatically leaves old solicited-node multicast addresses
and joins the new set when the IP addresses on the interface are
updated.
@Dirbaio Dirbaio force-pushed the pr/join_solicited_node branch from c53d175 to 0385bad Compare November 28, 2024 00:10
@Dirbaio Dirbaio enabled auto-merge November 28, 2024 00:10
@Dirbaio Dirbaio added this pull request to the merge queue Nov 28, 2024
Merged via the queue into smoltcp-rs:main with commit 4dcee75 Nov 28, 2024
10 checks passed
@bergzand bergzand deleted the pr/join_solicited_node branch December 5, 2024 22:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants