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

Fix IPv6-only builds where platform LwIP has IPv4 #10879

Merged
merged 1 commit into from
Oct 23, 2021

Conversation

kpschoedel
Copy link
Contributor

@kpschoedel kpschoedel commented Oct 22, 2021

Problem

When LwIP is configured for IPv6 only, its type ip_addr_t is identical
to ip6_addr_t; otherwise they are different. PR #10791 made the
incorrect assumption that we would never build CHIP without IPv4 when
the platform LwIP is configured with IPv4, and left out the constructor
overload necessary for that case.

Change overview

Enable the ip_addr_t constructor if LWIP_IPV4 is true.

Testing

Built

scripts/build/build_examples.py \
    --target esp32-m5stack-all-clusters-ipv6only build

#### Problem

When LwIP is configured for IPv6 only, its type `ip_addr_t` is identical
to `ip6_addr_t`; otherwise they are different. PR project-chip#10791 made the
incorrect assumption that we would never build CHIP without IPv4 when
then platform LwIP is configured with IPv4, and left out the constructor
overload necessary for that case.

#### Change overview

Enable the `ip_addr_t` constructor if `LWIP_IPV4` is true.

#### Testing

Built
```
scripts/build/build_examples.py \
    --target esp32-m5stack-all-clusters-ipv6only build`
```
@woody-apple
Copy link
Contributor

Fast tracking this build configuration change

@github-actions
Copy link

PR #10879: Size comparison from d88736a to 77bb25d

35 builds (for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section d88736a 77bb25d change % change
efr32 lighting-app BRD4161A .bss 113716 113716 0 0.0
.data 1752 1752 0 0.0
.text 735748 735748 0 0.0
lock-app BRD4161A .bss 111572 111572 0 0.0
.data 1712 1712 0 0.0
.text 714948 714948 0 0.0
window-app BRD4161A .bss 111884 111884 0 0.0
.data 1716 1716 0 0.0
.text 715792 715792 0 0.0
lighting-app BRD4161A+rpc .bss 130220 130220 0 0.0
.data 1852 1852 0 0.0
.text 723172 723172 0 0.0
esp32 all-clusters-app c3devkit .dram0.bss 58272 58272 0 0.0
.dram0.data 16440 16440 0 0.0
.flash.rodata 197936 197936 0 0.0
.flash.text 874294 874294 0 0.0
.iram0.text 57564 57564 0 0.0
m5stack .dram0.bss 60776 60776 0 0.0
.dram0.data 32084 32084 0 0.0
.flash.rodata 206672 206672 0 0.0
.flash.text 905323 905411 88 0.0
.iram0.text 125115 125115 0 0.0
k32w lock-app k32w061+debug .bss 69228 69228 0 0.0
.data 1864 1864 0 0.0
.text 515060 515060 0 0.0
shell k32w061+debug .bss 63256 63256 0 0.0
.data 672 672 0 0.0
.text 359528 359528 0 0.0
lighting-app k32w061+se05x+release .bss 78744 78744 0 0.0
.data 1900 1900 0 0.0
.text 613760 613760 0 0.0
linux all-clusters-app debug .bss 50192 50192 0 0.0
.data 978 978 0 0.0
.data.rel.ro 60448 60448 0 0.0
.dynamic 592 592 0 0.0
.got 4088 4088 0 0.0
.init 27 27 0 0.0
.init_array 512 512 0 0.0
.rodata 134453 134453 0 0.0
.text 1353122 1353122 0 0.0
chip-tool debug .bss 17712 17712 0 0.0
.data 1584 1584 0 0.0
.data.rel.ro 93888 93888 0 0.0
.dynamic 592 592 0 0.0
.got 4368 4368 0 0.0
.init 27 27 0 0.0
.init_array 416 416 0 0.0
.rodata 194308 194308 0 0.0
.text 3510757 3510757 0 0.0
ota-provider-app debug .bss 37472 37472 0 0.0
.data 752 752 0 0.0
.data.rel.ro 24488 24488 0 0.0
.dynamic 592 592 0 0.0
.got 4016 4016 0 0.0
.init 27 27 0 0.0
.init_array 440 440 0 0.0
.rodata 110312 110312 0 0.0
.text 1023042 1023042 0 0.0
ota-requestor-app debug .bss 205728 205728 0 0.0
.data 752 752 0 0.0
.data.rel.ro 25800 25800 0 0.0
.dynamic 592 592 0 0.0
.got 4144 4144 0 0.0
.init 27 27 0 0.0
.init_array 512 512 0 0.0
.rodata 128360 128360 0 0.0
.text 1141650 1141650 0 0.0
shell debug .bss 16136 16136 0 0.0
.data 242 242 0 0.0
.data.rel.ro 36496 36496 0 0.0
.dynamic 592 592 0 0.0
.got 3528 3528 0 0.0
.init 27 27 0 0.0
.init_array 336 336 0 0.0
.rodata 76463 76463 0 0.0
.text 598722 598722 0 0.0
tv-app debug .bss 215568 215568 0 0.0
.data 2032 2032 0 0.0
.data.rel.ro 57408 57408 0 0.0
.dynamic 592 592 0 0.0
.got 4408 4408 0 0.0
.init 27 27 0 0.0
.init_array 608 608 0 0.0
.rodata 151944 151944 0 0.0
.text 1453538 1453538 0 0.0
bridge-app debug+rpc .bss 51888 51888 0 0.0
.data 976 976 0 0.0
.data.rel.ro 27112 27112 0 0.0
.dynamic 592 592 0 0.0
.got 3952 3952 0 0.0
.init 27 27 0 0.0
.init_array 400 400 0 0.0
.rodata 109724 109724 0 0.0
.text 1063925 1063925 0 0.0
lighting-app debug+rpc .bss 41208 41208 0 0.0
.data 1106 1106 0 0.0
.data.rel.ro 53808 53808 0 0.0
.dynamic 608 608 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 528 528 0 0.0
.rodata 126897 126897 0 0.0
.text 1261874 1261874 0 0.0
mbed lighting-app CY8CPROTO_062_4343W+release .bss 171092 171092 0 0.0
.data 5464 5464 0 0.0
.heap 859888 859888 0 0.0
.text 1219096 1219096 0 0.0
lock-app CY8CPROTO_062_4343W+release .bss 170012 170012 0 0.0
.data 5432 5432 0 0.0
.heap 861000 861000 0 0.0
.text 1196992 1196992 0 0.0
pigweed-app CY8CPROTO_062_4343W+release .bss 11760 11760 0 0.0
.data 4360 4360 0 0.0
.heap 1020328 1020328 0 0.0
.text 103064 103064 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 bss 112168 112168 0 0.0
rodata 97084 97084 0 0.0
text 577196 577196 0 0.0
lock-app nrf52840dk_nrf52840 bss 111240 111240 0 0.0
rodata 93484 93484 0 0.0
text 558684 558684 0 0.0
pigweed-app nrf52840dk_nrf52840 bss 51824 51824 0 0.0
rodata 45776 45776 0 0.0
text 339456 339456 0 0.0
pump-app nrf52840dk_nrf52840 bss 111300 111300 0 0.0
rodata 94380 94380 0 0.0
text 561836 561836 0 0.0
pump-controller-app nrf52840dk_nrf52840 bss 111236 111236 0 0.0
rodata 93460 93460 0 0.0
text 558476 558476 0 0.0
shell nrf52840dk_nrf52840 bss 109072 109072 0 0.0
rodata 72524 72524 0 0.0
text 520300 520300 0 0.0
lighting-app nrf52840dk_nrf52840+rpc bss 108408 108408 0 0.0
rodata 87860 87860 0 0.0
text 550388 550388 0 0.0
nrf5340dk_nrf5340_cpuapp bss 113540 113540 0 0.0
rodata 92324 92324 0 0.0
text 506664 506664 0 0.0
lock-app nrf5340dk_nrf5340_cpuapp bss 112612 112612 0 0.0
rodata 88744 88744 0 0.0
text 488148 488148 0 0.0
shell nrf5340dk_nrf5340_cpuapp bss 110056 110056 0 0.0
rodata 67168 67168 0 0.0
text 440908 440908 0 0.0
p6 lock-app default .bss 67208 67208 0 0.0
.data 2416 2416 0 0.0
.heap 963720 963720 0 0.0
.text 1125984 1125984 0 0.0
qpg lighting-app qpg6100+debug .bss 52456 52456 0 0.0
.data 1004 1004 0 0.0
.text 485008 485008 0 0.0
lock-app qpg6100+debug .bss 51400 51400 0 0.0
.data 960 960 0 0.0
.text 461164 461164 0 0.0
persistent-storage-app qpg6100+debug .bss 27752 27752 0 0.0
.data 372 372 0 0.0
.text 149896 149896 0 0.0
telink lighting-app tlsr9518adk80d bss 69988 69988 0 0.0
noinit 33216 33216 0 0.0
text 457664 457664 0 0.0

@woody-apple woody-apple merged commit 8a166dd into project-chip:master Oct 23, 2021
@kpschoedel kpschoedel deleted the x7715-lwip-ipv6-fix branch October 25, 2021 14:00
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.

2 participants