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

Add MatchesFabricIndex method to codec #13881

Merged

Conversation

mlepage-google
Copy link
Contributor

@mlepage-google mlepage-google commented Jan 24, 2022

Problem

ACL not fabric filtered when read

Change overview

Add MatchesFabricIndex method to AccessControlEntryCodec

This is necessary for fabric filtered read to work, if using that
codec for encoding.

This is a quick fix, it may be preferable to move encoding to a
higher level to use more of the generated types, but that will
require more refactoring.

Testing

  • Built and ran all-clusters-app with REPL on Linux
  • Commissioned two fabrics and wrote ACL entries
  • Verified each REPL could not read the other fabric's ACL entries

Needed for proper fabric-filtered read operation, at least until
we restructure encode/decode to use more of the generated types.
@github-actions
Copy link

github-actions bot commented Jan 24, 2022

PR #13881: Size comparison from 4449e65 to 3cee804

Increases (3 builds for esp32, p6)
platform target config section 4449e65 3cee804 change % change
esp32 all-clusters-app c3devkit (read only) 919270 919300 30 0.0
.flash.text 919270 919300 30 0.0
m5stack (read only) 967595 967623 28 0.0
.flash.text 962211 962239 28 0.0
p6 all-clusters-app default (read/write) 2407416 2407480 64 0.0
.text 1365680 1365744 64 0.0
Full report (33 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 4449e65 3cee804 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 573654 573654 0 0.0
.app_xip_area 478940 478940 0 0.0
.bss 77452 77452 0 0.0
.data 604 604 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 835372 835372 0 0.0
(read/write) 126980 126980 0 0.0
.bss 125080 125080 0 0.0
.data 1900 1900 0 0.0
.text 835364 835364 0 0.0
BRD4161A+rpc (read only) 822768 822768 0 0.0
(read/write) 143640 143640 0 0.0
.bss 141640 141640 0 0.0
.data 2000 2000 0 0.0
.text 822760 822760 0 0.0
window-app BRD4161A (read only) 806260 806260 0 0.0
(read/write) 125560 125560 0 0.0
.bss 123704 123704 0 0.0
.data 1856 1856 0 0.0
.text 806252 806252 0 0.0
esp32 all-clusters-app c3devkit (read only) 919270 919300 30 0.0
(read/write) 1376754 1376754 0 0.0
.dram0.bss 67384 67384 0 0.0
.dram0.data 14244 14244 0 0.0
.flash.rodata 175992 175992 0 0.0
.flash.text 919270 919300 30 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 967595 967623 28 0.0
(read/write) 443160 443160 0 0.0
.dram0.bss 71856 71856 0 0.0
.dram0.data 34032 34032 0 0.0
.flash.rodata 205144 205144 0 0.0
.flash.text 962211 962239 28 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 659884 659884 0 0.0
.bss 76336 76336 0 0.0
.data 1868 1868 0 0.0
.text 575880 575880 0 0.0
lock k32w061+release (read/write) 660736 660736 0 0.0
.bss 76600 76600 0 0.0
.data 1892 1892 0 0.0
.text 576444 576444 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8537828 8537828 0 0.0
(read/write) 390977 390977 0 0.0
.bss 56049 56049 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 261000 261000 0 0.0
.dynamic 560 560 0 0.0
.got 69048 69048 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 436892 436892 0 0.0
.text 7262020 7262020 0 0.0
thermostat-no-ble arm64 (read only) 2050332 2050332 0 0.0
(read/write) 144881 144881 0 0.0
.bss 64017 64017 0 0.0
.data 904 904 0 0.0
.data.rel.ro 72952 72952 0 0.0
.dynamic 560 560 0 0.0
.got 4056 4056 0 0.0
.init 24 24 0 0.0
.init_array 320 320 0 0.0
.rodata 129900 129900 0 0.0
.text 1706160 1706160 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2348784 2348784 0 0.0
.bss 186092 186092 0 0.0
.data 5304 5304 0 0.0
.text 1311360 1311360 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2333904 2333904 0 0.0
.bss 180696 180696 0 0.0
.data 5584 5584 0 0.0
.text 1296504 1296504 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304408 2304408 0 0.0
.bss 179704 179704 0 0.0
.data 5568 5568 0 0.0
.text 1267008 1267008 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053896 2053896 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016496 1016496 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 942087 942087 0 0.0
bss 118776 118776 0 0.0
rodata 108620 108620 0 0.0
text 637108 637108 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 927599 927599 0 0.0
bss 115820 115820 0 0.0
rodata 101068 101068 0 0.0
text 632504 632504 0 0.0
nrf52840dongle_nrf52840 (read/write) 992763 992763 0 0.0
bss 121620 121620 0 0.0
rodata 113372 113372 0 0.0
text 669308 669308 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 851942 851942 0 0.0
bss 115564 115564 0 0.0
rodata 101792 101792 0 0.0
text 554028 554028 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 911599 911599 0 0.0
bss 117948 117948 0 0.0
rodata 103612 103612 0 0.0
text 612660 612660 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 821666 821666 0 0.0
bss 114764 114764 0 0.0
rodata 96836 96836 0 0.0
text 529616 529616 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 914303 914303 0 0.0
bss 117696 117696 0 0.0
rodata 103948 103948 0 0.0
text 615200 615200 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 909519 909519 0 0.0
bss 117720 117720 0 0.0
rodata 103100 103100 0 0.0
text 611224 611224 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798203 798203 0 0.0
bss 109776 109776 0 0.0
rodata 78288 78288 0 0.0
text 533644 533644 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711022 711022 0 0.0
bss 107664 107664 0 0.0
rodata 72592 72592 0 0.0
text 451320 451320 0 0.0
p6 all-clusters-app default (read/write) 2407416 2407480 64 0.0
.bss 114436 114436 0 0.0
.data 2592 2592 0 0.0
.text 1365680 1365744 64 0.0
light-app default (read/write) 2330144 2330144 0 0.0
.bss 105272 105272 0 0.0
.data 2408 2408 0 0.0
.text 1288408 1288408 0 0.0
lock-app default (read/write) 2299496 2299496 0 0.0
.bss 104144 104144 0 0.0
.data 2360 2360 0 0.0
.text 1257760 1257760 0 0.0
qpg lighting-app qpg6105+debug (read only) 567016 567016 0 0.0
(read/write) 146940 146940 0 0.0
.bss 89416 89416 0 0.0
.data 1064 1064 0 0.0
.text 561696 561696 0 0.0
lock-app qpg6105+debug (read only) 515580 515580 0 0.0
(read/write) 146940 146940 0 0.0
.bss 88008 88008 0 0.0
.data 992 992 0 0.0
.text 510260 510260 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 840950 840950 0 0.0
bss 87224 87224 0 0.0
noinit 37160 37160 0 0.0
text 588172 588172 0 0.0

@mlepage-google mlepage-google merged commit 854b8ac into project-chip:master Jan 27, 2022
@mlepage-google mlepage-google deleted the matches-fabric-index branch January 27, 2022 18:58
selissia pushed a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
Needed for proper fabric-filtered read operation, at least until
we restructure encode/decode to use more of the generated types.
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.

6 participants