Commit Graph

81 Commits

Author SHA1 Message Date
Simon Lin 9aadfd0cdf [script] install shellcheck in bootstrap (#5067) 2020-06-11 18:26:18 -07:00
Yakun Xu 82053cc9db [tests] add dns client tests (#5049) 2020-06-04 13:24:43 -07:00
Yaoxing Shan f0d07ae6d3 [bootstrap] remove PPA on Ubuntu 20.04 and later (#5009) 2020-06-02 21:17:15 -07:00
Yakun Xu aa19e77ac7 [continuous-integration] add version number check (#5034) 2020-06-02 13:37:42 -07:00
Yakun Xu ba0b896b20 [continuous-integration] use apt-get instead of apt (#5032)
This commit changes apt to apt-get for the WARNING in build logs:

WARNING: apt does not have a stable CLI interface. Use with caution in
scripts.
2020-06-01 17:03:33 -07:00
Yakun Xu f8f75d6d05 [posix] clean up for radio url (#5027)
* fix max-power-table documentation
* rename `baudrate` to `uart-baudrate`, `arg` to `forkpty-arg`
* update command line enumeration
* update README
* remove trailing argument from node.py
2020-06-01 08:13:46 -07:00
Jiacheng Guo 115616c6bf [posix] add radio url (#4935)
Radio url provides a unified interface for users to specify the radio
peripheral device and arguments to the OpenThread core stack.
2020-05-29 17:34:29 -07:00
Rongli Sun 46305be082 [script] echo RADIO_PTY properly (#5023) 2020-05-29 10:40:00 -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
Yakun Xu 5e65833d72 [ot-ctl] fix reset in non-interactive mode (#5011)
* set close on exec
* explicitly close socket on reset
* enhance ot-ctl to exit on peer close
* added test for the change
2020-05-28 10:31:16 -07:00
Yakun Xu 50cfda10b1 [script] install shfmt (#4989)
This commit installs shfmt in script/bootstrap.
2020-05-27 16:12:22 -07:00
rob-the-dude 657b4cb291 [cli] add command for getting the network interface name and index (#4985)
* add a CLI command for getting the network interface name and index

On some platform (mostly BSDs), we do not have the option to specify
the tunnel name, although most of those platforms do have a way to dynamically
obtain a unique interface name if desired.  Add a CLI command -- only enabled
on platforms that have PLATFORM_NETIF enabled -- that will return the
name of the tunnel interface, as well as it's index.  Both are useful in doing
automated tests on non-Linux systems.

* remove OPENTHREAD_CONFIG_PLATFORM_NETIF_ENABLE from the "check" scripts

This option really only applies to the POSIX "management" applications
(ot-daemon, ot-ctl), and not to the core radio or simulation component
builds (ot-cli, etc).

My other change adds a command ("netif") that is only useful when the
netif code is enabled, and that only happens when the netif code is linked,
which is only in those "management" utilities.  Turning this setting off
allows the tests to pass, with no impact to the functionality previously
tested.  But if this setting remains on, then my new code creates a
dependency that cannot be resolved outside the management applications.
2020-05-21 21:58:29 -07:00
Simon Lin bdfafb437e [github-actions] add test to verify OTNS works (#4847) 2020-05-20 20:34:19 -07:00
Moandor 93c55f5837 [continuous-integration] remove git clean in scripts (#4988)
This removes the use of `git clean` in scripts to prevent accidental
loss of work.
2020-05-20 17:55: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
Jonathan Hui 916023b6e7 [pretty] add support for shell (#4966) 2020-05-19 13:04:42 -07:00
Jonathan Hui 132ba9d3fb [continuous-integration] add build checks for jn5189 and k32w061 (#4968) 2020-05-18 09:36:00 -07:00
Jintao Lin 2afbc59293 [mac] put transmission AES-CCM* to SubMac layer (#4919)
In Thread 1.2, it is possible to receive an IEEE 802.15.4-2015
packet. Per specification, receiver should acknowledge this packet
with an IEEE 802.15.4-2015 ACK(Enh-ACK). This Enh-ACK can include
header IE with it and requires security enabled bit in FCF be set to
true. It is impractical for the host to generate the Enh-ACK and send
to RCP for transmission within AIFS time(192us). So RCP should prepare
the Enh-ACK by itself, which requires it to fill in the frame counter
and do the encryption/authentication. This commit tries to address the
need of transmission security/authentication by including the
following changes,

- Move Key ID mode 1 AES-CCM* related functions from MAC layer to
  SubMac layer, which is mirrored in RCP.

- Distribute the MAC key and MAC key ID to RCP in posix app using
  newly added spinel properties.

- Make it possible for radio(either in radio driver or hardware) to do
  transmission AES-CCM* if the platform supports by adding radio
  capability OT_RADIO_CAPS_TRANSMIT_SEC.

- Enable this for RCP mode on simulation platform.
2020-05-13 10:15:39 -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
Moandor b4a5df49e6 [continuous-integration] enable most features on build check (#4946) 2020-05-11 16:45:38 -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
Moandor 8d6610f3d5 [continuous-integration] add POSIX SPI build (#4913)
This adds a CI build for POSIX platform with SPI enabled.

Also fixed a build error in `spi_interface.cpp`.
2020-04-30 10:42:44 -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
Simon Lin c169c2c552 [tests] add Thread 1.2 all features build test (#4850) 2020-04-27 23:46:28 -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
Jonathan Hui c48f84d9ea [pretty] add markdown support (#4881) 2020-04-24 16:22:00 -07:00
Yakun Xu 32f8274395 [cmake] enhancements for supporting cmake in ot-br-posix (#4876) 2020-04-24 16:21:06 -07:00
Jonathan Hui c0075d42c3 [pretty] fix yapf version to 0.29.0 (#4880)
v0.30.0 (released on 2020-04-23) introduces formatting changes that
are not compatible with v0.29.0.
2020-04-23 17:14:58 -07:00
Jing Ma 8822fcd590 [cmake] add support for cc2650, qpg6095, samr21 (#4729) 2020-04-22 18:43:44 -07:00
Yakun Xu c034fd0c0c [size-report] support local check (#4866) 2020-04-21 15:37:46 -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 1089aa9ff4 [continuous-integration] move android check to GitHub Actions (#4829) 2020-04-17 16:46:44 -07:00
Yakun Xu fd6cde5981 [size-report] support github actions (#4825) 2020-04-16 23:22:01 -07:00
Jing Ma 911010a9bf [cmake] add support for kw41z (#4692) 2020-04-14 18:14:36 -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
Jing Ma a6adf0322a [cmake] add support for cc2652 (#4691) 2020-04-09 13:11:13 -07:00
Jing Ma 64e03b8347 [cmake] add support for cc1352 (#4690) 2020-04-01 23:53:34 -07:00
Jiacheng Guo e2be5c475c [posix] add support for multicast group join (#4687)
Listen for mld reports sent by kernel to capture user multicast group
join and forward the addresses to OpenThread interface.

See openthread/wpantund#444 for more background.
2020-03-30 14:14:55 -07:00
Jonathan Hui ba19a298a1 [script] add build option to check-posix-pty (#4748) 2020-03-27 23:16:51 -07:00
Jonathan Hui dc0ae98927 [github-actions] migrate more checks from Travis (#4746)
- gn-build
- distcheck
- posix-spi
- posix-ncp-rcp migrate
- time sync
2020-03-27 14:32:59 -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
Jonathan Hui 4cb09ec637 [continuous-integration] initial migration to GitHub actions (#4728) 2020-03-24 20:45:19 -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
Rongli Sun 736cb27d3a [script] let alias to take effect (#4708) 2020-03-19 22:24:03 -07:00
Jonathan Hui 4ee8010558 [script] update make-pretty to bash (#4698)
- Also update CONTRIBUTING.md and STYLE_GUIDE.md.
2020-03-18 19:04:10 -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