Previously the connectivity cellular stub library depended on
`mbed-headers`, which is a collection of all available headers
in mbed-os. To make it easier to separate the library, only depend
on the headers we're using.
- Previously all cellular header made as a part of the
mbed-headers-connectivity library. To make it easier to separate all
the cellular headers into the separate mbed-headers-cellular library
and keep them as part of cellular stub CMake. This makes the cellular
stubs more self-contained and improves the composition of the library.
- Update all unit test that depends on cellular headers with mbed-headers-cellular library
Move the connectivity cellular into the connectivity/cellular component
directory. So we can avoid duplicating the mbed-os source tree in a
central UNITTESTS folder.
Assumption that greentea test file is always named main.cpp is
incorrect. Updated mbed_greentea_add_test() macro to make TEST_SOURCES
parameter compulsory, which is used to specify greentea test
file(s). This allows tests to use C, or have a different name.
Therefore also updated all pre-existing greentea test CMake files to
explicity add main.cpp to TEST_SOURCES.
mbed-stubs-connectivity now depends on the mbed-stubs-rtos and
mbed-stubs-rtos-headers because it requires some headers and sources
which were moved to mbed-stubs-rtos and mbed-stubs-rtos-headers.
Some of the lines in `platform_mbed.h` only have `FEATURE_PSA`
checked, which is always set for Mbed OS PSA targets but the PSA
APIs are not actually available unless `FEATURE_EXPERIMENTAL_API`
is also enabled. To fix this and improve readability, group all
PSA-related lines and check both macros.
4a3c5c525b Merge remote-tracking branch 'origin/release_internal' into release_external
2b8d2e1356 Do not reset radio when MAC data request timeouts (#2647)
95c506a276 Frame counters for nw keys are now stored to NVM only after send key is set (#2641)
3b3010a79b Adjusted stagger random to [min,min+max] and for small nw set the stagger value to 10 seconds
02bc33a242 Adjusted security protocol (EAP-TLS,4WH,2WH) retry timers
eb26726020 High Priority timestamp compare overflow support fix.
928723a33e FHSS WS: Initialize broadcast channel count when enabling FHSS (#2642)
6040d703c8 Updated change log
667b191223 Changed initial EAPOL-key retries from trickle to exponential backup
d925145d33 Add RTT calculation for DHCP Time calculation
0b82953567 Traceroute bug fix.
04de6e26d8 Merge pull request #2638 from PelionIoT/mbed_os_fix_ufsi_calculation
20123477c6 Fixed FHSS UFSI calculation unit tests
436f16e84f Handle timer rollover in calculate_ufsi
411cf5c7a4 coding style
d6f44218d6 Correct ufsi timing calculation
560619d85d Add network time vendor data element to DHCPv6 reply message
6d290dc3c1 System time read/write callbacks (#2637)
7905df666d Restart or remove transmission when MAC data request timeouts (#2636)
c97695cfc6 Bug fix: EAPOL parent compare fix
e283e6285c Fixed channel mask usage with OFDM configurations (#2633)
24168f891b Do not send too old packets (#2632)
dbd83be16d Fix copyrights (#2631)
7f0cffdbf7 Merge pull request #2630 from PelionIoT/use_pelion_copyright
511bd5a3ad Corrected coding style
57ec0281a8 Corrected comparison
7d853de862 When EAPOL waiting queue is full oldest entry is removed
acf580fbd0 Update copyright in changed MDNS files
933c0bbf0a Update copyright
3aeb2af77c Statistics for data request latencies (#2629)
3f7eae64ef EAPOL FHSS temp entry discover
5200b666e7 DHCP time elapsed time write fix.
0536874f64 Removed empty EAPOL-key message send after 4WH completion to nodes on relay
8a2a683aef Fixed DHCP wrong time elapsed value write.
283f2ee685 DHCPv6 update:
99be7783ec EAPOL temp neighbour update
4f9e3d12ab Adaptation layer to remove oldest packet first
20f1f6492f Added ignoring of retry messages from RADIUS server when waiting EAP-TLS
8a8b407c47 Add RSL check for ETX Calculation for RPL parent selection
c05e1da757 Fix DHCP server Uninitialized memory read
77229eefa6 Fix CPP error from domain prefix check
7e47889111 support filtering of EAPOL parents based device-min-sens configuration
618a19192c Wi-SUN Expedite forward state update
4371462d66 Fix NULL read from RPL header addition
7802c7ee97 Update CHANGELOG.md
b2c810402c CHANGELOG for Nanostack v13.0.0 (#2615)
git-subtree-dir: connectivity/nanostack/sal-stack-nanostack
git-subtree-split: 4a3c5c525b2a62c19ecfb0ac64d09bd2a7f56ceb
The default get_ip_address implementation was not working for
BG9x. Furthermore the cellular connect routine tries to get the
address multiple times, which added around 2 seconds of
unnecessary delay to the connection. This commit adds the correct
implementation using the AT+QIACT? command.
We potentially save flash space by not enabling Mbed TLS self-tests
by default. A new test config file, TESTS/configs/mbedtls.json, is
provided to enable self tests. This newly created JSON file also
enables timing in Mbed TLS so timing gets tested.
This allows us to verify the support for Mbed TLS timing on Mbed OS.
Note: The macros MBEDTLS_TIMING_C and MBEDTLS_TIMING_ALT are not
enabled by default and need to be additionally enabled to run this
test.
Do not compile the Mbed implementation of Mbed TLS unless
MBEDTLS_TIMING_ALT is defined. This prevents a macro check error on
devices that do not have LPTICKER or USTICKER when Mbed TLS timing
is not enabled.
When MBEDTLS_TIMING_C and MBEDTLS_TIMING_ALT are enabled,
the Arm Compiler generates errors like the following (one for
each missing symbol):
Error: L6218E: Undefined symbol mbedtls_timing_get_delay
Reason:
The function `mbedtls_timing_self_test()` in the Mbed TLS default
`timing.c` always gets compiled, if MBEDTLS_SELF_TEST is defined.
And MBEDTLS_SELF_TEST is always defined, as we have a Greentea test
to run some of the Mbed TLS self tests. (In the future we should try
not to enable MBEDTLS_SELF_TEST except for tests, but it requires
a rework in our test flow.)
`mbedtls_timing_self_test()` tests (calls) the full API declared in
`timing.h`, and the ARM Compiler requires all symbols referenced by
all functions to be defined, even those not used by the final
application. This is unlike GCC_ARM which resolves what are required.
Solution:
To fix the "undefined symbol" errors, we add an implementation of
`mbedtls_timing_get_timer()` based on Mbed OS `LowPowerTimer` or
`Timer` (depending on which one is available), and copy Mbed TLS's
default `mbedtls_timing_set_delay()` and `mbedtls_timing_get_delay()`
which are built on top of `mbedtls_timing_get_timer()`. This will also
benefit user applications that need to enable timing in Mbed TLS.
Previously we used `gettimeofday()` for Mbed TLS timing, but its
implementation provided by Mbed OS is only precise to seconds. The
microsecond component of the output `struct timeval` is always set
to zero. But Mbed TLS requires millisecond precision.
To provide required timing precision, switch to use `LowPowerTicker`
or (microsecond) `Ticker`. `LowPowerTicker` is preferred as it saves
power and Mbed TLS does not require microsecond precision.
Adding mbed-os subdirectories that are not required for a specific project to .mbedignore is a good way to reduce compilation time. Sometimes it happens that tests depend on ignored files, which causes the test-build to fail even though the corresponding feature/component
is not configured. The reason is that the conditional that skips the test is placed after the includes.
Block-Wise request (block1) error handling improvements:
* Removed SN_COAP_BLOCKWISE_MAX_TIME_DATA_STORED usage. Block-Wise requests will now follow normal retranmission rules.
* Process block1 responses only once. If response is coming in wrong order just ignore it wait next response to happen.