Commit Graph

86 Commits

Author SHA1 Message Date
Yakun Xu 354387c931 [test] fix reporting expect failure (#6869)
This commit fixes reporting expect failures by adding fail on error
flag to the ot_exec_expect_script function in script/test script.

This commit also fixes failing expect tests and removes expect tests
on macOS for unstable issues.
2021-08-02 20:26:32 -07:00
Abtin Keshavarzian 9f084ac7bb [netdata] allow zero-len external route prefix (#6784)
This commit allows a zero-len prefix `::/0` to be added as an external
route in Network Data. Such a prefix can act as a default route. This
commit also adds `test_zero_len_external_route.py` testcase to verify
the network's behavior using a zero-len external route.
2021-07-12 20:06:29 -07:00
arun-mahasenan f86ceb43ce [cli] IPv6 counters (#6771)
Add CLI command for IPv6 packet success and failures during
transmission and reception.
2021-07-12 12:54:39 -07:00
Jonathan Hui aaabf25ff2 [network-key] change name from master to network (#6721) 2021-06-16 23:07:23 -07:00
Abtin Keshavarzian afa427b7f6 [cli] enhance Cli::Coap and CoapSecure (#6707)
This commit simplifies the handling of request commands (get, post,
put, delete, and observe) in `Cli::Coap` and `Cli:CoapSecure`
classes. It also updates parsing and processing of arguments for
`CoapSecure` request command by removing the optional and actually
unused dest IPv6 address argument. Finally, it removes the use of
OT core headers/types (mainly the `ot:Coap::Message::BlockType`
enumeration) in CLI CoAP modules.
2021-06-07 21:45:45 -07:00
Abtin Keshavarzian d16edaa5ef [cli] add helper Interpreter::OutputTableHeader() (#6696)
This commit adds a helper method `OutputTableHeader()` that can be
used to print a table header from a given array of column widths and
title strings. This is then used in CLI module for different tables
(child/neighbor/router table, active/energy scan result, etc).
2021-06-02 15:22:45 -07:00
Abtin Keshavarzian 60ff174c44 [ip6] add public API to convert otSockAddr to string (#6693)
This commit adds public API `otIp6SockAddrToString()` which converts
an IPv6 socket address (`otSockAddr`) to human-readable string. The
CLI modules (e.g. `ProcessNetStat()`) are then updated to use the new
API.
2021-06-01 13:08:13 -07:00
Abtin Keshavarzian 98e353ca69 [cli] fix extra error output when handling user CLI commands (#6562)
It also adds a check in `cli-misc.exp` to verify error on an invalid
CLI command
2021-05-04 15:17:41 -07:00
kangping 92335ef4fa [border-agent] add logging for border agent events (#6481)
This commit includes several small changes:
- Add logs for Border Agent Start and Stop events to help analysis
  commissioning issues such as openthread/ot-commissioner#193
  (comment).
- Start Border Agent when the native commissioner is stopped.
- Add CLI command ba state to get current Border Agent state.
2021-04-26 07:09:50 -07:00
Li Cao d4d81c39c9 [cli] add cli to get All Thread Nodes multicast address (#6500)
This commit adds APIs to get Link/Realm Local All Thread Nodes
multicast addresses. This commit also adds cli command to get
meshlocal prefix alone for writing tests.
2021-04-22 19:14:56 -07:00
Yakun Xu 8467a3d522 [border-agent] use ephemeral port (#6450)
This commit changes border agent service to use ephemeral port by
default. This change makes it easier to support multiple Thread
interfaces on a single host.
2021-04-20 22:32:07 -07:00
Jintao Lin d8b5a3ee51 [test] add posix verification for OT 1.2 (#6070)
This change:
1. Adds new github action to verify posix app for OT 1.2.
2. Only enable compile flag OT_SIMULATION_VIRTUAL_TIME_UART in
   script/test for ot-rcp build target.
3. Allow mix use of posix node and ot-cli-mtd node by changing python
   test script to accept node type as parameter.
4. Remove CSL test from expect as it is covered by thread-1-2-posix
   tests.
2021-02-18 09:05:29 -08:00
Yakun Xu ad91ac3b9c [posix] enable expect tests on macOS (#5384)
This commit enables expect tests on macOS, also includes the following
required changes:

* Fixed bound to interface issue on macOS.
* Added ability to configure scan period, because macOS environment on
  GitHub Actions is much slower.
2021-02-02 21:50:18 -08:00
Yakun Xu d9acce1177 [test] enhance parsing addresses (#6045)
Expect sometimes matches the pattern before a line is fully printed to
TTY. As a result, the address returned may not be accurate. This commit
fixes this issue by matching line breaks.
2021-01-08 08:32:07 -08:00
Moandor 069e26b51e [key-manager] remove default master key (#5998)
When initializing, we should use randomly generated network parameters
instead of default ones, to eliminate the possibility of unintentional
use of default credentials.
2020-12-30 11:25:48 -08:00
Jiacheng Guo b306cb0bbe [radio] send radio command to the region (#5999)
Some radio region has further limit over max power table. We need to
send the region code the radio driver as well.
2020-12-22 22:51:03 -08:00
Moandor 27609159d9 [expect] fix CLI router tests (#5996)
The next hop here is not deterministic. This changes it to expect any
4-digit hex.
2020-12-22 08:54:29 -08:00
Moandor d4c1c5d725 [spinel] fix errors in RCP recovery (#5965)
If mError is set to error state before entering the RCP recovery, this
error will be recognized as an error in the recovery process, and
cause it to die, while there is actually no error.

This fixes it by clearing mError when starting the recovery process.
2020-12-16 22:08:59 -08:00
Yakun Xu 7a7390b9ee [test] separate code coverage data files (#5920)
This commit ensures each node create its own profile data, so that they
can be merged after tests to produce more accurate profile data.

This commit also prints the coverage data of message.cpp after all
profile data are merged.
2020-12-07 13:23:26 -08:00
Jiacheng Guo f5a7dc2b9a [radio] send max power table to radio (#5867)
This change sends the max power table to the radio so that the radio
chip can manage the transmit power by self.
2020-12-04 08:08:52 -08:00
Yakun Xu a8b5b07849 [diag] check state before entering diagnostic mode (#5908)
This commit restrict diagnostic mode only when network stack is not up,
which prevents some issues caused by switching to diag mode after the
device was attached. For example, timers may not be triggered properly
after returnning from diagnostic mode.
2020-12-02 23:16:08 -08:00
Zhanglong Xia 0d14e85439 [mle] let the command partitionid return the current partition id (#5872)
If user doesn't set the Partition Id using the command
'leaderpartitionid xxx', the current cli command 'leaderpartitionid'
always return 0. This commit renames the command 'leaderpartitionid'
to partitionid and let the command partitionid returns the current
leader Partition Id and add command partitionid preferred to set or
get preferred Partition Id.
2020-11-30 21:15:18 -08:00
Moandor c7192ba798 [string] add UTF-8 validation (#5810) 2020-11-30 08:33:05 -08:00
Moandor 9d9646afaa [spinel] RCP restoration on failures (#5694)
This commit implements the RCP restoration on failure feature. It
keeps the host process running while resetting and initializing the
RCP.
2020-11-26 08:57:13 -08:00
Yakun Xu 9164355b8c [ip6] enable multicast loop (#5848)
This commit enables the feature IPV6_MULTICAST_LOOP into OpenThread IPv6
stack. The default-enabled feature allows a node receives a multicast
message sent by its own.
2020-11-26 08:29:03 -08:00
Jintao Lin 91d2c29fd8 [low-power] fix CSL scheduler to avoid packets stuck in queue (#5833)
This commit:
- Fixes the issue in CSL scheduler dealing with multiple SSEDs.
- Fixes the issue when CSL tx attempts reach max, CSL transmission to
  this child cannot resume.
- Reset CSL sync status after child mode change to RxOnWhenIdle.
- Adds MLE version, CSL synchronization status and queued message
  count to child table.
2020-11-23 22:59:21 -08:00
Yakun Xu d33c2f12af [test] add rcp-ncp node type (#5847)
This commit enables `script/test` to run cert tests on NCP nodes of
POSIX platform.
2020-11-23 17:02:11 -08:00
Moandor acbd38a5f1 [posix] add radio URL parameter cca-threshold (#5832) 2020-11-20 16:01:57 -08:00
Rongli Sun e73882255f [tests] fix tun-realm-local-multicast.exp (#5821)
This commit introduces short wait time per new router
to allow link/route establishment.
2020-11-16 22:32:40 -08:00
Moandor 5bc7e7d6a0 [posix] add radio URL parameter fem-lnagain (#5788) 2020-11-09 10:43:46 -08:00
Yakun Xu 6fda0786ed [posix] forkpty-arg value as a single argument (#5772) 2020-11-08 23:31:11 -08:00
Rongli Sun 59b4a51f99 [tests] fix tun-realm-local-multicast.exp (#5776)
Given the linear topology in this test, this commit
introduces wait time so that the Thread Links are
synced well before ping happens.
2020-11-07 19:46:21 -08:00
Yakun Xu 0603ed1c14 [test] verify realm-local multicast on POSIX (#5738) 2020-10-29 10:37:51 -07:00
Yakun Xu ff76aac3db [cli] add energy scan channel (#5677) 2020-10-21 12:17:28 -07:00
Jintao Lin eee652cc9e [cli] add command to set/get external FEM's LNA gain (#5563) 2020-10-13 08:12:14 -07:00
Yakun Xu d0d2b71af3 [ip6] no anycast as source address (#5632)
- Check source address of packets from users
- Determine anycast address by MLE API for accuracy
- Replace anycast address with a valid unicast address when sending
  with platform UDP in UDP layer
- Replace anycast address with a valid unicast address in IP layer
2020-10-13 08:10:29 -07:00
Yakun Xu 9e3b450218 [expect] refactor common functions (#5634)
* unify node creating and destroying
* simplify switching between nodes
2020-10-12 08:21:48 -07:00
Li Cao a4368909ff [low-power] add cli command macsend for certification (#5573)
This command allows an Rx-Off-When-Idle device to send an empty mac
data frame or mac datarequest to its parent. This command is only used
for certification.
2020-10-11 10:46:20 -07:00
Li Cao fa57212b82 [cli] add cli command to control child supervision (#5620) 2020-10-09 08:36:39 -07:00
Jonathan Hui dc9b032dad [mle] remove secure data request mode bit (#5560)
- Always set to 1 on transmission.
- Always ignore on reception.
2020-09-29 15:30:37 -07:00
Simon Lin 1d8e4da7f7 [ot-ctl] auto reconnect session (#5466)
- ot-ctl automatically reconnect session when disconnected
- add test for reset/factoryreset
2020-09-21 19:44:50 -07:00
Diego Ismirlian f974f38155 [cli] implement setting/getting cca threshold (#5532)
This commit adds a command to the CLI to be able to set (and get) the
CCA threshold. This is useful when there is a LNA in the radio's RX
path.
2020-09-21 08:46:19 -07:00
Moandor e7e84b6ae7 [cli] add api version command (#5544)
This adds a CLI command to get the API version number.
2020-09-21 08:38:33 -07:00
Jonathan Hui 0d8a99bd05 [cli] implement network data print (#5543)
- Print human-readable network data.
- Create network data sub-command.
2020-09-19 10:28:17 -07:00
Jonathan Hui 42d76a0a4e [cli] change 'binary' arg to '-x' for consistency (#5543) (#5549) 2020-09-19 08:53:34 -07:00
Moandor d9b82f8b97 [continuous-integration] fix expect router link (#5534)
Sometimes the router command returns Link: 0 and makes the test fail.
2020-09-16 07:59:55 -07:00
Jintao Lin 8c90ade062 [low-power] add RCP support for CSL (#5456) 2020-09-14 21:20:14 -07:00
Jonathan Hui 5bffd8bc4d [mac-filter] change whitelist/blacklist to allowlist/denylist (#5507)
To promote inclusivity and eliminate any unintentional bias.
2020-09-11 16:03:39 -07:00
Yakun Xu 5e233fb617 [posix] allow bind to Thread interface only (#4965) 2020-08-28 18:52:31 -07:00
Yakun Xu 16a5c52d9f [netdata] add api to check if joiner is in steering data (#5392) 2020-08-14 22:09:14 -07:00