Skip to content

Nanostack release v14.0.0 #14816

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

Merged
merged 22 commits into from
Jul 1, 2021

Conversation

artokin
Copy link
Contributor

@artokin artokin commented Jun 23, 2021

Summary of changes

This PR provides the following updates to the Wi-SUN software stack (nanostack):

Features

  • Filter RPL parents based on DEVICE_MIN_SENS configuration with Threshold and Hysteresis.
  • Filter EAPOL parents based on DEVICE_MIN_SENS configuration with Threshold and Hysteresis to prevent EAPOL failures caused by bad signal levels
  • Adaptation layer removes oldest packets first when stack needs to release memory or reduce traffic
  • Use QoS specific timeout to drop old packets from TX queue to prioritize limited bandwidth.
  • Added network time synchronisation support. Network node can update device current time if accurate time was received from the network.

Changes

  • Statistics for MAC data request latencies. Separated to adaptation layer and MAC queueing delays.
  • Changed initial EAPOL-key retries from trickle to exponential backup.
  • Adjusted stagger random from [min,max] to [min,min+max] and for small networks set the stagger value to 10 seconds.
  • Frame counter values for network keys are now stored to NVM only after network key for sending is set.

Bug fixes

  • Added ignoring of retry messages from RADIUS server when waiting EAP-TLS
  • Removed empty EAPOL-key message send after 4WH completion to nodes on relay
  • EAPOL parent candidate compare fix for better TX failure count
  • Fixed channel mask usage with OFDM configurations
  • Fixed recursive tunnel build problem when sending packets with hop count 1 from Border router to multi hop destination

Additional:

  • ARM copyright text changed to Pelion copyright text
  • atmel-rf-driver updated to v3.3.6
  • stm-s2lp-rf-driver updated to v1.0.9
  • mcr20a-rf-driver updated to 1.0.10

This PR is a copy of #14812.

Impact of changes

Migration actions required

Documentation


Pull request type

[x] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[x] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

Reviewers

@JarkkoPaso , @juhhei01 , @mikaleppanen , @mikter , @teetak01 , @TuomoHautamaki


Arto Kinnunen added 12 commits June 23, 2021 10:04
… from commit 61de9be6dc

git-subtree-dir: connectivity/drivers/802.15.4_RF/mcr20a-rf-driver
git-subtree-split: 61de9be6dcdb22c39f8bf68d5b768b8132a9dea4
Original master repository does not have CMakeLists.txt, put it back
as 'git subtree add' does not have it.
…nt from commit f491d77de8

git-subtree-dir: connectivity/drivers/802.15.4_RF/stm-s2lp-rf-driver
git-subtree-split: f491d77de847cd5358d53b5b4d975cb0d68d11f3
…ity/drivers/802.15.4_RF/stm-s2lp-rf-driver'
Restore CMakeLists.txt to stm-s2lp-rf-driver as it is not available
in the source repository.
…from b1a8186d75..834c5357c6

834c5357c6 Update copyright (ARMmbed#107)
49bc608cea Merge pull request ARMmbed#106 from PelionIoT/IOTTHD-4607
19fed95972 Use CCA fail RX event when RX ongoing

git-subtree-dir: connectivity/drivers/802.15.4_RF/atmel-rf-driver
git-subtree-split: 834c5357c6c4c19da8da521707a4958957871341
…k_rel_14_0_0_master

* commit 'e8bf06aa4c8cd0b9133361c82669a83e53bc61a5':
  Squashed 'connectivity/drivers/802.15.4_RF/atmel-rf-driver/' changes from b1a8186d75..834c5357c6
…260d80f42d..c343e4e2cc

c343e4e2cc Merge pull request ARMmbed#99 from PelionIoT/remove_ns_trace
70c411b0f8 Remove ns_trace.h
60e99d2c02 Update copyright (ARMmbed#100)

git-subtree-dir: connectivity/libraries/nanostack-libservice
git-subtree-split: c343e4e2ccb1517881ac85140974f3eb8cd85d46
…k_rel_14_0_0_master

* commit '16ad9f6f25a4bac7613e5a9acd1465d3650caab5':
  Squashed 'connectivity/libraries/nanostack-libservice/' changes from 260d80f42d..c343e4e2cc
@ciarmcom ciarmcom added the release-type: patch Indentifies a PR as containing just a patch label Jun 23, 2021
@ciarmcom ciarmcom requested review from JarkkoPaso, juhhei01, mikaleppanen, mikter and a team June 23, 2021 10:30
@ciarmcom
Copy link
Member

@artokin, thank you for your changes.
@mikaleppanen @JarkkoPaso @mikter @juhhei01 @ARMmbed/mbed-os-maintainers please review.

@0xc0170
Copy link
Contributor

0xc0170 commented Jun 25, 2021

@artokin Please review travis unittests failures

TeroJaasko and others added 5 commits June 28, 2021 09:38
If one called mbed_trace_free() but continued using the trace (which
is a supported use case), the already freed tmp_data buffer was used
by tr_array().

This was spotted by Valgrind on some unit tests which do enable the
trace only temporarily for some of the tests.

Error being fixed in this PR:
--8<--8<--8<---
==5865== Invalid write of size 1
==5865==    at 0x2639BB: mbed_trace_array (mbed_trace.c:569)
<...>
==5865==  Address 0x5dc79d0 is 0 bytes inside a block of size 128 free'd
==5865==    at 0x4C32D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5865==    by 0x262723: mbed_trace_free (mbed_trace.c:192)
<...>
==5865==  Block was alloc'd at
==5865==    at 0x4C31B0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5865==    by 0x262548: mbed_trace_init (mbed_trace.c:162)
<...>
Arto Kinnunen and others added 4 commits June 28, 2021 09:38
-Change company name from Arm Limited to Pelion
-Update years
…be0173

bbe0173 (via Mbed OS) mbedtls_stub: Add missing include (ARMmbed#134)
c021690 Update copyright to Makefiles and scripts (ARMmbed#133)
5fb7a6c Update copyright (ARMmbed#132)

git-subtree-dir: connectivity/nanostack/coap-service
git-subtree-split: bbe0173
…903b81..4a3c5c5

4a3c5c5 Merge remote-tracking branch 'origin/release_internal' into release_external
2b8d2e1 Do not reset radio when MAC data request timeouts (ARMmbed#2647)
95c506a Frame counters for nw keys are now stored to NVM only after send key is set (ARMmbed#2641)
3b3010a Adjusted stagger random to [min,min+max] and for small nw set the stagger value to 10 seconds
02bc33a Adjusted security protocol (EAP-TLS,4WH,2WH) retry timers
eb26726 High Priority timestamp compare overflow support fix.
928723a FHSS WS: Initialize broadcast channel count when enabling FHSS (ARMmbed#2642)
6040d70 Updated change log
667b191 Changed initial EAPOL-key retries from trickle to exponential backup
d925145 Add RTT calculation for DHCP Time calculation
0b82953 Traceroute bug fix.
04de6e2 Merge pull request ARMmbed#2638 from PelionIoT/mbed_os_fix_ufsi_calculation
2012347 Fixed FHSS UFSI calculation unit tests
436f16e Handle timer rollover in calculate_ufsi
411cf5c coding style
d6f4421 Correct ufsi timing calculation
560619d Add network time vendor data element to DHCPv6 reply message
6d290dc System time read/write callbacks (ARMmbed#2637)
7905df6 Restart or remove transmission when MAC data request timeouts (ARMmbed#2636)
c97695c Bug fix: EAPOL parent compare fix
e283e62 Fixed channel mask usage with OFDM configurations (ARMmbed#2633)
24168f8 Do not send too old packets (ARMmbed#2632)
dbd83be Fix copyrights (ARMmbed#2631)
7f0cffd Merge pull request ARMmbed#2630 from PelionIoT/use_pelion_copyright
511bd5a Corrected coding style
57ec028 Corrected comparison
7d853de When EAPOL waiting queue is full oldest entry is removed
acf580f Update copyright in changed MDNS files
933c0bb Update copyright
3aeb2af Statistics for data request latencies (ARMmbed#2629)
3f7eae6 EAPOL FHSS temp entry discover
5200b66 DHCP time elapsed time write fix.
0536874 Removed empty EAPOL-key message send after 4WH completion to nodes on relay
8a2a683 Fixed DHCP wrong time elapsed value write.
283f2ee DHCPv6 update:
99be778 EAPOL temp neighbour update
4f9e3d1 Adaptation layer to remove oldest packet first
20f1f64 Added ignoring of retry messages from RADIUS server when waiting EAP-TLS
8a8b407 Add RSL check for ETX Calculation for RPL parent selection
c05e1da Fix DHCP server Uninitialized memory read
77229ee Fix CPP error from domain prefix check
7e47889 support filtering of EAPOL parents based device-min-sens configuration
618a191 Wi-SUN Expedite forward state update
4371462 Fix NULL read from RPL header addition
7802c7e Update CHANGELOG.md
b2c8104 CHANGELOG for Nanostack v13.0.0 (ARMmbed#2615)

git-subtree-dir: connectivity/nanostack/sal-stack-nanostack
git-subtree-split: 4a3c5c5
Add new files to CMakeLists.txt
@artokin artokin force-pushed the nanostack_release_14_0_0_master branch from a4365d6 to b3cced7 Compare June 28, 2021 06:43
Folder 'protocols' was missing from the file path.
@mergify mergify bot added needs: CI and removed needs: work labels Jun 30, 2021
@mbed-ci
Copy link

mbed-ci commented Jun 30, 2021

Jenkins CI Test : ✔️ SUCCESS

Build Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & Artifacts

CLICK for Detailed Summary

jobs Status
jenkins-ci/mbed-os-ci_build-cloud-example-ARM ✔️
jenkins-ci/mbed-os-ci_cmake-cloud-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_cmake-cloud-example-ARM ✔️
jenkins-ci/mbed-os-ci_unittests ✔️
jenkins-ci/mbed-os-ci_build-greentea-ARM ✔️
jenkins-ci/mbed-os-ci_build-greentea-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-example-ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_greentea-test ✔️

@0xc0170 0xc0170 merged commit aa0aa3d into ARMmbed:master Jul 1, 2021
@mergify mergify bot removed the ready for merge label Jul 1, 2021
@mbedmain mbedmain added release-version: 6.13.0 Release-pending and removed release-type: patch Indentifies a PR as containing just a patch Release-pending labels Jul 14, 2021
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