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

Do not advertise temporary/deprecated IPv6 addresses by minimal mDNS on Linux #22009

Closed

Conversation

andy31415
Copy link
Contributor

@andy31415 andy31415 commented Aug 18, 2022

Add support for linux address setting fetch - figure out if an address is temporary/deprecated/...

Problem

Linux often has deprecated IPv6 addresses when a OTBR advertises such routes. The longer they run, the more addresses would show up and this causes an exponential growth in IP addresses that are used and reported by minmdnds.

This makes passing TC-RR-1.1 very hard and highly depending on the system running chip-tool.

Previously, with 15 controllers, the announcement phase was >8 seconds of blocking network operations, which impacted test timing enough to flake some testing.

Change overview

Allow interface address iterators to set flags for specific IP addresses for their status. Specifically for linux implemented detection for temporary/deprecated/non-final addresses.

Use such info during minmdns processing.

This improves/helps implement #21736

Testing

Manual testing on a system with multiple deprecated addresses, minmdns behaviour significantly less spammy.

@tcarmelveilleux tcarmelveilleux changed the title Add support for linux address setting fetch - figure out if an addres… Do not advertise temporary/deprecated IPv6 addresses by minimal mDNS on Linux Aug 18, 2022
Comment on lines +927 to +940
if (mCurAddr->ifa_flags & IFA_F_OPTIMISTIC)
{
flags.Set(InterfaceAddressIterator::Flags::kNotFinal);
}

if (mCurAddr->ifa_flags & IFA_F_DADFAILED)
{
flags.Set(InterfaceAddressIterator::Flags::kNotFinal);
}

if (mCurAddr->ifa_flags & IFA_F_TENTATIVE)
{
flags.Set(InterfaceAddressIterator::Flags::kNotFinal);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggest to ifdef those flasg separately in case some platforms like Android don't have all of them

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I would expect CI to detect this. I believe for android we care about IFA_F_OPTIMISTIC and DADFAILED, however the flags kNotFinal and such can remain the same as if a platform does not have that concept, the flags are not set. This is what currently happen for all non-linux

{
if (it.GetFlags().HasAny(InterfaceAddressIterator::Flags::kNotFinal, InterfaceAddressIterator::Flags::kTemporary,
Copy link
Contributor

Choose a reason for hiding this comment

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

Add comment here and in IPv6 that we will not advertise addresses that are not current and stable

@@ -390,6 +390,13 @@ class InterfaceIterator
class DLL_EXPORT InterfaceAddressIterator
{
public:
enum class Flags : uint8_t
{
kNotFinal = (1 << 0), // Not yet valid: Optimistic/DAD failed/tentative
Copy link
Contributor

Choose a reason for hiding this comment

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

This seems like it's exposing Linux flags in an API that is mean to work across a range of platforms that may not have these granular flags.

Perhaps start with just one (since all of the logic below seems to be treating all of these the same), and expand in the future as needed?

Copy link
Contributor

Choose a reason for hiding this comment

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

The flags here correspond to RFC 8981 concepts, so I think they're universally meaningful (even if not exposed on all platforms).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I tried to make it somewhat conceptual by saying not final instead of providing linux flags. Beyond that, RFC concepts should be sufficient and we do not require all platforms to support them.

I was unsure if we can simplify more. We could in theory just have a kDoNotUse flag and let each platform pick what the rules are, but that seems a bit rough. We can go that route as a followup.

@github-actions
Copy link

github-actions bot commented Aug 18, 2022

PR #22009: Size comparison from 51d2c95 to 5b5dcac

Increases (25 builds for bl602, cc13x2_26x2, efr32, esp32, linux, psoc6, telink)
platform target config section 51d2c95 5b5dcac change % change
bl602 lighting-app bl602 (read/write) 1383858 1383898 40 0.0
.text 1051044 1051084 40 0.0
bl602+rpc (read/write) 1429370 1429410 40 0.0
.text 1082804 1082840 36 0.0
cc13x2_26x2 lock-mtd LP_CC2652R7 (read/write) 180552 180560 8 0.0
efr32 lighting-app BRD4161A+rs911x (read/write) 990152 990184 32 0.0
.text 825380 825412 32 0.0
lock-app BRD4161A+wf200 (read/write) 1139620 1139652 32 0.0
.text 991664 991696 32 0.0
esp32 all-clusters-app c3devkit (read only) 1030788 1030822 34 0.0
.flash.text 1030788 1030822 34 0.0
m5stack (read only) 1083967 1084023 56 0.0
.flash.text 1078583 1078639 56 0.0
linux all-clusters-app debug (read only) 3037129 3037977 848 0.0
.text 2583314 2584162 848 0.0
all-clusters-minimal-app debug (read only) 2874353 2875201 848 0.0
.text 2423122 2423970 848 0.0
bridge-app debug+rpc (read only) 2373001 2373849 848 0.0
.text 2006882 2007730 848 0.0
chip-tool debug (read only) 10812641 10813473 832 0.0
.text 8746612 8747444 832 0.0
chip-tool-ipv6only arm64 (read only) 10208444 10209308 864 0.0
.text 8080260 8081124 864 0.0
lighting-app debug+rpc (read only) 2597033 2597865 832 0.0
.text 2206018 2206850 832 0.0
lock-app debug (read only) 2580929 2581777 848 0.0
.text 2176914 2177762 848 0.0
ota-provider-app debug (read only) 2358105 2358937 832 0.0
.text 1985298 1986130 832 0.0
ota-requestor-app debug (read only) 2523305 2524153 848 0.0
.text 2134642 2135490 848 0.0
shell debug (read only) 2605433 2606265 832 0.0
.text 2212242 2213074 832 0.0
thermostat-no-ble arm64 (read only) 2357300 2358164 864 0.0
.text 1978960 1979824 864 0.0
tv-app debug (read only) 3173993 3174825 832 0.0
.text 2725298 2726130 832 0.0
tv-casting-app debug (read only) 5462161 5462993 832 0.0
.text 4847506 4848338 832 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read/write) 1700748 1700780 32 0.0
.debug_abbrev 1217432 1217618 186 0.0
.debug_aranges 111496 111504 8 0.0
.debug_frame 372228 372244 16 0.0
.debug_info 26636674 26640399 3725 0.0
.debug_line 3645881 3646040 159 0.0
.debug_loc 3561084 3561152 68 0.0
.debug_str 3392640 3395003 2363 0.1
.strtab 568892 568943 51 0.0
.symtab 420304 420336 32 0.0
.text 1540016 1540048 32 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read/write) 1644204 1644236 32 0.0
.debug_abbrev 1209298 1209484 186 0.0
.debug_aranges 110984 110992 8 0.0
.debug_frame 375360 375376 16 0.0
.debug_info 26374276 26378000 3724 0.0
.debug_line 3666460 3666619 159 0.0
.debug_loc 3549266 3549334 68 0.0
.debug_str 3382119 3384482 2363 0.1
.strtab 533820 533871 51 0.0
.symtab 407008 407040 32 0.0
.text 1484208 1484240 32 0.0
light cy8ckit_062s2_43012 (read/write) 1561436 1561484 48 0.0
.debug_abbrev 1043971 1044157 186 0.0
.debug_aranges 103152 103160 8 0.0
.debug_frame 345604 345620 16 0.0
.debug_info 21839792 21843517 3725 0.0
.debug_line 3237638 3237800 162 0.0
.debug_loc 3248769 3248899 130 0.0
.debug_str 3188213 3190576 2363 0.1
.strtab 467101 467152 51 0.0
.symtab 374064 374096 32 0.0
.text 1409784 1409832 48 0.0
lock cy8ckit_062s2_43012 (read/write) 1598708 1598756 48 0.0
.debug_abbrev 1051147 1051333 186 0.0
.debug_aranges 103824 103832 8 0.0
.debug_frame 348428 348444 16 0.0
.debug_info 22194929 22198654 3725 0.0
.debug_line 3246323 3246482 159 0.0
.debug_loc 3288888 3288974 86 0.0
.debug_str 3215644 3218007 2363 0.1
.strtab 473342 473393 51 0.0
.symtab 377248 377280 32 0.0
.text 1442560 1442608 48 0.0
telink lighting-app tlsr9518adk80d (read/write) 830672 830680 8 0.0
text 589404 589406 2 0.0
Decreases (7 builds for cc13x2_26x2, nrfconnect, psoc6)
platform target config section 51d2c95 5b5dcac change % change
cc13x2_26x2 all-clusters-minimal-app LP_CC2652R7 (read only) 637747 637739 -8 -0.0
.text 559444 559436 -8 -0.0
lock-mtd LP_CC2652R7 (read only) 656831 656823 -8 -0.0
.text 554592 554584 -8 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 814448 814444 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_ranges 336520 336504 -16 -0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_ranges 335176 335160 -16 -0.0
light cy8ckit_062s2_43012 .debug_ranges 301016 301000 -16 -0.0
lock cy8ckit_062s2_43012 .debug_ranges 304432 304416 -16 -0.0
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, telink)
platform target config section 51d2c95 5b5dcac change % change
bl602 lighting-app bl602 (read/write) 1383858 1383898 40 0.0
.bss 120258 120258 0 0.0
.data 4480 4480 0 0.0
.text 1051044 1051084 40 0.0
bl602+rpc (read/write) 1429370 1429410 40 0.0
.bss 127698 127698 0 0.0
.data 4600 4600 0 0.0
.text 1082804 1082840 36 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 672795 672795 0 0.0
(read/write) 178700 178700 0 0.0
.bss 74388 74388 0 0.0
.data 3372 3372 0 0.0
.rodata 88819 88819 0 0.0
.text 583660 583660 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 637747 637739 -8 -0.0
(read/write) 157948 157948 0 0.0
.bss 73660 73660 0 0.0
.data 3372 3372 0 0.0
.rodata 77979 77979 0 0.0
.text 559444 559436 -8 -0.0
lock-ftd LP_CC2652R7 (read only) 674079 674079 0 0.0
(read/write) 167616 167616 0 0.0
.bss 71476 71476 0 0.0
.data 3296 3296 0 0.0
.rodata 76671 76671 0 0.0
.text 596928 596928 0 0.0
lock-mtd LP_CC2652R7 (read only) 656831 656823 -8 -0.0
(read/write) 180552 180560 8 0.0
.bss 67164 67164 0 0.0
.data 3296 3296 0 0.0
.rodata 101759 101759 0 0.0
.text 554592 554584 -8 -0.0
pump-app LP_CC2652R7 (read only) 684751 684751 0 0.0
(read/write) 157752 157752 0 0.0
.bss 71516 71516 0 0.0
.data 3296 3296 0 0.0
.rodata 89959 89959 0 0.0
.text 594308 594308 0 0.0
pump-controller-app LP_CC2652R7 (read only) 669243 669243 0 0.0
(read/write) 173380 173380 0 0.0
.bss 71636 71636 0 0.0
.data 3292 3292 0 0.0
.rodata 85515 85515 0 0.0
.text 583248 583248 0 0.0
shell LP_CC2652R7 (read only) 665478 665478 0 0.0
(read/write) 181536 181536 0 0.0
.bss 76708 76708 0 0.0
.data 3376 3376 0 0.0
.rodata 85766 85766 0 0.0
.text 579396 579396 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586618 586618 0 0.0
.app_xip_area 463284 463284 0 0.0
.bss 65768 65768 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592418 592418 0 0.0
.app_xip_area 464300 464300 0 0.0
.bss 70552 70552 0 0.0
.data 748 748 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599538 599538 0 0.0
.app_xip_area 476924 476924 0 0.0
.bss 65080 65080 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1100964 1100964 0 0.0
.bss 133372 133372 0 0.0
.data 2068 2068 0 0.0
.text 965500 965500 0 0.0
BRD4161A+rpc (read/write) 1155216 1155216 0 0.0
.bss 150060 150060 0 0.0
.data 2280 2280 0 0.0
.text 1002856 1002856 0 0.0
BRD4161A+rs911x (read/write) 990152 990184 32 0.0
.bss 162696 162696 0 0.0
.data 2056 2056 0 0.0
.text 825380 825412 32 0.0
lock-app BRD4161A+wf200 (read/write) 1139620 1139652 32 0.0
.bss 145872 145872 0 0.0
.data 2064 2064 0 0.0
.text 991664 991696 32 0.0
window-app BRD4161A (read/write) 1092420 1092420 0 0.0
.bss 134812 134812 0 0.0
.data 2096 2096 0 0.0
.text 955492 955492 0 0.0
esp32 all-clusters-app c3devkit (read only) 1030788 1030822 34 0.0
(read/write) 1489570 1489570 0 0.0
.dram0.bss 71136 71136 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 218400 218400 0 0.0
.flash.text 1030788 1030822 34 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1083967 1084023 56 0.0
(read/write) 491496 491496 0 0.0
.dram0.bss 76640 76640 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 248716 248716 0 0.0
.flash.text 1078583 1078639 56 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w0+release (read/write) 646676 646676 0 0.0
.bss 70400 70400 0 0.0
.data 2068 2068 0 0.0
.text 571480 571480 0 0.0
lock k32w0+release (read/write) 704196 704196 0 0.0
.bss 70864 70864 0 0.0
.data 2076 2076 0 0.0
.text 628528 628528 0 0.0
linux all-clusters-app debug (read only) 3037129 3037977 848 0.0
(read/write) 156024 156024 0 0.0
.bss 61920 61920 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85624 85624 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 1168 1168 0 0.0
.rodata 274667 274667 0 0.0
.text 2583314 2584162 848 0.0
all-clusters-minimal-app debug (read only) 2874353 2875201 848 0.0
(read/write) 147624 147624 0 0.0
.bss 61152 61152 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 78120 78120 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1152 1152 0 0.0
.rodata 274859 274859 0 0.0
.text 2423122 2423970 848 0.0
bridge-app debug+rpc (read only) 2373001 2373849 848 0.0
(read/write) 127584 127584 0 0.0
.bss 50656 50656 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67464 67464 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 203496 203496 0 0.0
.text 2006882 2007730 848 0.0
chip-tool debug (read only) 10812641 10813473 832 0.0
(read/write) 651136 651136 0 0.0
.bss 25240 25240 0 0.0
.data 3266 3266 0 0.0
.data.rel.ro 616104 616104 0 0.0
.dynamic 608 608 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 559829 559829 0 0.0
.text 8746612 8747444 832 0.0
chip-tool-ipv6only arm64 (read only) 10208444 10209308 864 0.0
(read/write) 698929 698929 0 0.0
.bss 33297 33297 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 643616 643616 0 0.0
.dynamic 560 560 0 0.0
.got 13776 13776 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 490604 490604 0 0.0
.text 8080260 8081124 864 0.0
lighting-app debug+rpc (read only) 2597033 2597865 832 0.0
(read/write) 130176 130176 0 0.0
.bss 49760 49760 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72360 72360 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 220304 220304 0 0.0
.text 2206018 2206850 832 0.0
lock-app debug (read only) 2580929 2581777 848 0.0
(read/write) 125512 125512 0 0.0
.bss 48288 48288 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69512 69512 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 896 896 0 0.0
.rodata 237360 237360 0 0.0
.text 2176914 2177762 848 0.0
ota-provider-app debug (read only) 2358105 2358937 832 0.0
(read/write) 118976 118976 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63336 63336 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 760 760 0 0.0
.rodata 209336 209336 0 0.0
.text 1985298 1986130 832 0.0
ota-requestor-app debug (read only) 2523305 2524153 848 0.0
(read/write) 127320 127320 0 0.0
.bss 50336 50336 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 68728 68728 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 848 848 0 0.0
.rodata 216096 216096 0 0.0
.text 2134642 2135490 848 0.0
shell debug (read only) 2605433 2606265 832 0.0
(read/write) 142144 142144 0 0.0
.bss 57832 57832 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77224 77224 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 234770 234770 0 0.0
.text 2212242 2213074 832 0.0
thermostat-no-ble arm64 (read only) 2357300 2358164 864 0.0
(read/write) 141825 141825 0 0.0
.bss 55345 55345 0 0.0
.data 1672 1672 0 0.0
.data.rel.ro 75984 75984 0 0.0
.dynamic 560 560 0 0.0
.got 5048 5048 0 0.0
.init 24 24 0 0.0
.init_array 408 408 0 0.0
.rodata 140620 140620 0 0.0
.text 1978960 1979824 864 0.0
tv-app debug (read only) 3173993 3174825 832 0.0
(read/write) 257968 257968 0 0.0
.bss 167480 167480 0 0.0
.data 4736 4736 0 0.0
.data.rel.ro 79184 79184 0 0.0
.dynamic 608 608 0 0.0
.got 4856 4856 0 0.0
.init 27 27 0 0.0
.init_array 1072 1072 0 0.0
.rodata 258952 258952 0 0.0
.text 2725298 2726130 832 0.0
tv-casting-app debug (read only) 5462161 5462993 832 0.0
(read/write) 160240 160240 0 0.0
.bss 51448 51448 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 99928 99928 0 0.0
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 343569 343569 0 0.0
.text 4847506 4848338 832 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2454328 2454328 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1416972 1416972 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180367 1180367 0 0.0
bss 143737 143737 0 0.0
rodata 143344 143344 0 0.0
text 814448 814444 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1159799 1159799 0 0.0
bss 142964 142964 0 0.0
rodata 134944 134944 0 0.0
text 803072 803072 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 881000 881000 0 0.0
(read/write) 1700748 1700780 32 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 149688 149688 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2656 2656 0 0.0
.debug_abbrev 1217432 1217618 186 0.0
.debug_aranges 111496 111504 8 0.0
.debug_frame 372228 372244 16 0.0
.debug_info 26636674 26640399 3725 0.0
.debug_line 3645881 3646040 159 0.0
.debug_loc 3561084 3561152 68 0.0
.debug_ranges 336520 336504 -16 -0.0
.debug_str 3392640 3395003 2363 0.1
.heap 881000 881000 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 568892 568943 51 0.0
.symtab 420304 420336 32 0.0
.text 1540016 1540048 32 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 881736 881736 0 0.0
(read/write) 1644204 1644236 32 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 148952 148952 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2656 2656 0 0.0
.debug_abbrev 1209298 1209484 186 0.0
.debug_aranges 110984 110992 8 0.0
.debug_frame 375360 375376 16 0.0
.debug_info 26374276 26378000 3724 0.0
.debug_line 3666460 3666619 159 0.0
.debug_loc 3549266 3549334 68 0.0
.debug_ranges 335176 335160 -16 -0.0
.debug_str 3382119 3384482 2363 0.1
.heap 881736 881736 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 533820 533871 51 0.0
.symtab 407008 407040 32 0.0
.text 1484208 1484240 32 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 890080 890080 0 0.0
(read/write) 1561436 1561484 48 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 140816 140816 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2448 2448 0 0.0
.debug_abbrev 1043971 1044157 186 0.0
.debug_aranges 103152 103160 8 0.0
.debug_frame 345604 345620 16 0.0
.debug_info 21839792 21843517 3725 0.0
.debug_line 3237638 3237800 162 0.0
.debug_loc 3248769 3248899 130 0.0
.debug_ranges 301016 301000 -16 -0.0
.debug_str 3188213 3190576 2363 0.1
.heap 890080 890080 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 467101 467152 51 0.0
.symtab 374064 374096 32 0.0
.text 1409784 1409832 48 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 885584 885584 0 0.0
(read/write) 1598708 1598756 48 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 145296 145296 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2464 2464 0 0.0
.debug_abbrev 1051147 1051333 186 0.0
.debug_aranges 103824 103832 8 0.0
.debug_frame 348428 348444 16 0.0
.debug_info 22194929 22198654 3725 0.0
.debug_line 3246323 3246482 159 0.0
.debug_loc 3288888 3288974 86 0.0
.debug_ranges 304432 304416 -16 -0.0
.debug_str 3215644 3218007 2363 0.1
.heap 885584 885584 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 473342 473393 51 0.0
.symtab 377248 377280 32 0.0
.text 1442560 1442608 48 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808736 808736 0 0.0
bss 71448 71448 0 0.0
noinit 43488 43488 0 0.0
text 571316 571316 0 0.0
lighting-app tlsr9518adk80d (read/write) 830672 830680 8 0.0
bss 72304 72304 0 0.0
noinit 43488 43488 0 0.0
text 589404 589406 2 0.0

@andy31415 andy31415 marked this pull request as draft August 18, 2022 19:39
@andy31415
Copy link
Contributor Author

Converting to draft: getting IFA_F flags is a bit more involved it seems and since it is linux-specific it does not seem as well documented.

@andy31415
Copy link
Contributor Author

Closing as the changes to support this are likely larger and original PR and review likely does not apply.

@andy31415 andy31415 closed this Aug 18, 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.

4 participants