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

[OTA-R] TC-SU-2.3 OTA-R unable to start new CASE session with OTA-P #18642

Merged
merged 1 commit into from
May 20, 2022

Conversation

isiu-apple
Copy link
Contributor

@isiu-apple isiu-apple commented May 19, 2022

Problem

If OTA-P is restarted, OTA-R should time out its session and use a new session for subsequent requests. OTA-R was still attempting to use the same session ID after timing out with OTA-P (due to OTA-P killed) and therefore subsequent requests to OTA-P when OTA-P is restarted fails.

Fixes: #18484

Change overview

Add OperationalDeviceProxy::Disconnect() call in DefaultOTARequestor::DisconnectFromProvider() to evict the session that we have conclusive evidence for indicating a lack of response from the peer.

Testing

  1. OTA-R makes a request to OTA-P (successful)
  2. Kill OTA provider
  3. OTA-R makes a request to OTA-P (unsuccessful)
  4. OTA-R eventually times out and prints in the log: [SWU]CASE session may be invalid, tear down session.
  5. Restart OTA provider
  6. OTA-R makes a request to OTA-P (successful)

…:DisconnectFromProvider() to evict the session that we have conclusive evidence for indicating a lack of response from the peer.
@github-actions
Copy link

github-actions bot commented May 19, 2022

PR #18642: Size comparison from e04564c to 1f0b8c6

Increases (12 builds for cc13x2_26x2, cyw30739, efr32, linux, nrfconnect)
platform target config section e04564c 1f0b8c6 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 677215 677231 16 0.0
.text 581900 581916 16 0.0
lock-mtd LP_CC2652R7 (read only) 626039 626055 16 0.0
.text 530828 530844 16 0.0
pump-app LP_CC2652R7 (read only) 659443 659475 32 0.0
.text 579616 579648 32 0.0
pump-controller-app LP_CC2652R7 (read only) 653947 653963 16 0.0
.text 570008 570024 16 0.0
cyw30739 ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 570986 571010 24 0.0
.app_xip_area 466340 466364 24 0.0
efr32 lighting-app BRD4161A (read only) 917676 917708 32 0.0
.text 917668 917700 32 0.0
BRD4161A+rpc (read only) 951848 951880 32 0.0
.text 951840 951872 32 0.0
BRD4161A+rs911x (read only) 791204 791220 16 0.0
.text 791196 791212 16 0.0
lock-app BRD4161A+wf200 (read only) 947200 947216 16 0.0
.text 947192 947208 16 0.0
window-app BRD4161A (read only) 897788 897820 32 0.0
.text 897780 897812 32 0.0
linux ota-requestor-app debug (read only) 2092393 2092457 64 0.0
.text 1757154 1757218 64 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180803 1180819 16 0.0
text 810768 810792 24 0.0
Decreases (3 builds for cc13x2_26x2)
platform target config section e04564c 1f0b8c6 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read/write) 165440 165424 -16 -0.0
pump-app LP_CC2652R7 (read/write) 184492 184460 -32 -0.0
pump-controller-app LP_CC2652R7 (read/write) 189796 189780 -16 -0.0
Full report (37 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section e04564c 1f0b8c6 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 667211 667211 0 0.0
(read/write) 183468 183468 0 0.0
.bss 73660 73660 0 0.0
.data 3404 3404 0 0.0
.rodata 100051 100051 0 0.0
.text 566932 566932 0 0.0
lock-ftd LP_CC2652R7 (read only) 677215 677231 16 0.0
(read/write) 165440 165424 -16 -0.0
.bss 72692 72692 0 0.0
.data 3236 3236 0 0.0
.rodata 94831 94831 0 0.0
.text 581900 581916 16 0.0
lock-mtd LP_CC2652R7 (read only) 626039 626055 16 0.0
(read/write) 145524 145524 0 0.0
.bss 68428 68428 0 0.0
.data 3236 3236 0 0.0
.rodata 94719 94719 0 0.0
.text 530828 530844 16 0.0
pump-app LP_CC2652R7 (read only) 659443 659475 32 0.0
(read/write) 184492 184460 -32 -0.0
.bss 72948 72948 0 0.0
.data 3268 3268 0 0.0
.rodata 79347 79347 0 0.0
.text 579616 579648 32 0.0
pump-controller-app LP_CC2652R7 (read only) 653947 653963 16 0.0
(read/write) 189796 189780 -16 -0.0
.bss 73012 73012 0 0.0
.data 3232 3232 0 0.0
.rodata 83459 83459 0 0.0
.text 570008 570024 16 0.0
shell LP_CC2652R7 (read only) 660278 660278 0 0.0
(read/write) 185960 185960 0 0.0
.bss 76020 76020 0 0.0
.data 3408 3408 0 0.0
.rodata 97006 97006 0 0.0
.text 563048 563048 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 625230 625230 0 0.0
.app_xip_area 528844 528844 0 0.0
.bss 79028 79028 0 0.0
.data 708 708 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 628034 628034 0 0.0
.app_xip_area 533104 533104 0 0.0
.bss 77604 77604 0 0.0
.data 672 672 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 570986 571010 24 0.0
.app_xip_area 466340 466364 24 0.0
.bss 87024 87024 0 0.0
.data 584 584 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 917676 917708 32 0.0
(read/write) 133244 133244 0 0.0
.bss 131184 131184 0 0.0
.data 2060 2060 0 0.0
.text 917668 917700 32 0.0
BRD4161A+rpc (read only) 951848 951880 32 0.0
(read/write) 149928 149928 0 0.0
.bss 147664 147664 0 0.0
.data 2264 2264 0 0.0
.text 951840 951872 32 0.0
BRD4161A+rs911x (read only) 791204 791220 16 0.0
(read/write) 129512 129512 0 0.0
.bss 127444 127444 0 0.0
.data 2068 2068 0 0.0
.text 791196 791212 16 0.0
lock-app BRD4161A+wf200 (read only) 947200 947216 16 0.0
(read/write) 123996 123996 0 0.0
.bss 121972 121972 0 0.0
.data 2024 2024 0 0.0
.text 947192 947208 16 0.0
window-app BRD4161A (read only) 897788 897820 32 0.0
(read/write) 133304 133304 0 0.0
.bss 131256 131256 0 0.0
.data 2048 2048 0 0.0
.text 897780 897812 32 0.0
esp32 all-clusters-app c3devkit (read only) 1000948 1000948 0 0.0
(read/write) 1477874 1477874 0 0.0
.dram0.bss 68216 68216 0 0.0
.dram0.data 14624 14624 0 0.0
.flash.rodata 209600 209600 0 0.0
.flash.text 1000948 1000948 0 0.0
.iram0.text 62954 62954 0 0.0
m5stack (read only) 1056219 1056219 0 0.0
(read/write) 479868 479868 0 0.0
.dram0.bss 73736 73736 0 0.0
.dram0.data 34200 34200 0 0.0
.flash.rodata 239936 239936 0 0.0
.flash.text 1050835 1050835 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 682716 682716 0 0.0
.bss 80224 80224 0 0.0
.data 2016 2016 0 0.0
.text 598772 598772 0 0.0
lock k32w061+release (read/write) 729260 729260 0 0.0
.bss 80656 80656 0 0.0
.data 1976 1976 0 0.0
.text 644924 644924 0 0.0
linux all-clusters-app debug (read only) 2751129 2751129 0 0.0
(read/write) 175936 175936 0 0.0
.bss 85088 85088 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 82616 82616 0 0.0
.dynamic 608 608 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 1016 1016 0 0.0
.rodata 240733 240733 0 0.0
.text 2336130 2336130 0 0.0
bridge-app debug+rpc (read only) 2033553 2033553 0 0.0
(read/write) 147736 147736 0 0.0
.bss 72864 72864 0 0.0
.data 3936 3936 0 0.0
.data.rel.ro 65352 65352 0 0.0
.dynamic 592 592 0 0.0
.got 4272 4272 0 0.0
.init 27 27 0 0.0
.init_array 688 688 0 0.0
.rodata 169065 169065 0 0.0
.text 1707490 1707490 0 0.0
chip-tool debug (read only) 9367125 9367125 0 0.0
(read/write) 579128 579128 0 0.0
.bss 23936 23936 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 547752 547752 0 0.0
.dynamic 624 624 0 0.0
.got 5000 5000 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 481085 481085 0 0.0
.text 7559253 7559253 0 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9148964 9148964 0 0.0
(read/write) 645249 645249 0 0.0
.bss 42225 42225 0 0.0
.data 1192 1192 0 0.0
.data.rel.ro 583000 583000 0 0.0
.dynamic 560 560 0 0.0
.got 14984 14984 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 445940 445940 0 0.0
.text 7241172 7241172 0 0.0
lighting-app debug+rpc (read only) 2328033 2328033 0 0.0
(read/write) 153152 153152 0 0.0
.bss 74656 74656 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 70696 70696 0 0.0
.dynamic 608 608 0 0.0
.got 4344 4344 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 188073 188073 0 0.0
.text 1973730 1973730 0 0.0
lock-app debug (read only) 2241481 2241481 0 0.0
(read/write) 147864 147864 0 0.0
.bss 73344 73344 0 0.0
.data 1568 1568 0 0.0
.data.rel.ro 67256 67256 0 0.0
.dynamic 592 592 0 0.0
.got 4336 4336 0 0.0
.init 27 27 0 0.0
.init_array 752 752 0 0.0
.rodata 198681 198681 0 0.0
.text 1882962 1882962 0 0.0
ota-provider-app debug (read only) 2063441 2063441 0 0.0
(read/write) 140944 140944 0 0.0
.bss 72800 72800 0 0.0
.data 1768 1768 0 0.0
.data.rel.ro 60568 60568 0 0.0
.dynamic 608 608 0 0.0
.got 4504 4504 0 0.0
.init 27 27 0 0.0
.init_array 648 648 0 0.0
.rodata 179264 179264 0 0.0
.text 1725730 1725730 0 0.0
ota-requestor-app debug (read only) 2092393 2092457 64 0.0
(read/write) 143752 143752 0 0.0
.bss 73472 73472 0 0.0
.data 1992 1992 0 0.0
.data.rel.ro 62632 62632 0 0.0
.dynamic 592 592 0 0.0
.got 4344 4344 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 175328 175328 0 0.0
.text 1757154 1757218 64 0.0
shell debug (read only) 2566889 2566889 0 0.0
(read/write) 199800 199800 0 0.0
.bss 115784 115784 0 0.0
.data 1376 1376 0 0.0
.data.rel.ro 76880 76880 0 0.0
.dynamic 608 608 0 0.0
.got 4192 4192 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 221714 221714 0 0.0
.text 2184290 2184290 0 0.0
thermostat-no-ble arm64 (read only) 2354092 2354092 0 0.0
(read/write) 176305 176305 0 0.0
.bss 87617 87617 0 0.0
.data 1520 1520 0 0.0
.data.rel.ro 79360 79360 0 0.0
.dynamic 560 560 0 0.0
.got 4768 4768 0 0.0
.init 24 24 0 0.0
.init_array 376 376 0 0.0
.rodata 147324 147324 0 0.0
.text 1977904 1977904 0 0.0
tv-app debug (read only) 2854409 2854409 0 0.0
(read/write) 278784 278784 0 0.0
.bss 190776 190776 0 0.0
.data 4672 4672 0 0.0
.data.rel.ro 77064 77064 0 0.0
.dynamic 592 592 0 0.0
.got 4720 4720 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 221105 221105 0 0.0
.text 2451250 2451250 0 0.0
tv-casting-app debug (read only) 5416473 5416473 0 0.0
(read/write) 225024 225024 0 0.0
.bss 78360 78360 0 0.0
.data 2368 2368 0 0.0
.data.rel.ro 138064 138064 0 0.0
.dynamic 608 608 0 0.0
.got 4728 4728 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 339649 339649 0 0.0
.text 4717474 4717474 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2420448 2420448 0 0.0
.bss 202668 202668 0 0.0
.data 5872 5872 0 0.0
.text 1383092 1383092 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180803 1180819 16 0.0
bss 138388 138388 0 0.0
rodata 152780 152780 0 0.0
text 810768 810792 24 0.0
p6 all-clusters-app default (read/write) 2538776 2538776 0 0.0
.bss 136184 136184 0 0.0
.data 2808 2808 0 0.0
.text 1497040 1497040 0 0.0
light-app default (read/write) 2425240 2425240 0 0.0
.bss 129488 129488 0 0.0
.data 2608 2608 0 0.0
.text 1383504 1383504 0 0.0
lock-app default (read/write) 2435928 2435928 0 0.0
.bss 129304 129304 0 0.0
.data 2568 2568 0 0.0
.text 1394192 1394192 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 782596 782596 0 0.0
bss 70616 70616 0 0.0
noinit 40416 40416 0 0.0
text 553500 553500 0 0.0
lighting-app tlsr9518adk80d (read/write) 802676 802676 0 0.0
bss 70872 70872 0 0.0
noinit 40416 40416 0 0.0
text 570266 570266 0 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.

TC-SU-2.3 OTA-R unable to start new CASE session with OTA-P
3 participants