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

Make AddressResolver not keep duplicate IP addresses in its cache #36861

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

Conversation

andy31415
Copy link
Contributor

@andy31415 andy31415 commented Dec 16, 2024

This fixes #36746 by deduplicating IP addresses in AddressResolver results.

Changes

  • do not insert duplicate addresses in the list
  • fixed and added unit tests for this
  • Attempted to push MDNS result size to 3 however that seems to take too much RAM for various platforms, so new tests are enabled only if mdns result size is 3 or more.

Testing

Unit tests were updated and added to cover the new code. The unit tests were failing before the code was updated. CI will also validate general functionality.

Copy link

Review changes with  SemanticDiff

@github-actions github-actions bot added the core label Dec 16, 2024

This comment was marked as outdated.

This comment was marked as outdated.

…not have sufficient space. This is a bit concerning ...
Copy link

github-actions bot commented Dec 17, 2024

PR #36861: Size comparison from 43f66f0 to dd3e242

Full report (61 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, linux, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 43f66f0 dd3e242 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353340 1353692 352 0.0
RAM 104112 104136 24 0.0
bl702 lighting-app bl702+eth FLASH 651826 651884 58 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829154 829468 314 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057626 1057940 314 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979000 979314 314 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839760 839860 100 0.0
RAM 123664 123672 8 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825308 825400 92 0.0
RAM 125552 125560 8 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772096 772276 180 0.0
RAM 114020 114036 16 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756300 756472 172 0.0
RAM 114228 114236 8 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 539605 539785 180 0.0
RAM 205760 205776 16 0.0
lock CC3235SF_LAUNCHXL FLASH 573885 574065 180 0.0
RAM 205904 205920 16 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681513 681705 192 0.0
RAM 78724 78732 8 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701357 701549 192 0.0
RAM 81364 81372 8 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701357 701549 192 0.0
RAM 81364 81372 8 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658301 658493 192 0.0
RAM 73792 73800 8 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618073 618249 176 0.0
RAM 71708 71724 16 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637701 637885 184 0.0
RAM 74252 74268 16 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637701 637885 184 0.0
RAM 74252 74268 16 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637473 637657 184 0.0
RAM 74724 74732 8 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657181 657373 192 0.0
RAM 77268 77276 8 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657181 657373 192 0.0
RAM 77268 77276 8 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 613933 614117 184 0.0
RAM 68812 68820 8 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 633785 633977 192 0.0
RAM 71444 71452 8 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 633785 633977 192 0.0
RAM 71444 71452 8 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2715629 2716151 522 0.0
RAM 129800 129896 96 0.1
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6008830 6009396 566 0.0
RAM 523544 523640 96 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5345370 5345968 598 0.0
RAM 242600 242696 96 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4684938 4685504 566 0.0
RAM 218416 218512 96 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12849310 12849354 44 0.0
RAM 582506 582506 0 0.0
chip-tool-ipv6only arm64 unknown 21352 21352 0 0.0
FLASH 10983936 10983968 32 0.0
RAM 633424 633424 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11255859 11255903 44 0.0
RAM 582850 582850 0 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4510514 4511036 522 0.0
RAM 205600 205696 96 0.0
fabric-sync debug unknown 4936 4936 0 0.0
FLASH 5610549 5611093 544 0.0
RAM 472584 472680 96 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5621633 5622241 608 0.0
RAM 228792 228888 96 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4734178 4734776 598 0.0
RAM 204776 204872 96 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4359916 4360482 566 0.0
RAM 198448 198544 96 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4498908 4499506 598 0.0
RAM 203032 203128 96 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3032765 3033325 560 0.0
RAM 160424 160520 96 0.1
thermostat-no-ble arm64 unknown 9536 9552 16 0.2
FLASH 4104176 4104768 592 0.0
RAM 243040 243160 120 0.0
tv-app debug unknown 5704 5704 0 0.0
FLASH 5959461 5960021 560 0.0
RAM 596016 596112 96 0.0
tv-casting-app debug unknown 5288 5288 0 0.0
FLASH 11055165 11055741 576 0.0
RAM 692184 692328 144 0.0
nxp contact k32w0+release FLASH 585440 585504 64 0.0
RAM 71080 71088 8 0.0
mcxw71+release FLASH 600048 600216 168 0.0
RAM 63176 63184 8 0.0
light k32w0+release FLASH 612412 612508 96 0.0
RAM 70472 70480 8 0.0
k32w1+release FLASH 686592 686768 176 0.0
RAM 48808 48816 8 0.0
lock mcxw71+release FLASH 762928 763104 176 0.0
RAM 70844 70852 8 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646812 1647012 200 0.0
RAM 212096 212104 8 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554236 1554452 216 0.0
RAM 208904 208920 16 0.0
light cy8ckit_062s2_43012 FLASH 1469564 1469764 200 0.0
RAM 200880 200888 8 0.0
lock cy8ckit_062s2_43012 FLASH 1467292 1467508 216 0.0
RAM 225240 225248 8 0.0
qpg lighting-app qpg6105+debug FLASH 664024 664200 176 0.0
RAM 105424 105432 8 0.0
lock-app qpg6105+debug FLASH 621812 621996 184 0.0
RAM 99868 99884 16 0.0
stm32 light STM32WB5MM-DK FLASH 484728 484916 188 0.0
RAM 144880 144888 8 0.0
telink bridge-app tlsr9258a FLASH 682916 683120 204 0.0
RAM 91208 91224 16 0.0
contact-sensor-app tlsr9528a_retention FLASH 623346 623534 188 0.0
RAM 31440 31456 16 0.1
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772176 772352 176 0.0
RAM 49300 49316 16 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710770 710974 204 0.0
RAM 73504 73520 16 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627790 627990 200 0.0
RAM 142140 142156 16 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813804 814008 204 0.0
RAM 99684 99700 16 0.0
tizen all-clusters-app arm unknown 4988 4996 8 0.2
FLASH 1734440 1734864 424 0.0
RAM 90736 90784 48 0.1
chip-tool-ubsan arm unknown 10804 10804 0 0.0
FLASH 17973406 17973566 160 0.0
RAM 7842608 7842688 80 0.0

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.

[BUG] Operational discovery fails if highest scored IP address is not reachable
3 participants