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

[Group] Implement UDPEndPoint for OpenThread (to enable multicast) #13127

Merged
merged 3 commits into from
Jan 11, 2022

Conversation

jepenven-silabs
Copy link
Contributor

Problem

Partial Fix of #12200
Fix #13126
Partial Fix of #13085

Change overview

Ipv6 subscription for group multicast address wasn't available for OpenThread platform.

Implementing it with the current setup wasn't possible since it would have duplicated the whole IPV6 multicast logic. On top of duplicating the logic, it also caused a lot of error and incompatibility between OpenThread and LwIP.

The solution for now is to use an OpenThread implementation of UDPEndpoint which can then use directly the OT multicast api as discussed with @kpschoedel.

However, since TCP is not yet supported in OT, we still need to have LWIP on top of OT. This results in a weird buffer situation as can be seen inside the handleUdpReceive function in UDPEndPointImplOt.cpp

Testing

This feature was tested with the EFR32 platform. It was able to do all previous functionality on top of receiving Multicast payload generated with the TestGroupMessaging yaml test case.

@github-actions
Copy link

github-actions bot commented Jan 3, 2022

PR #13127: Size comparison from 462dd77 to b21a465

Increases (25 builds for esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 462dd77 b21a465 change % change
esp32 all-clusters-app c3devkit (read only) 882900 882940 40 0.0
(read/write) 1312498 1312538 40 0.0
.flash.rodata 176104 176144 40 0.0
.flash.text 882900 882940 40 0.0
m5stack (read only) 943427 943479 52 0.0
(read/write) 441600 441632 32 0.0
.flash.rodata 202936 202968 32 0.0
.flash.text 938043 938095 52 0.0
k32w light k32w061+release (read/write) 647440 647512 72 0.0
.text 563552 563624 72 0.0
lock k32w061+release (read/write) 632264 632336 72 0.0
.text 548708 548780 72 0.0
linux chip-tool-ipv6only arm64 (read only) 7014092 7014284 192 0.0
(read/write) 324865 324897 32 0.0
.data.rel.ro 208984 209000 16 0.0
.got 56880 56888 8 0.0
.text 5938340 5938452 112 0.0
thermostat-no-ble arm64 (read only) 2021852 2022012 160 0.0
(read/write) 143937 143953 16 0.0
.data.rel.ro 72200 72216 16 0.0
.got 3936 3944 8 0.2
.text 1680848 1680944 96 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2338944 2339048 104 0.0
.text 1301520 1301624 104 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2329040 2329136 96 0.0
.text 1291640 1291736 96 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2302200 2302296 96 0.0
.text 1264800 1264896 96 0.0
shell CY8CPROTO_062_4343W+release (read/write) 2053888 2053992 104 0.0
.text 1016488 1016592 104 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 935247 935319 72 0.0
rodata 107996 108036 40 0.0
text 631528 631560 32 0.0
nrf52840dk_nrf52840+rpc (read/write) 921651 921723 72 0.0
rodata 101416 101456 40 0.0
text 626840 626872 32 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 859014 859086 72 0.0
rodata 102924 102964 40 0.0
text 558964 559000 36 0.0
lock-app nrf52840dk_nrf52840 (read/write) 907507 907579 72 0.0
rodata 103304 103344 40 0.0
text 609460 609496 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 831422 831490 68 0.0
rodata 98268 98304 36 0.0
text 536940 536972 32 0.0
pump-app nrf52840dk_nrf52840 (read/write) 908739 908807 68 0.0
rodata 103520 103556 36 0.0
text 610676 610708 32 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 905587 905659 72 0.0
rodata 102776 102816 40 0.0
text 608208 608244 36 0.0
shell nrf52840dk_nrf52840 (read/write) 796871 796939 68 0.0
rodata 78200 78236 36 0.0
text 532680 532712 32 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 709502 709574 72 0.0
rodata 72500 72540 40 0.1
text 450172 450204 32 0.0
p6 all-clusters-app default (read/write) 2391112 2391184 72 0.0
.text 1349376 1349448 72 0.0
light-app default (read/write) 2323680 2323752 72 0.0
.text 1281944 1282016 72 0.0
lock-app default (read/write) 2295880 2295976 96 0.0
.text 1254144 1254240 96 0.0
qpg lighting-app qpg6105+debug (read only) 531096 531176 80 0.0
.text 525776 525856 80 0.0
lock-app qpg6105+debug (read only) 502876 502964 88 0.0
.text 497556 497644 88 0.0
telink lighting-app tlsr9518adk80d (read/write) 831754 831834 80 0.0
text 580232 580272 40 0.0
Full report (28 builds for esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 462dd77 b21a465 change % change
esp32 all-clusters-app c3devkit (read only) 882900 882940 40 0.0
(read/write) 1312498 1312538 40 0.0
.dram0.bss 69104 69104 0 0.0
.dram0.data 14228 14228 0 0.0
.flash.rodata 176104 176144 40 0.0
.flash.text 882900 882940 40 0.0
.iram0.text 62254 62254 0 0.0
m5stack (read only) 943427 943479 52 0.0
(read/write) 441600 441632 32 0.0
.dram0.bss 73600 73600 0 0.0
.dram0.data 34056 34056 0 0.0
.flash.rodata 202936 202968 32 0.0
.flash.text 938043 938095 52 0.0
.iram0.text 122671 122671 0 0.0
k32w light k32w061+release (read/write) 647440 647512 72 0.0
.bss 76184 76184 0 0.0
.data 1904 1904 0 0.0
.text 563552 563624 72 0.0
lock k32w061+release (read/write) 632264 632336 72 0.0
.bss 75896 75896 0 0.0
.data 1860 1860 0 0.0
.text 548708 548780 72 0.0
linux chip-tool-ipv6only arm64 (read only) 7014092 7014284 192 0.0
(read/write) 324865 324897 32 0.0
.bss 54209 54209 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 208984 209000 16 0.0
.dynamic 560 560 0 0.0
.got 56880 56888 8 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 383316 383316 0 0.0
.text 5938340 5938452 112 0.0
thermostat-no-ble arm64 (read only) 2021852 2022012 160 0.0
(read/write) 143937 143953 16 0.0
.bss 63985 63985 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72200 72216 16 0.0
.dynamic 560 560 0 0.0
.got 3936 3944 8 0.2
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 128476 128476 0 0.0
.text 1680848 1680944 96 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2338944 2339048 104 0.0
.bss 188364 188364 0 0.0
.data 5272 5272 0 0.0
.text 1301520 1301624 104 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2329040 2329136 96 0.0
.bss 180608 180608 0 0.0
.data 5552 5552 0 0.0
.text 1291640 1291736 96 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302200 2302296 96 0.0
.bss 179656 179656 0 0.0
.data 5544 5544 0 0.0
.text 1264800 1264896 96 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053888 2053992 104 0.0
.bss 156972 156972 0 0.0
.data 4864 4864 0 0.0
.text 1016488 1016592 104 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 935247 935319 72 0.0
bss 118172 118172 0 0.0
rodata 107996 108036 40 0.0
text 631528 631560 32 0.0
nrf52840dk_nrf52840+rpc (read/write) 921651 921723 72 0.0
bss 115216 115216 0 0.0
rodata 101416 101456 40 0.0
text 626840 626872 32 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 859014 859086 72 0.0
bss 116456 116456 0 0.0
rodata 102924 102964 40 0.0
text 558964 559000 36 0.0
lock-app nrf52840dk_nrf52840 (read/write) 907507 907579 72 0.0
bss 117360 117360 0 0.0
rodata 103304 103344 40 0.0
text 609460 609496 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 831422 831490 68 0.0
bss 115672 115672 0 0.0
rodata 98268 98304 36 0.0
text 536940 536972 32 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 542351 542351 0 0.0
bss 52588 52588 0 0.0
rodata 50668 50668 0 0.0
text 376892 376892 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 908739 908807 68 0.0
bss 117120 117120 0 0.0
rodata 103520 103556 36 0.0
text 610676 610708 32 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 905587 905659 72 0.0
bss 117148 117148 0 0.0
rodata 102776 102816 40 0.0
text 608208 608244 36 0.0
shell nrf52840dk_nrf52840 (read/write) 796871 796939 68 0.0
bss 109536 109536 0 0.0
rodata 78200 78236 36 0.0
text 532680 532712 32 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 709502 709574 72 0.0
bss 107424 107424 0 0.0
rodata 72500 72540 40 0.1
text 450172 450204 32 0.0
p6 all-clusters-app default (read/write) 2391112 2391184 72 0.0
.bss 116564 116564 0 0.0
.data 2552 2552 0 0.0
.text 1349376 1349448 72 0.0
light-app default (read/write) 2323680 2323752 72 0.0
.bss 105856 105856 0 0.0
.data 2384 2384 0 0.0
.text 1281944 1282016 72 0.0
lock-app default (read/write) 2295880 2295976 96 0.0
.bss 104736 104736 0 0.0
.data 2336 2336 0 0.0
.text 1254144 1254240 96 0.0
qpg lighting-app qpg6105+debug (read only) 531096 531176 80 0.0
(read/write) 146936 146936 0 0.0
.bss 86656 86656 0 0.0
.data 1004 1004 0 0.0
.text 525776 525856 80 0.0
lock-app qpg6105+debug (read only) 502876 502964 88 0.0
(read/write) 146940 146940 0 0.0
.bss 85792 85792 0 0.0
.data 952 952 0 0.0
.text 497556 497644 88 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 831754 831834 80 0.0
bss 86840 86840 0 0.0
noinit 37160 37160 0 0.0
text 580232 580272 40 0.0

@github-actions
Copy link

github-actions bot commented Jan 4, 2022

PR #13127: Size comparison from 440c0b1 to 675ae5b

Increases (26 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 440c0b1 675ae5b change % change
efr32 lighting-app BRD4161A (read/write) 127068 127308 240 0.2
.bss 125192 125428 236 0.2
BRD4161A+rpc (read/write) 143736 143972 236 0.2
.bss 141760 141996 236 0.2
window-app BRD4161A (read only) 803068 803240 172 0.0
.text 803060 803232 172 0.0
k32w light k32w061+release (read/write) 648440 648592 152 0.0
.text 564520 564672 152 0.0
lock k32w061+release (read/write) 633264 633416 152 0.0
.text 549676 549828 152 0.0
linux chip-tool-ipv6only arm64 (read only) 7010492 7010668 176 0.0
(read/write) 324785 324817 32 0.0
.data.rel.ro 208920 208936 16 0.0
.got 56880 56888 8 0.0
.text 5935188 5935284 96 0.0
thermostat-no-ble arm64 (read only) 2023772 2024156 384 0.0
(read/write) 144017 144049 32 0.0
.data.rel.ro 72272 72288 16 0.0
.got 3936 3944 8 0.2
.text 1682624 1682928 304 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2346224 2346392 168 0.0
.text 1308800 1308968 168 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2329384 2329544 160 0.0
.text 1291984 1292144 160 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2302544 2302704 160 0.0
.text 1265144 1265304 160 0.0
shell CY8CPROTO_062_4343W+release (read/write) 2053952 2053992 40 0.0
.text 1016552 1016592 40 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 935715 935863 148 0.0
rodata 108048 108084 36 0.0
text 631908 632020 112 0.0
nrf52840dk_nrf52840+rpc (read/write) 922083 922235 152 0.0
rodata 101464 101504 40 0.0
text 627220 627332 112 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 846674 846826 152 0.0
rodata 101220 101260 40 0.0
text 548844 548960 116 0.0
lock-app nrf52840dk_nrf52840 (read/write) 907827 907991 164 0.0
rodata 103320 103356 36 0.0
text 609776 609892 116 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 818998 819150 152 0.0
rodata 96544 96584 40 0.0
text 526756 526868 112 0.0
pump-app nrf52840dk_nrf52840 (read/write) 909103 909255 152 0.0
rodata 103532 103572 40 0.0
text 610992 611104 112 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 905939 906103 164 0.0
rodata 102792 102828 36 0.0
text 608524 608640 116 0.0
shell nrf52840dk_nrf52840 (read/write) 796891 796963 72 0.0
rodata 78188 78228 40 0.1
text 532708 532744 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 709718 709786 68 0.0
rodata 72492 72528 36 0.0
text 450384 450416 32 0.0
p6 all-clusters-app default (read/write) 2401096 2401280 184 0.0
.text 1359360 1359544 184 0.0
light-app default (read/write) 2324456 2324624 168 0.0
.text 1282720 1282888 168 0.0
lock-app default (read/write) 2296656 2296848 192 0.0
.text 1254920 1255112 192 0.0
qpg lighting-app qpg6105+debug (read only) 531624 531776 152 0.0
.text 526304 526456 152 0.0
lock-app qpg6105+debug (read only) 503420 503580 160 0.0
.text 498100 498260 160 0.0
telink lighting-app tlsr9518adk80d (read/write) 832122 832290 168 0.0
text 580562 580686 124 0.0
Decreases (2 builds for efr32)
platform target config section 440c0b1 675ae5b change % change
efr32 lighting-app BRD4161A (read only) 829620 829328 -292 -0.0
.text 829612 829320 -292 -0.0
BRD4161A+rpc (read only) 817248 817196 -52 -0.0
.text 817240 817188 -52 -0.0
Full report (29 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 440c0b1 675ae5b change % change
efr32 lighting-app BRD4161A (read only) 829620 829328 -292 -0.0
(read/write) 127068 127308 240 0.2
.bss 125192 125428 236 0.2
.data 1876 1876 0 0.0
.text 829612 829320 -292 -0.0
BRD4161A+rpc (read only) 817248 817196 -52 -0.0
(read/write) 143736 143972 236 0.2
.bss 141760 141996 236 0.2
.data 1976 1976 0 0.0
.text 817240 817188 -52 -0.0
window-app BRD4161A (read only) 803068 803240 172 0.0
(read/write) 126008 126008 0 0.0
.bss 124176 124176 0 0.0
.data 1832 1832 0 0.0
.text 803060 803232 172 0.0
k32w light k32w061+release (read/write) 648440 648592 152 0.0
.bss 76216 76216 0 0.0
.data 1904 1904 0 0.0
.text 564520 564672 152 0.0
lock k32w061+release (read/write) 633264 633416 152 0.0
.bss 75928 75928 0 0.0
.data 1860 1860 0 0.0
.text 549676 549828 152 0.0
linux chip-tool-ipv6only arm64 (read only) 7010492 7010668 176 0.0
(read/write) 324785 324817 32 0.0
.bss 54209 54209 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 208920 208936 16 0.0
.dynamic 560 560 0 0.0
.got 56880 56888 8 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 383108 383108 0 0.0
.text 5935188 5935284 96 0.0
thermostat-no-ble arm64 (read only) 2023772 2024156 384 0.0
(read/write) 144017 144049 32 0.0
.bss 64001 64001 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72272 72288 16 0.0
.dynamic 560 560 0 0.0
.got 3936 3944 8 0.2
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 128508 128508 0 0.0
.text 1682624 1682928 304 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2346224 2346392 168 0.0
.bss 188548 188548 0 0.0
.data 5312 5312 0 0.0
.text 1308800 1308968 168 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2329384 2329544 160 0.0
.bss 180624 180624 0 0.0
.data 5552 5552 0 0.0
.text 1291984 1292144 160 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302544 2302704 160 0.0
.bss 179672 179672 0 0.0
.data 5544 5544 0 0.0
.text 1265144 1265304 160 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053952 2053992 40 0.0
.bss 156972 156972 0 0.0
.data 4864 4864 0 0.0
.text 1016552 1016592 40 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 935715 935863 148 0.0
bss 118188 118188 0 0.0
rodata 108048 108084 36 0.0
text 631908 632020 112 0.0
nrf52840dk_nrf52840+rpc (read/write) 922083 922235 152 0.0
bss 115232 115232 0 0.0
rodata 101464 101504 40 0.0
text 627220 627332 112 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 846674 846826 152 0.0
bss 116080 116080 0 0.0
rodata 101220 101260 40 0.0
text 548844 548960 116 0.0
lock-app nrf52840dk_nrf52840 (read/write) 907827 907991 164 0.0
bss 117376 117376 0 0.0
rodata 103320 103356 36 0.0
text 609776 609892 116 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 818998 819150 152 0.0
bss 115296 115296 0 0.0
rodata 96544 96584 40 0.0
text 526756 526868 112 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 542351 542351 0 0.0
bss 52588 52588 0 0.0
rodata 50668 50668 0 0.0
text 376892 376892 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 909103 909255 152 0.0
bss 117136 117136 0 0.0
rodata 103532 103572 40 0.0
text 610992 611104 112 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 905939 906103 164 0.0
bss 117164 117164 0 0.0
rodata 102792 102828 36 0.0
text 608524 608640 116 0.0
shell nrf52840dk_nrf52840 (read/write) 796891 796963 72 0.0
bss 109536 109536 0 0.0
rodata 78188 78228 40 0.1
text 532708 532744 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 709718 709786 68 0.0
bss 107424 107424 0 0.0
rodata 72492 72528 36 0.0
text 450384 450416 32 0.0
p6 all-clusters-app default (read/write) 2401096 2401280 184 0.0
.bss 116748 116748 0 0.0
.data 2592 2592 0 0.0
.text 1359360 1359544 184 0.0
light-app default (read/write) 2324456 2324624 168 0.0
.bss 105872 105872 0 0.0
.data 2384 2384 0 0.0
.text 1282720 1282888 168 0.0
lock-app default (read/write) 2296656 2296848 192 0.0
.bss 104752 104752 0 0.0
.data 2336 2336 0 0.0
.text 1254920 1255112 192 0.0
qpg lighting-app qpg6105+debug (read only) 531624 531776 152 0.0
(read/write) 146936 146936 0 0.0
.bss 86672 86672 0 0.0
.data 1004 1004 0 0.0
.text 526304 526456 152 0.0
lock-app qpg6105+debug (read only) 503420 503580 160 0.0
(read/write) 146940 146940 0 0.0
.bss 85808 85808 0 0.0
.data 952 952 0 0.0
.text 498100 498260 160 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 832122 832290 168 0.0
bss 86856 86856 0 0.0
noinit 37160 37160 0 0.0
text 580562 580686 124 0.0

@github-actions
Copy link

github-actions bot commented Jan 4, 2022

PR #13127: Size comparison from 939ca0b to 5802d32

Increases (26 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 939ca0b 5802d32 change % change
efr32 lighting-app BRD4161A (read/write) 127068 127308 240 0.2
.bss 125192 125428 236 0.2
BRD4161A+rpc (read/write) 143736 143972 236 0.2
.bss 141760 141996 236 0.2
window-app BRD4161A (read only) 803068 803160 92 0.0
.text 803060 803152 92 0.0
k32w light k32w061+release (read/write) 648440 648512 72 0.0
.text 564520 564592 72 0.0
lock k32w061+release (read/write) 633264 633336 72 0.0
.text 549676 549748 72 0.0
linux chip-tool-ipv6only arm64 (read only) 7010492 7010668 176 0.0
(read/write) 324785 324817 32 0.0
.data.rel.ro 208920 208936 16 0.0
.got 56880 56888 8 0.0
.text 5935188 5935284 96 0.0
thermostat-no-ble arm64 (read only) 2023868 2024044 176 0.0
(read/write) 144049 144065 16 0.0
.data.rel.ro 72296 72312 16 0.0
.got 3936 3944 8 0.2
.text 1682688 1682800 112 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2346288 2346328 40 0.0
.text 1308864 1308904 40 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2329448 2329544 96 0.0
.text 1292048 1292144 96 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2302608 2302704 96 0.0
.text 1265208 1265304 96 0.0
shell CY8CPROTO_062_4343W+release (read/write) 2053952 2053992 40 0.0
.text 1016552 1016592 40 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 935715 935783 68 0.0
rodata 108048 108084 36 0.0
text 631908 631940 32 0.0
nrf52840dk_nrf52840+rpc (read/write) 922083 922155 72 0.0
rodata 101464 101504 40 0.0
text 627220 627252 32 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 846674 846746 72 0.0
rodata 101220 101260 40 0.0
text 548844 548880 36 0.0
lock-app nrf52840dk_nrf52840 (read/write) 907827 907911 84 0.0
rodata 103320 103356 36 0.0
text 609776 609812 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 818998 819070 72 0.0
rodata 96544 96584 40 0.0
text 526756 526788 32 0.0
pump-app nrf52840dk_nrf52840 (read/write) 909103 909175 72 0.0
rodata 103532 103572 40 0.0
text 610992 611024 32 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 905939 906023 84 0.0
rodata 102792 102828 36 0.0
text 608524 608560 36 0.0
shell nrf52840dk_nrf52840 (read/write) 796891 796963 72 0.0
rodata 78188 78228 40 0.1
text 532708 532744 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 709718 709786 68 0.0
rodata 72492 72528 36 0.0
text 450384 450416 32 0.0
p6 all-clusters-app default (read/write) 2401176 2401248 72 0.0
.text 1359440 1359512 72 0.0
light-app default (read/write) 2324456 2324528 72 0.0
.text 1282720 1282792 72 0.0
lock-app default (read/write) 2296656 2296752 96 0.0
.text 1254920 1255016 96 0.0
qpg lighting-app qpg6105+debug (read only) 531624 531704 80 0.0
.text 526304 526384 80 0.0
lock-app qpg6105+debug (read only) 503420 503508 88 0.0
.text 498100 498188 88 0.0
telink lighting-app tlsr9518adk80d (read/write) 832186 832266 80 0.0
text 580624 580664 40 0.0
Decreases (2 builds for efr32)
platform target config section 939ca0b 5802d32 change % change
efr32 lighting-app BRD4161A (read only) 829620 829232 -388 -0.0
.text 829612 829224 -388 -0.0
BRD4161A+rpc (read only) 817248 817100 -148 -0.0
.text 817240 817092 -148 -0.0
Full report (29 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 939ca0b 5802d32 change % change
efr32 lighting-app BRD4161A (read only) 829620 829232 -388 -0.0
(read/write) 127068 127308 240 0.2
.bss 125192 125428 236 0.2
.data 1876 1876 0 0.0
.text 829612 829224 -388 -0.0
BRD4161A+rpc (read only) 817248 817100 -148 -0.0
(read/write) 143736 143972 236 0.2
.bss 141760 141996 236 0.2
.data 1976 1976 0 0.0
.text 817240 817092 -148 -0.0
window-app BRD4161A (read only) 803068 803160 92 0.0
(read/write) 126008 126008 0 0.0
.bss 124176 124176 0 0.0
.data 1832 1832 0 0.0
.text 803060 803152 92 0.0
k32w light k32w061+release (read/write) 648440 648512 72 0.0
.bss 76216 76216 0 0.0
.data 1904 1904 0 0.0
.text 564520 564592 72 0.0
lock k32w061+release (read/write) 633264 633336 72 0.0
.bss 75928 75928 0 0.0
.data 1860 1860 0 0.0
.text 549676 549748 72 0.0
linux chip-tool-ipv6only arm64 (read only) 7010492 7010668 176 0.0
(read/write) 324785 324817 32 0.0
.bss 54209 54209 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 208920 208936 16 0.0
.dynamic 560 560 0 0.0
.got 56880 56888 8 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 383108 383108 0 0.0
.text 5935188 5935284 96 0.0
thermostat-no-ble arm64 (read only) 2023868 2024044 176 0.0
(read/write) 144049 144065 16 0.0
.bss 64001 64001 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72296 72312 16 0.0
.dynamic 560 560 0 0.0
.got 3936 3944 8 0.2
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 128508 128508 0 0.0
.text 1682688 1682800 112 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2346288 2346328 40 0.0
.bss 188548 188548 0 0.0
.data 5312 5312 0 0.0
.text 1308864 1308904 40 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2329448 2329544 96 0.0
.bss 180624 180624 0 0.0
.data 5552 5552 0 0.0
.text 1292048 1292144 96 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302608 2302704 96 0.0
.bss 179672 179672 0 0.0
.data 5544 5544 0 0.0
.text 1265208 1265304 96 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053952 2053992 40 0.0
.bss 156972 156972 0 0.0
.data 4864 4864 0 0.0
.text 1016552 1016592 40 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 935715 935783 68 0.0
bss 118188 118188 0 0.0
rodata 108048 108084 36 0.0
text 631908 631940 32 0.0
nrf52840dk_nrf52840+rpc (read/write) 922083 922155 72 0.0
bss 115232 115232 0 0.0
rodata 101464 101504 40 0.0
text 627220 627252 32 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 846674 846746 72 0.0
bss 116080 116080 0 0.0
rodata 101220 101260 40 0.0
text 548844 548880 36 0.0
lock-app nrf52840dk_nrf52840 (read/write) 907827 907911 84 0.0
bss 117376 117376 0 0.0
rodata 103320 103356 36 0.0
text 609776 609812 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 818998 819070 72 0.0
bss 115296 115296 0 0.0
rodata 96544 96584 40 0.0
text 526756 526788 32 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 542351 542351 0 0.0
bss 52588 52588 0 0.0
rodata 50668 50668 0 0.0
text 376892 376892 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 909103 909175 72 0.0
bss 117136 117136 0 0.0
rodata 103532 103572 40 0.0
text 610992 611024 32 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 905939 906023 84 0.0
bss 117164 117164 0 0.0
rodata 102792 102828 36 0.0
text 608524 608560 36 0.0
shell nrf52840dk_nrf52840 (read/write) 796891 796963 72 0.0
bss 109536 109536 0 0.0
rodata 78188 78228 40 0.1
text 532708 532744 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 709718 709786 68 0.0
bss 107424 107424 0 0.0
rodata 72492 72528 36 0.0
text 450384 450416 32 0.0
p6 all-clusters-app default (read/write) 2401176 2401248 72 0.0
.bss 116748 116748 0 0.0
.data 2592 2592 0 0.0
.text 1359440 1359512 72 0.0
light-app default (read/write) 2324456 2324528 72 0.0
.bss 105872 105872 0 0.0
.data 2384 2384 0 0.0
.text 1282720 1282792 72 0.0
lock-app default (read/write) 2296656 2296752 96 0.0
.bss 104752 104752 0 0.0
.data 2336 2336 0 0.0
.text 1254920 1255016 96 0.0
qpg lighting-app qpg6105+debug (read only) 531624 531704 80 0.0
(read/write) 146936 146936 0 0.0
.bss 86672 86672 0 0.0
.data 1004 1004 0 0.0
.text 526304 526384 80 0.0
lock-app qpg6105+debug (read only) 503420 503508 88 0.0
(read/write) 146940 146940 0 0.0
.bss 85808 85808 0 0.0
.data 952 952 0 0.0
.text 498100 498188 88 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 832186 832266 80 0.0
bss 86856 86856 0 0.0
noinit 37160 37160 0 0.0
text 580624 580664 40 0.0

@github-actions
Copy link

github-actions bot commented Jan 5, 2022

PR #13127: Size comparison from 939ca0b to c4c8749

Increases (14 builds for efr32, k32w, mbed, p6, qpg)
platform target config section 939ca0b c4c8749 change % change
efr32 lighting-app BRD4161A (read only) 829620 829824 204 0.0
(read/write) 127068 127316 248 0.2
.bss 125192 125436 244 0.2
.text 829612 829816 204 0.0
BRD4161A+rpc (read only) 817248 817644 396 0.0
(read/write) 143736 143980 244 0.2
.bss 141760 142004 244 0.2
.text 817240 817636 396 0.0
window-app BRD4161A (read only) 803068 803736 668 0.1
(read/write) 126008 126016 8 0.0
.bss 124176 124184 8 0.0
.text 803060 803728 668 0.1
k32w light k32w061+release (read/write) 648440 648544 104 0.0
.text 564520 564624 104 0.0
lock k32w061+release (read/write) 633264 633368 104 0.0
.text 549676 549780 104 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2346288 2346392 104 0.0
.text 1308864 1308968 104 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2329448 2329544 96 0.0
.text 1292048 1292144 96 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2302608 2302704 96 0.0
.text 1265208 1265304 96 0.0
shell CY8CPROTO_062_4343W+release (read/write) 2053952 2053992 40 0.0
.text 1016552 1016592 40 0.0
p6 all-clusters-app default (read/write) 2401176 2401360 184 0.0
.text 1359440 1359624 184 0.0
light-app default (read/write) 2324456 2324640 184 0.0
.text 1282720 1282904 184 0.0
lock-app default (read/write) 2296656 2296848 192 0.0
.text 1254920 1255112 192 0.0
qpg lighting-app qpg6105+debug (read only) 531624 531736 112 0.0
.text 526304 526416 112 0.0
lock-app qpg6105+debug (read only) 503420 503524 104 0.0
.text 498100 498204 104 0.0
Full report (16 builds for efr32, k32w, mbed, p6, qpg)
platform target config section 939ca0b c4c8749 change % change
efr32 lighting-app BRD4161A (read only) 829620 829824 204 0.0
(read/write) 127068 127316 248 0.2
.bss 125192 125436 244 0.2
.data 1876 1876 0 0.0
.text 829612 829816 204 0.0
BRD4161A+rpc (read only) 817248 817644 396 0.0
(read/write) 143736 143980 244 0.2
.bss 141760 142004 244 0.2
.data 1976 1976 0 0.0
.text 817240 817636 396 0.0
window-app BRD4161A (read only) 803068 803736 668 0.1
(read/write) 126008 126016 8 0.0
.bss 124176 124184 8 0.0
.data 1832 1832 0 0.0
.text 803060 803728 668 0.1
k32w light k32w061+release (read/write) 648440 648544 104 0.0
.bss 76216 76216 0 0.0
.data 1904 1904 0 0.0
.text 564520 564624 104 0.0
lock k32w061+release (read/write) 633264 633368 104 0.0
.bss 75928 75928 0 0.0
.data 1860 1860 0 0.0
.text 549676 549780 104 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2346288 2346392 104 0.0
.bss 188548 188548 0 0.0
.data 5312 5312 0 0.0
.text 1308864 1308968 104 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2329448 2329544 96 0.0
.bss 180624 180624 0 0.0
.data 5552 5552 0 0.0
.text 1292048 1292144 96 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302608 2302704 96 0.0
.bss 179672 179672 0 0.0
.data 5544 5544 0 0.0
.text 1265208 1265304 96 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053952 2053992 40 0.0
.bss 156972 156972 0 0.0
.data 4864 4864 0 0.0
.text 1016552 1016592 40 0.0
p6 all-clusters-app default (read/write) 2401176 2401360 184 0.0
.bss 116748 116748 0 0.0
.data 2592 2592 0 0.0
.text 1359440 1359624 184 0.0
light-app default (read/write) 2324456 2324640 184 0.0
.bss 105872 105872 0 0.0
.data 2384 2384 0 0.0
.text 1282720 1282904 184 0.0
lock-app default (read/write) 2296656 2296848 192 0.0
.bss 104752 104752 0 0.0
.data 2336 2336 0 0.0
.text 1254920 1255112 192 0.0
qpg lighting-app qpg6105+debug (read only) 531624 531736 112 0.0
(read/write) 146936 146936 0 0.0
.bss 86672 86672 0 0.0
.data 1004 1004 0 0.0
.text 526304 526416 112 0.0
lock-app qpg6105+debug (read only) 503420 503524 104 0.0
(read/write) 146940 146940 0 0.0
.bss 85808 85808 0 0.0
.data 952 952 0 0.0
.text 498100 498204 104 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0

@gjc13
Copy link
Contributor

gjc13 commented Jan 7, 2022

I still suggest to modify the lwIP netif driver like this:

static err_t openthread_netif_multicast_handler(struct netif *netif,
        const ip6_addr_t *group, enum netif_mac_filter_action action)
{
    otError error = OT_ERROR_NONE;
    otIp6Address multicast_addr;

    memcpy(multicast_addr.mFields.m8, group->addr, sizeof(group->addr));
    esp_openthread_lock_acquire(portMAX_DELAY);
    if (action == NETIF_ADD_MAC_FILTER) {
        error = otIp6SubscribeMulticastAddress(esp_openthread_get_instance(), &multicast_addr);
    } else {
        error = otIp6UnsubscribeMulticastAddress(esp_openthread_get_instance(), &multicast_addr);
    }
    esp_openthread_lock_release();
    switch (error) {
    case OT_ERROR_NONE:
    case OT_ERROR_ALREADY:
        return ERR_OK;
    case OT_ERROR_NO_BUFS:
        return ERR_MEM;
    case OT_ERROR_INVALID_ARGS:
        return ERR_ARG;
    default:
        return ERR_IF;
    }
}

// In lwIP netif initialization:
    netif->mld_mac_filter = openthread_netif_multicast_handler;

The code snippet will sychornize all the lwIP multicast groups to OpenThread. Then we just need to use socket interface IPV6_JOINGROUP or the lwIP raw interface mld_join to manage the multicast groups. This saves us from all the issues about data race between the OpenThread and Matter task. The mld packets are not a issue. They will be filtered by the OpenThread stack.

src/inet/BUILD.gn Outdated Show resolved Hide resolved
examples/lighting-app/efr32/args.gni Outdated Show resolved Hide resolved
src/inet/UDPEndPoint.h Outdated Show resolved Hide resolved
src/inet/UDPEndPointImplOT.cpp Outdated Show resolved Hide resolved
src/inet/UDPEndPointImplOT.cpp Outdated Show resolved Hide resolved
src/system/SystemPacketBuffer.h Show resolved Hide resolved
@jepenven-silabs
Copy link
Contributor Author

I still suggest to modify the lwIP netif driver like this:

static err_t openthread_netif_multicast_handler(struct netif *netif,
        const ip6_addr_t *group, enum netif_mac_filter_action action)
{
    otError error = OT_ERROR_NONE;
    otIp6Address multicast_addr;

    memcpy(multicast_addr.mFields.m8, group->addr, sizeof(group->addr));
    esp_openthread_lock_acquire(portMAX_DELAY);
    if (action == NETIF_ADD_MAC_FILTER) {
        error = otIp6SubscribeMulticastAddress(esp_openthread_get_instance(), &multicast_addr);
    } else {
        error = otIp6UnsubscribeMulticastAddress(esp_openthread_get_instance(), &multicast_addr);
    }
    esp_openthread_lock_release();
    switch (error) {
    case OT_ERROR_NONE:
    case OT_ERROR_ALREADY:
        return ERR_OK;
    case OT_ERROR_NO_BUFS:
        return ERR_MEM;
    case OT_ERROR_INVALID_ARGS:
        return ERR_ARG;
    default:
        return ERR_IF;
    }
}

// In lwIP netif initialization:
    netif->mld_mac_filter = openthread_netif_multicast_handler;

The code snippet will sychornize all the lwIP multicast groups to OpenThread. Then we just need to use socket interface IPV6_JOINGROUP or the lwIP raw interface mld_join to manage the multicast groups. This saves us from all the issues about data race between the OpenThread and Matter task. The mld packets are not a issue. They will be filtered by the OpenThread stack.

@gjc13 This code seems to defeat the purpose of this PR since it still use LwIP on top of Openthread. Feel free to implement it in another PR, but the main goal here was to de-couple LwIP from OpenThread. Not only for Multicast but in general.

Your suggestion is relevant since I don't believe that all platform will use this implementation of UDPEndpoint for OpenThread. But it should be in a different PR, just like the modification required for Multicast using the UDPEndpoint socket implementation.

@github-actions
Copy link

github-actions bot commented Jan 10, 2022

PR #13127: Size comparison from 5053f20 to 268aaf4

Increases (28 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 5053f20 268aaf4 change % change
efr32 lighting-app BRD4161A (read only) 829348 829440 92 0.0
(read/write) 126996 127244 248 0.2
.bss 125120 125364 244 0.2
.text 829340 829432 92 0.0
BRD4161A+rpc (read only) 816992 817292 300 0.0
(read/write) 143656 143900 244 0.2
.bss 141680 141924 244 0.2
.text 816984 817284 300 0.0
window-app BRD4161A (read only) 802812 803384 572 0.1
(read/write) 125936 125944 8 0.0
.bss 124104 124112 8 0.0
.text 802804 803376 572 0.1
esp32 all-clusters-app c3devkit (read only) 890430 890486 56 0.0
(read/write) 1313594 1313634 40 0.0
.flash.rodata 176816 176856 40 0.0
.flash.text 890430 890486 56 0.0
m5stack (read only) 950555 950615 60 0.0
(read/write) 445204 445244 40 0.0
.flash.rodata 206164 206204 40 0.0
.flash.text 945171 945231 60 0.0
k32w light k32w061+release (read/write) 655396 655484 88 0.0
.text 570972 571060 88 0.0
lock k32w061+release (read/write) 659736 659824 88 0.0
.text 574996 575084 88 0.0
linux chip-tool-ipv6only arm64 (read only) 7105612 7105868 256 0.0
(read/write) 327041 327073 32 0.0
.data.rel.ro 209424 209440 16 0.0
.got 57976 57984 8 0.0
.text 6020036 6020212 176 0.0
thermostat-no-ble arm64 (read only) 2034188 2034444 256 0.0
(read/write) 145137 145153 16 0.0
.data.rel.ro 72656 72672 16 0.0
.got 4008 4016 8 0.2
.text 1691408 1691600 192 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2346888 2346928 40 0.0
.text 1309464 1309504 40 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2330856 2330960 104 0.0
.text 1293456 1293560 104 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2304008 2304112 104 0.0
.text 1266608 1266712 104 0.0
shell CY8CPROTO_062_4343W+release (read/write) 2054432 2054536 104 0.0
.text 1017032 1017136 104 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 937247 937347 100 0.0
rodata 108156 108192 36 0.0
text 633432 633484 52 0.0
nrf52840dk_nrf52840+rpc (read/write) 923655 923743 88 0.0
rodata 101580 101620 40 0.0
text 628744 628796 52 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 848238 848326 88 0.0
rodata 101328 101368 40 0.0
text 550368 550416 48 0.0
lock-app nrf52840dk_nrf52840 (read/write) 909391 909475 84 0.0
rodata 103428 103464 36 0.0
text 611296 611344 48 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 820562 820650 88 0.0
rodata 96652 96692 40 0.0
text 528272 528316 44 0.0
pump-app nrf52840dk_nrf52840 (read/write) 910667 910755 88 0.0
rodata 103640 103680 40 0.0
text 612512 612556 44 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 907471 907555 84 0.0
rodata 102900 102936 36 0.0
text 610044 610092 48 0.0
shell nrf52840dk_nrf52840 (read/write) 798063 798151 88 0.0
rodata 78180 78220 40 0.1
text 533608 533656 48 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 710882 710966 84 0.0
rodata 72484 72520 36 0.0
text 451288 451332 44 0.0
p6 all-clusters-app default (read/write) 2399760 2399856 96 0.0
.text 1358024 1358120 96 0.0
light-app default (read/write) 2323856 2323944 88 0.0
.text 1282120 1282208 88 0.0
lock-app default (read/write) 2296080 2296176 96 0.0
.text 1254344 1254440 96 0.0
qpg lighting-app qpg6105+debug (read only) 533296 533384 88 0.0
.text 527976 528064 88 0.0
lock-app qpg6105+debug (read only) 505072 505160 88 0.0
.text 499752 499840 88 0.0
telink lighting-app tlsr9518adk80d (read/write) 834638 834726 88 0.0
text 582846 582900 54 0.0
Full report (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 5053f20 268aaf4 change % change
efr32 lighting-app BRD4161A (read only) 829348 829440 92 0.0
(read/write) 126996 127244 248 0.2
.bss 125120 125364 244 0.2
.data 1876 1876 0 0.0
.text 829340 829432 92 0.0
BRD4161A+rpc (read only) 816992 817292 300 0.0
(read/write) 143656 143900 244 0.2
.bss 141680 141924 244 0.2
.data 1976 1976 0 0.0
.text 816984 817284 300 0.0
window-app BRD4161A (read only) 802812 803384 572 0.1
(read/write) 125936 125944 8 0.0
.bss 124104 124112 8 0.0
.data 1832 1832 0 0.0
.text 802804 803376 572 0.1
esp32 all-clusters-app c3devkit (read only) 890430 890486 56 0.0
(read/write) 1313594 1313634 40 0.0
.dram0.bss 69472 69472 0 0.0
.dram0.data 14244 14244 0 0.0
.flash.rodata 176816 176856 40 0.0
.flash.text 890430 890486 56 0.0
.iram0.text 62254 62254 0 0.0
m5stack (read only) 950555 950615 60 0.0
(read/write) 445204 445244 40 0.0
.dram0.bss 73968 73968 0 0.0
.dram0.data 34064 34064 0 0.0
.flash.rodata 206164 206204 40 0.0
.flash.text 945171 945231 60 0.0
.iram0.text 122671 122671 0 0.0
k32w light k32w061+release (read/write) 655396 655484 88 0.0
.bss 76776 76776 0 0.0
.data 1848 1848 0 0.0
.text 570972 571060 88 0.0
lock k32w061+release (read/write) 659736 659824 88 0.0
.bss 77072 77072 0 0.0
.data 1868 1868 0 0.0
.text 574996 575084 88 0.0
linux chip-tool-ipv6only arm64 (read only) 7105612 7105868 256 0.0
(read/write) 327041 327073 32 0.0
.bss 54865 54865 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 209424 209440 16 0.0
.dynamic 560 560 0 0.0
.got 57976 57984 8 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 388916 388916 0 0.0
.text 6020036 6020212 176 0.0
thermostat-no-ble arm64 (read only) 2034188 2034444 256 0.0
(read/write) 145137 145153 16 0.0
.bss 64657 64657 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72656 72672 16 0.0
.dynamic 560 560 0 0.0
.got 4008 4016 8 0.2
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 129004 129004 0 0.0
.text 1691408 1691600 192 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2346888 2346928 40 0.0
.bss 188716 188716 0 0.0
.data 5312 5312 0 0.0
.text 1309464 1309504 40 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330856 2330960 104 0.0
.bss 180544 180544 0 0.0
.data 5552 5552 0 0.0
.text 1293456 1293560 104 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304008 2304112 104 0.0
.bss 179592 179592 0 0.0
.data 5544 5544 0 0.0
.text 1266608 1266712 104 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2054432 2054536 104 0.0
.bss 157060 157060 0 0.0
.data 4864 4864 0 0.0
.text 1017032 1017136 104 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 937247 937347 100 0.0
bss 118112 118112 0 0.0
rodata 108156 108192 36 0.0
text 633432 633484 52 0.0
nrf52840dk_nrf52840+rpc (read/write) 923655 923743 88 0.0
bss 115156 115156 0 0.0
rodata 101580 101620 40 0.0
text 628744 628796 52 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 848238 848326 88 0.0
bss 116004 116004 0 0.0
rodata 101328 101368 40 0.0
text 550368 550416 48 0.0
lock-app nrf52840dk_nrf52840 (read/write) 909391 909475 84 0.0
bss 117300 117300 0 0.0
rodata 103428 103464 36 0.0
text 611296 611344 48 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 820562 820650 88 0.0
bss 115220 115220 0 0.0
rodata 96652 96692 40 0.0
text 528272 528316 44 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 542351 542351 0 0.0
bss 52588 52588 0 0.0
rodata 50668 50668 0 0.0
text 376892 376892 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 910667 910755 88 0.0
bss 117060 117060 0 0.0
rodata 103640 103680 40 0.0
text 612512 612556 44 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 907471 907555 84 0.0
bss 117088 117088 0 0.0
rodata 102900 102936 36 0.0
text 610044 610092 48 0.0
shell nrf52840dk_nrf52840 (read/write) 798063 798151 88 0.0
bss 109768 109768 0 0.0
rodata 78180 78220 40 0.1
text 533608 533656 48 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 710882 710966 84 0.0
bss 107656 107656 0 0.0
rodata 72484 72520 36 0.0
text 451288 451332 44 0.0
p6 all-clusters-app default (read/write) 2399760 2399856 96 0.0
.bss 116804 116804 0 0.0
.data 2592 2592 0 0.0
.text 1358024 1358120 96 0.0
light-app default (read/write) 2323856 2323944 88 0.0
.bss 105672 105672 0 0.0
.data 2384 2384 0 0.0
.text 1282120 1282208 88 0.0
lock-app default (read/write) 2296080 2296176 96 0.0
.bss 104552 104552 0 0.0
.data 2336 2336 0 0.0
.text 1254344 1254440 96 0.0
qpg lighting-app qpg6105+debug (read only) 533296 533384 88 0.0
(read/write) 146936 146936 0 0.0
.bss 86624 86624 0 0.0
.data 1004 1004 0 0.0
.text 527976 528064 88 0.0
lock-app qpg6105+debug (read only) 505072 505160 88 0.0
(read/write) 146940 146940 0 0.0
.bss 85760 85760 0 0.0
.data 952 952 0 0.0
.text 499752 499840 88 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 834638 834726 88 0.0
bss 86924 86924 0 0.0
noinit 37160 37160 0 0.0
text 582846 582900 54 0.0

@jepenven-silabs jepenven-silabs merged commit 1cbec52 into project-chip:master Jan 11, 2022
step0035 pushed a commit to hank820/connectedhomeip that referenced this pull request Feb 8, 2022
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.

Enable Multicast listening with OpenThread
6 participants