-
Notifications
You must be signed in to change notification settings - Fork 433
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
Implement join/leave_multicast_group()
for IPv6
#914
Conversation
d5939b8
to
dc64814
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #914 +/- ##
==========================================
+ Coverage 79.96% 79.97% +0.01%
==========================================
Files 82 81 -1
Lines 28378 27831 -547
==========================================
- Hits 22693 22259 -434
+ Misses 5685 5572 -113 ☔ View full report in Codecov by Sentry. |
dc64814
to
6c06cd9
Compare
This patch rebases @jgallagher's to the tip of the main branch, adding support for IPv6 multicast groups. As in the original PR, it is only possible to join groups by sending an initial MLDv2 Report packet. It is not yet possible to resend the change report, leave groups, respond to queries, etc.
Also, modify `test_join_ipv6_multicast_group()` so that it joins the mDNS multicast group instead of 0xfe80::1. Because the lower 24 bits of 0xfe80::01 match the lower part of the IPv6 address assigned to the test device by `crate::tests::setup()`, `has_multicast_group()` would always returns `true`.
join_multicast_group()
for IPv6join/leave_multicast_group()
for IPv6
Folks, I would appreciate if someone could review this PR. For symmetry, in addition to @jgallagher's original pull request, this PR implements |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think everything looks good. Just a small thing that I noticed.
No part of the code uses this anymore.
- Handle payload copy outside of mld::AddressRecordRepr::emit() - On unit test, use the parsed Hop-by-Hop option instead of checking that the wire representation of the two structures is the same - Minor code changes
- Split mldv2_router_alert() in two, adding a new function named push_padn_option(u8) to emit a PadN hop-by-hop option after any other options have been pushed already - When emiting ReportRecordReprs, remove the conditional block that attempted to copy payload data over the destination record
I think we can merge this now. Thank you for your PR! |
This patch rebases @jgallagher's PR #602 to the tip of the main branch, adding support for IPv6 multicast groups.
As in the original PR, it is possible to join groups by sending an initial MLDv2 Report packet. In addition to PR #602, this PR also implements
leave_multicast_group()
.It is not yet possible to resend the change report or respond to queries.