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 --interface-id and improve minmdns address policy #37360

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

enkiusz
Copy link
Contributor

@enkiusz enkiusz commented Feb 3, 2025

This PR makes the --interface-id work on linux. Before even when --interface-id was specified the minmdns still advertises on all interfaces. This has been fixed by implementing a new address policy which, when stacked upon the default address policy, filters the available interfaces.

Additionally, some refactoring was performed on the address policy code to make it easier to understand and maintain (I hope). This PR also serves as an RFC for these changes to gather feedback on the refactored address policy approach.

After positive review I will move forward and try to add an automated test for --interface-id as a next step.

Testing

Manual testing on devcontainer so far.

…sier to understand and extend

- make AddressPolicy cleaner by following a pattern seen with GetDefaultAdvertiser
- explicit SetDefaultAddressPolicy calls are not required
- no ifdefs needed to include a particular implementation of a default policy, only gn linking controls this
- rename things a bit, DefaultAddressPolicy will now become BuiltinAddressPolicy to better reflect the fact  that it is a wrapper for the builtin InterfaceIterator in InetInterface.cpp
- provide a SingleInterfaceAddressPolicy which is stacked on top of an existing policy and restricts the interface id
- apply the SingleInterfaceAddressPolicy when the --interface-id argument is provided *and* the minmdns dnssd backend is selected

Signed-off-by: Maciej Grela <[email protected]>
Copy link

semanticdiff-com bot commented Feb 3, 2025

Review changes with  SemanticDiff

Changed Files
File Status
  scripts/tests/chiptest/test_definition.py  3% smaller
  .github/workflows/java-tests.yaml Unsupported file format
  .github/workflows/tests.yaml Unsupported file format
  src/app/server/BUILD.gn Unsupported file format
  src/app/server/Server.cpp Unsupported file format
  src/darwin/Framework/CHIPTests/TestHelpers/MTRTestCase+ServerAppRunner.m Unsupported file format
  src/lib/dnssd/MinimalMdnsServer.cpp Unsupported file format
  src/lib/dnssd/minimal_mdns/AddressPolicy.cpp Unsupported file format
  src/lib/dnssd/minimal_mdns/AddressPolicy.h Unsupported file format
  src/lib/dnssd/minimal_mdns/AddressPolicy_BuiltinImpl.cpp Unsupported file format
  src/lib/dnssd/minimal_mdns/AddressPolicy_BuiltinImpl.h Unsupported file format
  src/lib/dnssd/minimal_mdns/AddressPolicy_LibNlImpl.cpp Unsupported file format
  src/lib/dnssd/minimal_mdns/AddressPolicy_LibNlImpl.h Unsupported file format
  src/lib/dnssd/minimal_mdns/AddressPolicy_SingleInterface.cpp Unsupported file format
  src/lib/dnssd/minimal_mdns/AddressPolicy_SingleInterface.h Unsupported file format
  src/lib/dnssd/minimal_mdns/BUILD.gn Unsupported file format
  src/lib/dnssd/minimal_mdns/responders/tests/BUILD.gn Unsupported file format
  src/lib/dnssd/minimal_mdns/responders/tests/TestIPResponder.cpp Unsupported file format
  src/platform/tests/TestDnssd.cpp Unsupported file format

Copy link

github-actions bot commented Feb 4, 2025

PR #37360: Size comparison from 7912cad to b1f4fa8

Full report (1 build for stm32)
platform target config section 7912cad b1f4fa8 change % change
stm32 light STM32WB5MM-DK FLASH 482640 482640 0 0.0
RAM 144672 144672 0 0.0

Copy link

github-actions bot commented Feb 4, 2025

PR #37360: Size comparison from 7912cad to c937b09

Full report (3 builds for cc32xx, stm32)
platform target config section 7912cad c937b09 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538485 539065 580 0.1
RAM 205192 205216 24 0.0
lock CC3235SF_LAUNCHXL FLASH 572333 572913 580 0.1
RAM 205344 205368 24 0.0
stm32 light STM32WB5MM-DK FLASH 482640 482824 184 0.0
RAM 144672 144672 0 0.0

@enkiusz enkiusz force-pushed the advertise-interface-selection branch from c937b09 to 05cc5a4 Compare February 4, 2025 16:12
Copy link

github-actions bot commented Feb 4, 2025

PR #37360: Size comparison from f957643 to 05cc5a4

Increases above 0.2%:

platform target config section f957643 05cc5a4 change % change
linux thermostat-no-ble arm64 unknown 9536 9560 24 0.3
Full report (52 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f957643 05cc5a4 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093988 1094530 542 0.0
RAM 103298 103338 40 0.0
bl702 lighting-app bl702+eth FLASH 650600 651142 542 0.1
RAM 25265 25249 -16 -0.1
bl702+wifi FLASH 828508 829050 542 0.1
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057068 1057068 0 0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888502 888502 0 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971488 971488 0 0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838160 838160 0 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823564 823564 0 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770836 770836 0 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755088 755088 0 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538637 539065 428 0.1
RAM 205192 205216 24 0.0
lock CC3235SF_LAUNCHXL FLASH 572493 572913 420 0.1
RAM 205344 205368 24 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679601 679601 0 0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699445 699445 0 0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699445 699445 0 0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656389 656389 0 0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615977 615977 0 0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635613 635613 0 0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635613 635613 0 0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635457 635457 0 0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655165 655165 0 0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655165 655165 0 0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611893 611893 0 0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631753 631753 0 0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631753 631753 0 0.0
RAM 71252 71252 0 0.0
linux chip-tool-ipv6only arm64 unknown 21848 21848 0 0.0
FLASH 11163616 11163648 32 0.0
RAM 648448 648440 -8 -0.0
thermostat-no-ble arm64 unknown 9536 9560 24 0.3
FLASH 4098176 4099712 1536 0.0
RAM 246096 246256 160 0.1
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 907196 907196 0 0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901824 901840 16 0.0
RAM 124739 124743 4 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845920 845920 0 0.0
RAM 141323 141323 0 0.0
nxp contact k32w0+release FLASH 584496 584496 0 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599832 599832 0 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610940 610940 0 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685368 685368 0 0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748848 748848 0 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646844 1647348 504 0.0
RAM 211560 211576 16 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553612 1554124 512 0.0
RAM 208376 208384 8 0.0
light cy8ckit_062s2_43012 FLASH 1469292 1469804 512 0.0
RAM 200352 200368 16 0.0
lock cy8ckit_062s2_43012 FLASH 1467340 1467836 496 0.0
RAM 224688 224712 24 0.0
qpg lighting-app qpg6105+debug FLASH 662232 662232 0 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 620004 620004 0 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482824 482824 0 0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 665242 665242 0 0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622000 622000 0 0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770754 770754 0 0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 779284 779284 0 0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680618 680618 0 0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709172 709172 0 0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626086 626142 56 0.0
RAM 142016 142024 8 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813468 813468 0 0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5116 0 0.0
FLASH 1752956 1752956 0 0.0
RAM 93524 93524 0 0.0
chip-tool-ubsan arm unknown 11408 11408 0 0.0
FLASH 18699718 18699718 0 0.0
RAM 8184616 8184616 0 0.0

Signed-off-by: Maciej Grela <[email protected]>
Copy link

github-actions bot commented Feb 5, 2025

PR #37360: Size comparison from f957643 to d81d570

Increases above 0.2%:

platform target config section f957643 d81d570 change % change
linux thermostat-no-ble arm64 unknown 9536 9560 24 0.3
Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f957643 d81d570 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093988 1094530 542 0.0
RAM 103298 103338 40 0.0
bl702 lighting-app bl702+eth FLASH 650600 651142 542 0.1
RAM 25265 25249 -16 -0.1
bl702+wifi FLASH 828508 829050 542 0.1
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057068 1057068 0 0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888502 888502 0 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971488 971488 0 0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838160 838160 0 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823564 823564 0 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770836 770836 0 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755088 755088 0 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538637 539065 428 0.1
RAM 205192 205216 24 0.0
lock CC3235SF_LAUNCHXL FLASH 572493 572913 420 0.1
RAM 205344 205368 24 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679601 679601 0 0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699445 699445 0 0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699445 699445 0 0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656389 656389 0 0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615977 615977 0 0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635613 635613 0 0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635613 635613 0 0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635457 635457 0 0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655165 655165 0 0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655165 655165 0 0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611893 611893 0 0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631753 631753 0 0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631753 631753 0 0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936440 936440 0 0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 730356 730836 480 0.1
RAM 234700 234712 12 0.0
window-app BRD4187C FLASH 1029712 1029712 0 0.0
RAM 127976 127976 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97312 16 0.0
FLASH 1577564 1577626 62 0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116100 8 0.0
FLASH 1545178 1545242 64 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2710221 2712141 1920 0.1
RAM 132816 132904 88 0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5976202 5978122 1920 0.0
RAM 531632 531752 120 0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5324888 5326872 1984 0.0
RAM 242744 242864 120 0.0
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4683142 4685030 1888 0.0
RAM 221480 221584 104 0.0
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13099998 13100012 14 0.0
RAM 596770 596794 24 0.0
chip-tool-ipv6only arm64 unknown 21848 21848 0 0.0
FLASH 11163616 11163648 32 0.0
RAM 648448 648440 -8 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11389471 11389519 48 0.0
RAM 596554 596546 -8 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4507708 4509628 1920 0.0
RAM 208664 208768 104 0.0
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5614085 5616005 1920 0.0
RAM 483536 483672 136 0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5625841 5627793 1952 0.0
RAM 231760 231880 120 0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4732256 4734144 1888 0.0
RAM 207728 207848 120 0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4360768 4362656 1888 0.0
RAM 201368 201472 104 0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4498240 4500160 1920 0.0
RAM 205952 206056 104 0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3006141 3008093 1952 0.1
RAM 160504 160576 72 0.0
thermostat-no-ble arm64 unknown 9536 9560 24 0.3
FLASH 4098176 4099712 1536 0.0
RAM 246096 246256 160 0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5953717 5955669 1952 0.0
RAM 606936 607056 120 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11273581 11275661 2080 0.0
RAM 710896 711024 128 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 907196 907196 0 0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901824 901840 16 0.0
RAM 124739 124743 4 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845920 845920 0 0.0
RAM 141323 141323 0 0.0
nxp contact k32w0+release FLASH 584496 584496 0 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599832 599832 0 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610940 610940 0 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685368 685368 0 0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748848 748848 0 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646844 1647348 504 0.0
RAM 211560 211576 16 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553612 1554124 512 0.0
RAM 208376 208384 8 0.0
light cy8ckit_062s2_43012 FLASH 1469292 1469804 512 0.0
RAM 200352 200368 16 0.0
lock cy8ckit_062s2_43012 FLASH 1467340 1467836 496 0.0
RAM 224688 224712 24 0.0
qpg lighting-app qpg6105+debug FLASH 662232 662232 0 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 620004 620004 0 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482824 482824 0 0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 665242 665242 0 0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622000 622000 0 0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770754 770754 0 0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 779284 779284 0 0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680618 680618 0 0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709172 709172 0 0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626086 626142 56 0.0
RAM 142016 142024 8 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813468 813468 0 0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5116 0 0.0
FLASH 1752956 1752956 0 0.0
RAM 93524 93524 0 0.0
chip-tool-ubsan arm unknown 11408 11408 0 0.0
FLASH 18699718 18699718 0 0.0
RAM 8184616 8184616 0 0.0

Align CHIP_MDNS_MINIMAL macro handling with best practices.

Signed-off-by: Maciej Grela <[email protected]>
@@ -25,9 +25,22 @@ namespace {
AddressPolicy * gAddressPolicy = nullptr;
} // namespace

// This will be resolved at link time if a default policy is set
#ifndef CHIP_MINMDNS_NONE_POLICY
AddressPolicy * GetDefaultAddressPolicy();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should go in some header rather than declared here and then in other per-policy headers in a repeated manner.

We want to ensure a single declaration placement. Probably in AddressPolicy.h . Full documentation on usage should be described there.

namespace mdns {
namespace Minimal {

void SetDefaultAddressPolicy();
AddressPolicy * GetDefaultAddressPolicy();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be removed from here. Likely we may not need this header at all.

void SetAddressPolicy();

} // namespace LibNl
AddressPolicy * GetDefaultAddressPolicy();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here: this header should probably not exist at all. Declaration of this should be in AddressPolicy.h

Comment on lines +37 to +52
if (!mParent->Next(&id, &type))
{
return false;
}

while (id != mSelectedIface)
{
if (!mParent->Next(&id, &type))
{
return false;
}
}

*out_id = id;
*out_type = type;
return true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feels like the code could be shorter somehow... did not test, but maybe this works:

Suggested change
if (!mParent->Next(&id, &type))
{
return false;
}
while (id != mSelectedIface)
{
if (!mParent->Next(&id, &type))
{
return false;
}
}
*out_id = id;
*out_type = type;
return true;
while (mParent->Next(&id, &type))
{
if (id != mSelectedIface)
{
continue;
}
*out_id = id;
*out_type = type;
return true;
}
return false;

@@ -85,6 +92,11 @@ static_library("server") {
"${chip_root}/src/transport",
]

if (chip_mdns_minimal) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we have mdns as minimal or platform ... so this may pull a mdns dependency even for thread (at least CI link errors seem to indicate that).

Copy link

github-actions bot commented Feb 5, 2025

PR #37360: Size comparison from f957643 to 086bc71

Increases above 0.2%:

platform target config section f957643 086bc71 change % change
linux thermostat-no-ble arm64 unknown 9536 9560 24 0.3
Full report (32 builds for cc32xx, esp32, linux, nrfconnect, telink)
platform target config section f957643 086bc71 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538637 539081 444 0.1
RAM 205192 205216 24 0.0
lock CC3235SF_LAUNCHXL FLASH 572493 572921 428 0.1
RAM 205344 205368 24 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97312 16 0.0
FLASH 1577564 1577634 70 0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116100 8 0.0
FLASH 1545178 1545246 68 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2710221 2712141 1920 0.1
RAM 132816 132904 88 0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5976202 5978122 1920 0.0
RAM 531632 531752 120 0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5324888 5326872 1984 0.0
RAM 242744 242864 120 0.0
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4683142 4685030 1888 0.0
RAM 221480 221584 104 0.0
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13099998 13100012 14 0.0
RAM 596770 596794 24 0.0
chip-tool-ipv6only arm64 unknown 21848 21848 0 0.0
FLASH 11163616 11163664 48 0.0
RAM 648448 648440 -8 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11389471 11389519 48 0.0
RAM 596554 596546 -8 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4507708 4509628 1920 0.0
RAM 208664 208768 104 0.0
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5614085 5616005 1920 0.0
RAM 483536 483672 136 0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5625841 5627793 1952 0.0
RAM 231760 231880 120 0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4732256 4734144 1888 0.0
RAM 207728 207848 120 0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4360768 4362656 1888 0.0
RAM 201368 201472 104 0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4498240 4500160 1920 0.0
RAM 205952 206056 104 0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3006141 3008093 1952 0.1
RAM 160504 160576 72 0.0
thermostat-no-ble arm64 unknown 9536 9560 24 0.3
FLASH 4098176 4099728 1552 0.0
RAM 246096 246256 160 0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5953717 5955669 1952 0.0
RAM 606936 607056 120 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11273581 11275661 2080 0.0
RAM 710896 711024 128 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 907196 907204 8 0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901824 901844 20 0.0
RAM 124739 124743 4 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845920 845928 8 0.0
RAM 141323 141323 0 0.0
telink bridge-app tl7218x FLASH 665242 665250 8 0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622000 622008 8 0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770754 770762 8 0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 779284 779292 8 0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680618 680626 8 0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709172 709180 8 0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626086 626150 64 0.0
RAM 142016 142024 8 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813468 813476 8 0.0
RAM 99560 99560 0 0.0

@@ -111,18 +111,16 @@ def wait(self, timeout=None):
self.cv_stopped.wait()

def __startServer(self, runner, command):
app_cmd = command + ['--interface-id', str(-1)]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this going to break running YAML tests on Darwin, by no longer passing that argument?

@@ -51,9 +51,6 @@ + (NSTask *)doStartAppWithName:(NSString *)name arguments:(NSArray<NSString *> *
__auto_type * appTask = [self createTaskForPath:executable];

__auto_type * forcedArguments = @[
// Make sure we only advertise on the local interface.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, this is going to break the Darwin tests, causing a lot of random failures due to cross-talk between runners. Stopping here.

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.

4 participants