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

[Inet] Add Openthread Native ipv6 address #17352

Conversation

jepenven-silabs
Copy link
Contributor

Problem

LwIP is used as a wrapper inside the Inet layer. This cause bloating for Native OpenThread implementation of Matter since there is a duplications of API and libs.

Change overview

Add OpenThread native IPV6 address api in IPAddress.cpp
Add InterfaceIterator implementation for platform with only 1 OpenThread interface.

Testing

Tested with EFR32 and Unit Test

@jepenven-silabs jepenven-silabs force-pushed the add_native_openthread_ipv6_addr branch from b86817b to 0da697c Compare April 13, 2022 18:37
src/inet/InetInterface.cpp Outdated Show resolved Hide resolved
src/inet/InetInterface.cpp Outdated Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented Apr 13, 2022

PR #17352: Size comparison from a76f75e to 0da697c

Decreases (3 builds for efr32)
platform target config section a76f75e 0da697c0 change % change
efr32 lighting-app BRD4161A (read only) 908068 907484 -584 -0.1
.text 908060 907476 -584 -0.1
BRD4161A+rpc (read only) 942436 941868 -568 -0.1
.text 942428 941860 -568 -0.1
window-app BRD4161A (read only) 844724 844124 -600 -0.1
.text 844716 844116 -600 -0.1
Full report (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section a76f75e 0da697c0 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 640435 640435 0 0.0
(read/write) 151212 151212 0 0.0
.bss 74144 74144 0 0.0
.data 3212 3212 0 0.0
.rodata 80227 80227 0 0.0
.text 559716 559716 0 0.0
lock-mtd LP_CC2652R7 (read only) 589171 589171 0 0.0
(read/write) 146932 146932 0 0.0
.bss 69864 69864 0 0.0
.data 3212 3212 0 0.0
.rodata 80107 80107 0 0.0
.text 508572 508572 0 0.0
pump-app LP_CC2652R7 (read only) 648519 648519 0 0.0
(read/write) 152508 152508 0 0.0
.bss 74640 74640 0 0.0
.data 3244 3244 0 0.0
.rodata 75415 75415 0 0.0
.text 572616 572616 0 0.0
pump-controller-app LP_CC2652R7 (read only) 642499 642499 0 0.0
(read/write) 152176 152176 0 0.0
.bss 74344 74344 0 0.0
.data 3208 3208 0 0.0
.rodata 79051 79051 0 0.0
.text 562960 562960 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 619042 619042 0 0.0
.app_xip_area 525752 525752 0 0.0
.bss 75956 75956 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 576638 576638 0 0.0
.app_xip_area 484884 484884 0 0.0
.bss 74452 74452 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 565170 565170 0 0.0
.app_xip_area 463788 463788 0 0.0
.bss 83784 83784 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 908068 907484 -584 -0.1
(read/write) 133144 133144 0 0.0
.bss 131104 131104 0 0.0
.data 2040 2040 0 0.0
.text 908060 907476 -584 -0.1
BRD4161A+rpc (read only) 942436 941868 -568 -0.1
(read/write) 149828 149828 0 0.0
.bss 147584 147584 0 0.0
.data 2244 2244 0 0.0
.text 942428 941860 -568 -0.1
window-app BRD4161A (read only) 844724 844124 -600 -0.1
(read/write) 131148 131148 0 0.0
.bss 129200 129200 0 0.0
.data 1948 1948 0 0.0
.text 844716 844116 -600 -0.1
esp32 all-clusters-app c3devkit (read only) 979976 979976 0 0.0
(read/write) 1397578 1397578 0 0.0
.dram0.bss 62624 62624 0 0.0
.dram0.data 14420 14420 0 0.0
.flash.rodata 201616 201616 0 0.0
.flash.text 979976 979976 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1035487 1035487 0 0.0
(read/write) 465316 465316 0 0.0
.dram0.bss 68144 68144 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 231184 231184 0 0.0
.flash.text 1030103 1030103 0 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 687260 687260 0 0.0
.bss 78128 78128 0 0.0
.data 2036 2036 0 0.0
.text 601296 601296 0 0.0
lock k32w061+release (read/write) 691892 691892 0 0.0
.bss 78704 78704 0 0.0
.data 1996 1996 0 0.0
.text 605392 605392 0 0.0
linux all-clusters-app debug (read only) 2697841 2697841 0 0.0
(read/write) 149216 149216 0 0.0
.bss 60192 60192 0 0.0
.data 1888 1888 0 0.0
.data.rel.ro 81080 81080 0 0.0
.dynamic 608 608 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 984 984 0 0.0
.rodata 232421 232421 0 0.0
.text 2291426 2291426 0 0.0
bridge-app debug+rpc (read only) 1837453 1837453 0 0.0
(read/write) 91856 91856 0 0.0
.bss 44480 44480 0 0.0
.data 2912 2912 0 0.0
.data.rel.ro 39376 39376 0 0.0
.dynamic 592 592 0 0.0
.got 3936 3936 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 148505 148505 0 0.0
.text 1570517 1570517 0 0.0
chip-tool debug (read only) 10683829 10683829 0 0.0
(read/write) 371832 371832 0 0.0
.bss 22752 22752 0 0.0
.data 1104 1104 0 0.0
.data.rel.ro 341728 341728 0 0.0
.dynamic 624 624 0 0.0
.got 4936 4936 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 538965 538965 0 0.0
.text 9315557 9315557 0 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 10283348 10283348 0 0.0
(read/write) 492273 492273 0 0.0
.bss 41025 41025 0 0.0
.data 1168 1168 0 0.0
.data.rel.ro 388840 388840 0 0.0
.dynamic 560 560 0 0.0
.got 57440 57440 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 513028 513028 0 0.0
.text 8666900 8666900 0 0.0
door-lock-app debug (read only) 2108817 2108817 0 0.0
(read/write) 119600 119600 0 0.0
.bss 48064 48064 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 64504 64504 0 0.0
.dynamic 592 592 0 0.0
.got 4264 4264 0 0.0
.init 27 27 0 0.0
.init_array 680 680 0 0.0
.rodata 186697 186697 0 0.0
.text 1766418 1766418 0 0.0
lighting-app debug+rpc (read only) 2313657 2313657 0 0.0
(read/write) 127920 127920 0 0.0
.bss 50272 50272 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 69992 69992 0 0.0
.dynamic 608 608 0 0.0
.got 4312 4312 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 182665 182665 0 0.0
.text 1965154 1965154 0 0.0
ota-provider-app debug (read only) 2046033 2046033 0 0.0
(read/write) 115040 115040 0 0.0
.bss 47968 47968 0 0.0
.data 1608 1608 0 0.0
.data.rel.ro 59720 59720 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 172515 172515 0 0.0
.text 1717330 1717330 0 0.0
ota-requestor-app debug (read only) 2076409 2076409 0 0.0
(read/write) 118392 118392 0 0.0
.bss 48960 48960 0 0.0
.data 1864 1864 0 0.0
.data.rel.ro 61960 61960 0 0.0
.dynamic 592 592 0 0.0
.got 4304 4304 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 169388 169388 0 0.0
.text 1748962 1748962 0 0.0
shell debug (read only) 2525713 2525713 0 0.0
(read/write) 150064 150064 0 0.0
.bss 67624 67624 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 75464 75464 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 214738 214738 0 0.0
.text 2149810 2149810 0 0.0
thermostat-no-ble arm64 (read only) 2353476 2353476 0 0.0
(read/write) 151121 151121 0 0.0
.bss 63153 63153 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 78752 78752 0 0.0
.dynamic 560 560 0 0.0
.got 4768 4768 0 0.0
.init 24 24 0 0.0
.init_array 368 368 0 0.0
.rodata 144548 144548 0 0.0
.text 1980352 1980352 0 0.0
tv-app debug (read only) 2797153 2797153 0 0.0
(read/write) 250784 250784 0 0.0
.bss 164112 164112 0 0.0
.data 4448 4448 0 0.0
.data.rel.ro 76008 76008 0 0.0
.dynamic 592 592 0 0.0
.got 4688 4688 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 213259 213259 0 0.0
.text 2402594 2402594 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2369412 2369412 0 0.0
.bss 185236 185236 0 0.0
.data 5840 5840 0 0.0
.text 1332012 1332012 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1163491 1163491 0 0.0
bss 136528 136528 0 0.0
rodata 147364 147364 0 0.0
text 800968 800968 0 0.0
p6 all-clusters-app default (read/write) 2515120 2515120 0 0.0
.bss 118640 118640 0 0.0
.data 2768 2768 0 0.0
.text 1473384 1473384 0 0.0
light-app default (read/write) 2415592 2415592 0 0.0
.bss 112136 112136 0 0.0
.data 2576 2576 0 0.0
.text 1373856 1373856 0 0.0
lock-app default (read/write) 2379160 2379160 0 0.0
.bss 111880 111880 0 0.0
.data 2536 2536 0 0.0
.text 1337424 1337424 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 801524 801524 0 0.0
bss 69988 69988 0 0.0
noinit 40416 40416 0 0.0
text 570136 570136 0 0.0

src/inet/IPAddress.cpp Show resolved Hide resolved
src/inet/arpa-inet-compatibility.h Show resolved Hide resolved
@boring-cyborg boring-cyborg bot added the config label Apr 14, 2022
@jepenven-silabs jepenven-silabs merged commit 75bdf79 into project-chip:master Apr 14, 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.

3 participants