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

[child] update MLR masks when removing registered IPv6 addresses #10425

Merged
merged 1 commit into from
Jun 25, 2024

Conversation

abtink
Copy link
Member

@abtink abtink commented Jun 22, 2024

This commit modifies Child::RemoveIp6Address() to update the mMlrToRegisterMask and mMlrToUnregisterMask when a registered child IPv6 address entry is removed from the list. These bit-vector masks track the MLR state associated with the entry using its index in the array. Since Array::Remove() replaces the deleted entry with the last one in the array, the MLR masks are also updated to reflect this change.


This PR contains the commit from #10422. Please check and review the last commit. Thanks.

Fixes the issue mentioned here -> #10422 (comment)

Copy link

size-report bot commented Jun 22, 2024

Size Report of OpenThread

Merging #10425 into main(8bd427b).

name branch text data bss total
ot-cli-ftd main 466232 856 66348 533436
#10425 466344 856 66348 533548
+/- +112 0 0 +112
ot-ncp-ftd main 435396 760 61576 497732
#10425 435508 760 61576 497844
+/- +112 0 0 +112
libopenthread-ftd.a main 235489 95 40286 275870
#10425 235605 95 40286 275986
+/- +116 0 0 +116
libopenthread-cli-ftd.a main 57574 0 8075 65649
#10425 57574 0 8075 65649
+/- 0 0 0 0
libopenthread-ncp-ftd.a main 32127 0 5924 38051
#10425 32127 0 5924 38051
+/- 0 0 0 0
ot-cli-mtd main 364312 760 51212 416284
#10425 364312 760 51212 416284
+/- 0 0 0 0
ot-ncp-mtd main 347108 760 46456 394324
#10425 347108 760 46456 394324
+/- 0 0 0 0
libopenthread-mtd.a main 157814 0 25166 182980
#10425 157814 0 25166 182980
+/- 0 0 0 0
libopenthread-cli-mtd.a main 39785 0 8059 47844
#10425 39785 0 8059 47844
+/- 0 0 0 0
libopenthread-ncp-mtd.a main 25007 0 5924 30931
#10425 25007 0 5924 30931
+/- 0 0 0 0
ot-cli-ftd-br main 550112 864 131188 682164
#10425 550240 864 131188 682292
+/- +128 0 0 +128
libopenthread-ftd-br.a main 323836 100 105102 429038
#10425 323952 100 105102 429154
+/- +116 0 0 +116
libopenthread-cli-ftd-br.a main 71468 0 8099 79567
#10425 71468 0 8099 79567
+/- 0 0 0 0
ot-rcp main 62280 564 20636 83480
#10425 62280 564 20636 83480
+/- 0 0 0 0
libopenthread-rcp.a main 9734 0 5060 14794
#10425 9734 0 5060 14794
+/- 0 0 0 0
libopenthread-radio.a main 18939 0 222 19161
#10425 18939 0 222 19161
+/- 0 0 0 0

@abtink abtink marked this pull request as ready for review June 22, 2024 17:18
This commit modifies `Child::RemoveIp6Address()` to update the
`mMlrToRegisterMask` and `mMlrToUnregisterMask` when a registered
child IPv6 address entry is removed from the list. These bit-vector
masks track the MLR state associated with the entry using its index
in the array. Since `Array::Remove()` replaces the deleted entry with
the last one in the array, the MLR masks are also updated to reflect
this change.
@jwhui jwhui merged commit 7b779a3 into openthread:main Jun 25, 2024
103 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants