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

Migrate PASE session to newly created fabric #13712

Merged
merged 3 commits into from
Jan 20, 2022

Conversation

mlepage-google
Copy link
Contributor

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

Problem

PASE sessions start with no fabric, but during commissioning,
after OperationalCredentialsCluster::AddNOC, they should be
placed on the newly commissioned fabric so administrative
actions pertaining to the newly commissioned fabric can be
performed over the PASE session, if desired.

Change overview

  • Added SecureSession::NewFabric
  • Called it after successful OperationalCredentialsCluster::AddNOC
  • Adapted SecureSession::GetSubjectDescriptor to use new fabric for PASE

Work towards issue #10242

Testing

  • Built and ran all-clusters-app with chip-tool on Linux
  • Added temp logging statements to GetSubjectDescriptor
  • Added temp PASE commands during commissioning after AddNOC
  • Verified that PASE commands after AddNOC have the new fabric

PASE sessions start with no fabric, but during commissioning,
after OperationalCredentialsCluster::AddNOC, they should be
placed on the newly commissioned fabric so administrative
actions pertaining to the newly commissioned fabric can be
performed over the PASE session, if desired.

Work towards issue project-chip#10242
@github-actions
Copy link

github-actions bot commented Jan 19, 2022

PR #13712: Size comparison from 5274676 to c7f2c43

Increases (9 builds for k32w, linux, p6, qpg, telink)
platform target config section 5274676 c7f2c43 change % change
k32w light k32w061+release (read/write) 659060 659108 48 0.0
.text 574264 574312 48 0.0
lock k32w061+release (read/write) 661792 661840 48 0.0
.text 576680 576728 48 0.0
linux thermostat-no-ble arm64 (read only) 2043580 2043820 240 0.0
.rodata 129916 129996 80 0.1
.text 1699296 1699456 160 0.0
p6 all-clusters-app default (read/write) 2405536 2405584 48 0.0
.text 1363800 1363848 48 0.0
light-app default (read/write) 2329976 2330040 64 0.0
.text 1288240 1288304 64 0.0
lock-app default (read/write) 2299000 2299064 64 0.0
.text 1257264 1257328 64 0.0
qpg lighting-app qpg6105+debug (read only) 565064 565128 64 0.0
.text 559744 559808 64 0.0
lock-app qpg6105+debug (read only) 515476 515524 48 0.0
.text 510156 510204 48 0.0
telink lighting-app tlsr9518adk80d (read/write) 840698 840754 56 0.0
text 587724 587774 50 0.0
Full report (11 builds for k32w, linux, p6, qpg, telink)
platform target config section 5274676 c7f2c43 change % change
k32w light k32w061+release (read/write) 659060 659108 48 0.0
.bss 77136 77136 0 0.0
.data 1860 1860 0 0.0
.text 574264 574312 48 0.0
lock k32w061+release (read/write) 661792 661840 48 0.0
.bss 77432 77432 0 0.0
.data 1880 1880 0 0.0
.text 576680 576728 48 0.0
linux chip-tool-ipv6only arm64 (read only) 8122444 8122444 0 0.0
(read/write) 374145 374145 0 0.0
.bss 55217 55217 0 0.0
.data 1112 1112 0 0.0
.data.rel.ro 248632 248632 0 0.0
.dynamic 560 560 0 0.0
.got 65488 65488 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 422212 422212 0 0.0
.text 6902804 6902804 0 0.0
thermostat-no-ble arm64 (read only) 2043580 2043820 240 0.0
(read/write) 145905 145905 0 0.0
.bss 65089 65089 0 0.0
.data 896 896 0 0.0
.data.rel.ro 72952 72952 0 0.0
.dynamic 560 560 0 0.0
.got 4032 4032 0 0.0
.init 24 24 0 0.0
.init_array 304 304 0 0.0
.rodata 129916 129996 80 0.1
.text 1699296 1699456 160 0.0
p6 all-clusters-app default (read/write) 2405536 2405584 48 0.0
.bss 117556 117556 0 0.0
.data 2608 2608 0 0.0
.text 1363800 1363848 48 0.0
light-app default (read/write) 2329976 2330040 64 0.0
.bss 106128 106128 0 0.0
.data 2400 2400 0 0.0
.text 1288240 1288304 64 0.0
lock-app default (read/write) 2299000 2299064 64 0.0
.bss 104976 104976 0 0.0
.data 2352 2352 0 0.0
.text 1257264 1257328 64 0.0
qpg lighting-app qpg6105+debug (read only) 565064 565128 64 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89960 0 0.0
.data 1056 1056 0 0.0
.text 559744 559808 64 0.0
lock-app qpg6105+debug (read only) 515476 515524 48 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88584 0 0.0
.data 980 980 0 0.0
.text 510156 510204 48 0.0
persistent-storage-app qpg6105+debug (read only) 106848 106848 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38512 38512 0 0.0
.data 288 288 0 0.0
.text 101528 101528 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 840698 840754 56 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587724 587774 50 0.0

@github-actions
Copy link

github-actions bot commented Jan 19, 2022

PR #13712: Size comparison from fba51b9 to 0bae2cf

Increases (25 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section fba51b9 0bae2cf change % change
efr32 lighting-app BRD4161A (read only) 834836 834884 48 0.0
.text 834828 834876 48 0.0
BRD4161A+rpc (read only) 822224 822304 80 0.0
.text 822216 822296 80 0.0
window-app BRD4161A (read only) 805408 805472 64 0.0
.text 805400 805464 64 0.0
esp32 all-clusters-app c3devkit (read only) 912466 912516 50 0.0
.flash.text 912466 912516 50 0.0
m5stack (read only) 961247 961291 44 0.0
.flash.text 955863 955907 44 0.0
k32w light k32w061+release (read/write) 659060 659108 48 0.0
.text 574264 574312 48 0.0
lock k32w061+release (read/write) 661792 661840 48 0.0
.text 576680 576728 48 0.0
linux thermostat-no-ble arm64 (read only) 2043580 2043820 240 0.0
.rodata 129916 129996 80 0.1
.text 1699296 1699456 160 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2304768 2304832 64 0.0
.text 1267368 1267432 64 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943347 943395 48 0.0
text 637368 637416 48 0.0
nrf52840dk_nrf52840+rpc (read/write) 928831 928879 48 0.0
text 632764 632812 48 0.0
nrf52840dongle_nrf52840 (read/write) 994027 994075 48 0.0
text 669568 669616 48 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853174 853222 48 0.0
text 554292 554340 48 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912707 912755 48 0.0
text 612816 612864 48 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822778 822826 48 0.0
text 529776 529824 48 0.0
pump-app nrf52840dk_nrf52840 (read/write) 915559 915607 48 0.0
text 615468 615516 48 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910643 910691 48 0.0
text 611392 611440 48 0.0
shell nrf52840dk_nrf52840 text 533872 533880 8 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711278 711294 16 0.0
text 451548 451556 8 0.0
p6 all-clusters-app default (read/write) 2405536 2405584 48 0.0
.text 1363800 1363848 48 0.0
light-app default (read/write) 2329976 2330040 64 0.0
.text 1288240 1288304 64 0.0
lock-app default (read/write) 2299000 2299064 64 0.0
.text 1257264 1257328 64 0.0
qpg lighting-app qpg6105+debug (read only) 565064 565128 64 0.0
.text 559744 559808 64 0.0
lock-app qpg6105+debug (read only) 515476 515524 48 0.0
.text 510156 510204 48 0.0
telink lighting-app tlsr9518adk80d (read/write) 840698 840754 56 0.0
text 587724 587774 50 0.0
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section fba51b9 0bae2cf change % change
efr32 lighting-app BRD4161A (read only) 834836 834884 48 0.0
(read/write) 127636 127636 0 0.0
.bss 125744 125744 0 0.0
.data 1892 1892 0 0.0
.text 834828 834876 48 0.0
BRD4161A+rpc (read only) 822224 822304 80 0.0
(read/write) 144296 144296 0 0.0
.bss 142304 142304 0 0.0
.data 1992 1992 0 0.0
.text 822216 822296 80 0.0
window-app BRD4161A (read only) 805408 805472 64 0.0
(read/write) 126328 126328 0 0.0
.bss 124480 124480 0 0.0
.data 1844 1844 0 0.0
.text 805400 805464 64 0.0
esp32 all-clusters-app c3devkit (read only) 912466 912516 50 0.0
(read/write) 1316642 1316642 0 0.0
.dram0.bss 70528 70528 0 0.0
.dram0.data 14276 14276 0 0.0
.flash.rodata 178344 178344 0 0.0
.flash.text 912466 912516 50 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 961247 961291 44 0.0
(read/write) 448800 448800 0 0.0
.dram0.bss 74984 74984 0 0.0
.dram0.data 34072 34072 0 0.0
.flash.rodata 207616 207616 0 0.0
.flash.text 955863 955907 44 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 659060 659108 48 0.0
.bss 77136 77136 0 0.0
.data 1860 1860 0 0.0
.text 574264 574312 48 0.0
lock k32w061+release (read/write) 661792 661840 48 0.0
.bss 77432 77432 0 0.0
.data 1880 1880 0 0.0
.text 576680 576728 48 0.0
linux chip-tool-ipv6only arm64 (read only) 8122444 8122444 0 0.0
(read/write) 374145 374145 0 0.0
.bss 55217 55217 0 0.0
.data 1112 1112 0 0.0
.data.rel.ro 248632 248632 0 0.0
.dynamic 560 560 0 0.0
.got 65488 65488 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 422212 422212 0 0.0
.text 6902804 6902804 0 0.0
thermostat-no-ble arm64 (read only) 2043580 2043820 240 0.0
(read/write) 145905 145905 0 0.0
.bss 65089 65089 0 0.0
.data 896 896 0 0.0
.data.rel.ro 72952 72952 0 0.0
.dynamic 560 560 0 0.0
.got 4032 4032 0 0.0
.init 24 24 0 0.0
.init_array 304 304 0 0.0
.rodata 129916 129996 80 0.1
.text 1699296 1699456 160 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2350160 2350160 0 0.0
.bss 189220 189220 0 0.0
.data 5328 5328 0 0.0
.text 1312736 1312736 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334424 2334424 0 0.0
.bss 180760 180760 0 0.0
.data 5576 5576 0 0.0
.text 1297024 1297024 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304768 2304832 64 0.0
.bss 179768 179768 0 0.0
.data 5552 5552 0 0.0
.text 1267368 1267432 64 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) 2054256 2054256 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016856 1016856 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943347 943395 48 0.0
bss 119628 119628 0 0.0
rodata 108760 108760 0 0.0
text 637368 637416 48 0.0
nrf52840dk_nrf52840+rpc (read/write) 928831 928879 48 0.0
bss 116672 116672 0 0.0
rodata 101212 101212 0 0.0
text 632764 632812 48 0.0
nrf52840dongle_nrf52840 (read/write) 994027 994075 48 0.0
bss 122472 122472 0 0.0
rodata 113516 113516 0 0.0
text 669568 669616 48 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853174 853222 48 0.0
bss 116416 116416 0 0.0
rodata 101936 101936 0 0.0
text 554292 554340 48 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912707 912755 48 0.0
bss 118784 118784 0 0.0
rodata 103728 103728 0 0.0
text 612816 612864 48 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822778 822826 48 0.0
bss 115600 115600 0 0.0
rodata 96956 96956 0 0.0
text 529776 529824 48 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) 915559 915607 48 0.0
bss 118548 118548 0 0.0
rodata 104092 104092 0 0.0
text 615468 615516 48 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910643 910691 48 0.0
bss 118572 118572 0 0.0
rodata 103200 103200 0 0.0
text 611392 611440 48 0.0
shell nrf52840dk_nrf52840 (read/write) 798479 798479 0 0.0
bss 109776 109776 0 0.0
rodata 78324 78324 0 0.0
text 533872 533880 8 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711278 711294 16 0.0
bss 107664 107664 0 0.0
rodata 72624 72624 0 0.0
text 451548 451556 8 0.0
p6 all-clusters-app default (read/write) 2405536 2405584 48 0.0
.bss 117556 117556 0 0.0
.data 2608 2608 0 0.0
.text 1363800 1363848 48 0.0
light-app default (read/write) 2329976 2330040 64 0.0
.bss 106128 106128 0 0.0
.data 2400 2400 0 0.0
.text 1288240 1288304 64 0.0
lock-app default (read/write) 2299000 2299064 64 0.0
.bss 104976 104976 0 0.0
.data 2352 2352 0 0.0
.text 1257264 1257328 64 0.0
qpg lighting-app qpg6105+debug (read only) 565064 565128 64 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89960 0 0.0
.data 1056 1056 0 0.0
.text 559744 559808 64 0.0
lock-app qpg6105+debug (read only) 515476 515524 48 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88584 0 0.0
.data 980 980 0 0.0
.text 510156 510204 48 0.0
persistent-storage-app qpg6105+debug (read only) 106848 106848 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38512 38512 0 0.0
.data 288 288 0 0.0
.text 101528 101528 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 840698 840754 56 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587724 587774 50 0.0

This makes it easier to also have it be the accessing fabric after the
change.
@github-actions
Copy link

github-actions bot commented Jan 19, 2022

PR #13712: Size comparison from fba51b9 to a89403e

Increases (15 builds for efr32, nrfconnect, p6, telink)
platform target config section fba51b9 a89403e change % change
efr32 lighting-app BRD4161A (read only) 834836 834884 48 0.0
.text 834828 834876 48 0.0
BRD4161A+rpc (read only) 822224 822288 64 0.0
.text 822216 822280 64 0.0
window-app BRD4161A (read only) 805408 805456 48 0.0
.text 805400 805448 48 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943347 943379 32 0.0
text 637368 637404 36 0.0
nrf52840dk_nrf52840+rpc (read/write) 928831 928863 32 0.0
text 632764 632800 36 0.0
nrf52840dongle_nrf52840 (read/write) 994027 994059 32 0.0
text 669568 669604 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853174 853206 32 0.0
text 554292 554328 36 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912707 912739 32 0.0
text 612816 612852 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822778 822810 32 0.0
text 529776 529812 36 0.0
pump-app nrf52840dk_nrf52840 (read/write) 915559 915591 32 0.0
text 615468 615504 36 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910643 910675 32 0.0
text 611392 611428 36 0.0
p6 all-clusters-app default (read/write) 2405536 2405584 48 0.0
.text 1363800 1363848 48 0.0
light-app default (read/write) 2329976 2330040 64 0.0
.text 1288240 1288304 64 0.0
lock-app default (read/write) 2299000 2299048 48 0.0
.text 1257264 1257312 48 0.0
telink lighting-app tlsr9518adk80d (read/write) 840698 840738 40 0.0
text 587724 587762 38 0.0
Full report (18 builds for efr32, nrfconnect, p6, telink)
platform target config section fba51b9 a89403e change % change
efr32 lighting-app BRD4161A (read only) 834836 834884 48 0.0
(read/write) 127636 127636 0 0.0
.bss 125744 125744 0 0.0
.data 1892 1892 0 0.0
.text 834828 834876 48 0.0
BRD4161A+rpc (read only) 822224 822288 64 0.0
(read/write) 144296 144296 0 0.0
.bss 142304 142304 0 0.0
.data 1992 1992 0 0.0
.text 822216 822280 64 0.0
window-app BRD4161A (read only) 805408 805456 48 0.0
(read/write) 126328 126328 0 0.0
.bss 124480 124480 0 0.0
.data 1844 1844 0 0.0
.text 805400 805448 48 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943347 943379 32 0.0
bss 119628 119628 0 0.0
rodata 108760 108760 0 0.0
text 637368 637404 36 0.0
nrf52840dk_nrf52840+rpc (read/write) 928831 928863 32 0.0
bss 116672 116672 0 0.0
rodata 101212 101212 0 0.0
text 632764 632800 36 0.0
nrf52840dongle_nrf52840 (read/write) 994027 994059 32 0.0
bss 122472 122472 0 0.0
rodata 113516 113516 0 0.0
text 669568 669604 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853174 853206 32 0.0
bss 116416 116416 0 0.0
rodata 101936 101936 0 0.0
text 554292 554328 36 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912707 912739 32 0.0
bss 118784 118784 0 0.0
rodata 103728 103728 0 0.0
text 612816 612852 36 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822778 822810 32 0.0
bss 115600 115600 0 0.0
rodata 96956 96956 0 0.0
text 529776 529812 36 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) 915559 915591 32 0.0
bss 118548 118548 0 0.0
rodata 104092 104092 0 0.0
text 615468 615504 36 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910643 910675 32 0.0
bss 118572 118572 0 0.0
rodata 103200 103200 0 0.0
text 611392 611428 36 0.0
shell nrf52840dk_nrf52840 (read/write) 798479 798479 0 0.0
bss 109776 109776 0 0.0
rodata 78324 78324 0 0.0
text 533872 533872 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711278 711278 0 0.0
bss 107664 107664 0 0.0
rodata 72624 72624 0 0.0
text 451548 451548 0 0.0
p6 all-clusters-app default (read/write) 2405536 2405584 48 0.0
.bss 117556 117556 0 0.0
.data 2608 2608 0 0.0
.text 1363800 1363848 48 0.0
light-app default (read/write) 2329976 2330040 64 0.0
.bss 106128 106128 0 0.0
.data 2400 2400 0 0.0
.text 1288240 1288304 64 0.0
lock-app default (read/write) 2299000 2299048 48 0.0
.bss 104976 104976 0 0.0
.data 2352 2352 0 0.0
.text 1257264 1257312 48 0.0
telink lighting-app tlsr9518adk80d (read/write) 840698 840738 40 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587724 587762 38 0.0

@mlepage-google mlepage-google changed the title Place PASESession on new fabric Place PASESession on newly created fabric Jan 19, 2022
@mlepage-google mlepage-google changed the title Place PASESession on newly created fabric Migrate PASE session to newly created fabric Jan 19, 2022
@andy31415 andy31415 merged commit f765050 into project-chip:master Jan 20, 2022
selissia pushed a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
* Place PASESession on new fabric

PASE sessions start with no fabric, but during commissioning,
after OperationalCredentialsCluster::AddNOC, they should be
placed on the newly commissioned fabric so administrative
actions pertaining to the newly commissioned fabric can be
performed over the PASE session, if desired.

Work towards issue project-chip#10242

* Change SecureSession::NewFabric to alter mFabric

This makes it easier to also have it be the accessing fabric after the
change.
@mlepage-google mlepage-google deleted the pase-session-new-fabric branch February 15, 2022 15:06
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.

7 participants