Commit Graph

38 Commits

Author SHA1 Message Date
Simon Lin c73320ff3e [mlr] add MulticastListenersTable on BBR (#5292)
This commit adds the Multicast Listener Table for BBR:

- Implements Multicast Listener Table on BBR
  - Adds registered MAs to MulticastListenerTable
  - Reject when the table is full or the multicast address is invalid
    and return failed status
  - Respond with unsuccessful status along with failed addresses
  - Expire Listeners from MulticastListenerTable per second (using
    MinHeap for better performance)
- MLR enhancement
  - Re-register only failed multicast addresses (used to register all
    registering multicast addresses)
- Reference Device only APIs
  - Some APIs are defined for reference devices and tests.
- Add tests
  - Add unit test: test_multicast_listener_table.cpp (runs for 1.2-bbr
    only)
  - Add functional tests
2020-08-21 08:40:58 -07:00
Yakun Xu d6fb9de9f3 [cmake] support setting log level (#5433) 2020-08-20 10:37:54 -07:00
Moandor e865281ddc [github-action] fix coverage uploading for expects (#5423)
This commit changes the coverage data uploading for expects job so
that it only uploads data for one build at a time, to make coverage
more stable.
2020-08-19 08:47:29 -07:00
Li Cao 7dc3b2696a [github-action] change the way to upload coverage report (#5375) 2020-08-11 21:30:47 -07:00
Rongli Sun 82e7e32bb5 [dua] dua registration and re-registration (#5276)
- registration workflow framework
- registration and reregistration
- registration and reregistration on behalf of children
- add pseudo response status for test/certification purpose
- add unit test
2020-07-30 14:10:22 -07:00
Simon Lin 00f3043a06 [mlr] send MLR.req for local multicast addresses (#5248)
This commit includes:

- Adding compile configurations necessary for MLR features
- Adding source/header files necessary for MLR features
- Send MLR.req for local MAs on ThreadNetif
  - At most one MLR.req is outstanding
  - Reregistration according to PBBR configuration
  - Renewing periods according to PBBR configuration
- BBRs receive MLR.req with minimal processing and send MLR.rsp
- Add a test to verify that MLR.req is sent for local MAs.
2020-07-22 08:38:05 -07:00
Yakun Xu bd3332810a [script] use real time when run expect tests (#5130) 2020-07-15 10:47:29 -07:00
Yakun Xu 36533b01e1 [script] fix unbound variable in macOS (#5210) 2020-07-08 10:44:44 -07:00
Moandor d164146010 [test] print debug info when expect tests fail (#5181)
This stores debug logs from expect and prints them if a test fails to
enable easier debugging.
2020-07-03 09:29:54 -07:00
Moandor 5acad30791 [test] include CLI tests in RCP mode (#5159)
This makes expect run all cli-*.exp and posix-*.exp tests in RCP mode.
New scripts should use the function spawn_node in _common.exp to spawn
new processes. This is compatible with both simulation mode and RCP
mode.
2020-06-30 08:40:46 -07:00
Yakun Xu bd078f1b30 [test] fix multiple extra options (#5158) 2020-06-29 09:04:01 -07:00
Yakun Xu 8248c3d9df [posix] use real time signal for microsecond timer (#5122) 2020-06-19 16:12:55 -07:00
Yakun Xu 82053cc9db [tests] add dns client tests (#5049) 2020-06-04 13:24:43 -07:00
Zhanglong Xia c5aff31327 [cmake] add a cmake build script to build OpenThread (#4969)
This commit adds a bash script to compile the platform that supports
cmake.

Usage examples:
    ./script/cmake-build cc1352
    ./script/cmake-build posix -DOT_MAC_FILTER=ON
2020-05-29 08:33:50 -07:00
Jonathan Hui dd0fa0d34c [shell] resolve shellcheck warnings (#4966) 2020-05-19 13:04:42 -07:00
Jonathan Hui cb9b353fb3 [scripts] apply shfmt changes (#4966) 2020-05-19 13:04:42 -07:00
Li Cao cd9558ca91 [mac-frame] add util functions to generate ack (#4884)
This commit adds mac frame util functions to generate acks (both Imm
and Enh acks) from a received frame. These funtions are utils APIs for
platforms which don't provide ack generation.

This commit also introduces compile options for CSL to control the CSL
IE related part.
2020-05-12 22:20:03 -07:00
Yakun Xu 1dd0abc591 [style] fix unused variables in release build (#4938)
* change package check build Release
2020-05-09 17:15:21 -07:00
Yakun Xu 7b0cb98445 [posix] add argument to set max power table (#4878)
This commit adds a max power table for POSIX platform, which can
customize the max allowed transmit power of each channel with the
command line argument --max-power-table.
2020-04-30 14:23:16 -07:00
Simon Lin 56cf651fb2 [test] fix script/test on macOS (#4916) 2020-04-29 23:02:58 -07:00
Rongli Sun 2e85801083 [dua] Domain Unicast Address generation (#4854)
This commit includes
[Y] add `OPENTHREAD_CONFIG_DUA_ENABLE` option for DUA feature
[Y] generate DUA via SLAAC
[Y] update test script to verify communication via DUA
2020-04-29 22:57:50 -07:00
Yakun Xu a58163c9a3 [test] allow extra options (#4891)
Example:

```bash
OT_OPTIONS="-DOT_FULL_LOGS=ON -DOT_LOG_LEVEL_DYNAMIC=OFF" ./script/test clean build
```
2020-04-27 09:37:29 -07:00
Yakun Xu 32f8274395 [cmake] enhancements for supporting cmake in ot-br-posix (#4876) 2020-04-24 16:21:06 -07:00
Li Cao e839100be1 [cmake] enable running simulation unit tests using cmake (#4842)
In this commit, we would be able to run all the simulation unit tests
easier with cmake:

./script/test clean build unit_tests
2020-04-20 20:52:38 -07:00
Yakun Xu 0cd682f048 [logging] dynamic level enhancements (#4809)
* Add cli command to get/set log level
* Add cmake option to enable dynamic log level
* Aggregate logfilename as sub-command of `log` command
* Add log level test
* Update readme
2020-04-11 22:11:38 -07:00
Rongli Sun 315a27bf08 [bbr] add backbone router service (#4430)
- Introduce BACKBONE_ROUTER option for Backbone Router function.
- Implement Backbone Router service registration.
  - Add basic Backbone Router service.
  - Primary Backbone Router restores its Dataset when reattached after
    short reset, increases sequence number and re-register to Leader.
  - Add configurable jitter for Backbone Router service registration.
- Add Backbone Router service test.
2020-03-26 08:54:23 -07:00
Yakun Xu cb55c530bd [cmake] clean up cmake options (#4727)
* enable optional features
* remove OT_NCP
* remove OT_NCP_RADIO_ONLY
* sort options
2020-03-24 07:29:48 -07:00
Yakun Xu 08c7113336 [test] build with cmake instead of automake (#4653)
- Use cmake to build.
- Use rcp instead of transceiver simplicity.
- Add virtual time options for cmake.
- Enable readline support for posix apps.
- Use ninja instead of make.
2020-03-12 08:40:23 -07:00
Yakun Xu 653745911f [build] rename posix-app to posix (#4661) 2020-03-11 11:42:30 -07:00
Jonathan Hui 36e51132c8 [tests] fix 1.2 test env and travis (#4614) 2020-03-04 20:17:56 -08:00
Yakun Xu a551133493 [build] rename example platform POSIX to simulation (#4555)
Having examples/posix and src/core/posix is confusing. This commit
renames the examples posix platform to simulation.
2020-02-27 12:55:56 -08:00
Yakun Xu a90246b760 [build] make OpenThread POSIX deb packages (#4592)
This commit enables building OpenThread deb packages:

* openthread-simulation: simulation of OpenThread
* openthread-daemon: daemon of OpenThread Host
* openthread-standalone: standalone binaries of OpenThread Host
2020-02-25 18:20:14 -08:00
Rongli Sun b339a8946b [travis] test parent selection rules (#4423)
This commit has five scenarios to test the four Mesh Impacting
Criteria and one Child Impacting Criterion (version).
2020-02-25 14:34:53 -08:00
Yakun Xu b01754cabf [mle] add enhanced keep-alive (#4325)
This commit introduces the first Thread 1.2 feature - enhanced keep
alive.

This commit also introduces the build config
OPENTHREAD_CONFIG_THREAD_VERSION to include/exclude Thread 1.2 code.
2020-02-24 21:03:19 -08:00
Yakun Xu 862a2b3d02 [script] use python version specified in test script (#4226) 2019-10-08 09:29:27 -07:00
Kamil Sroka 8c08fd8815 [build] rename ncp_radio to rcp (#3580) 2019-06-05 10:12:50 -07:00
Yakun Xu 16c904955a [test] fix on macOS (#3467) 2019-01-17 02:58:35 -08:00
Yakun Xu a42efee470 [script] add script to run cert tests (#3397) 2019-01-07 09:03:36 -08:00