-
Notifications
You must be signed in to change notification settings - Fork 37
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
Upmerge to 6edb06e
#121
Merged
Merged
Upmerge to 6edb06e
#121
+7,452
−4,030
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The core config file shouldn't be included in public API headers because they will be included from high level project code (like ot-br-posix) and the config file cannot be located if included here.
…9411) This commit updates `AddressResolver::Resolve()` to validate that the associated RLOC16 is reachable in the sense that a valid next hop can be found towards it, before using a matching cache entry in `mCachedList` or `mSnoopedList`. If the RLOC16 is not reachable, the cache entry is removed to trigger a new address query.
- This commit resolves inconsistency between Host and RCP channel on scan energy when network not created. - Added fix in MAC layer to update the channel on scan energy.
This commit adds methods to parse parameter values directly from the url, moves the url unit test to the test/unit, and updates the url processing methods in posix platform.
…412) This commit adds a separate flag to be able to turn the posix part of multicast routing implementation off/on. The new OPENTHREAD_POSIX_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE flag guards the feature of posix multicast routing using MFC(multicast forwarding cache) in MRT(multicast routing table). The existing OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE continues to guard the core multicast routing feature, for example handling the MLR.req message and the multicast listeners table. In a system where it has its own multicast routing support for packet forwarding between Thread network and AIL, it should set OPENTHREAD_POSIX_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE to 0.
…t (#9421) This commit updates `HandleNetworkDataRestoredAfterReset()` which is called when a leader device is reset and recovers the Network Data from other routers. With the new code, leader will now check and remove entries in the restored Network Data that are from any currently unallocated router ID. This change acts as a safeguard against an edge case where the leader is reset at an inopportune time, such as right after it removed an allocated router ID and sent MLE advertisement but before it got the chance to send the updated Network Data to other routers.
This commit implements the packet logic in OT core. It aims to have the same effect as what's already achieved by our iptables-based firewall. Instead of leveraging iptables, this commit filters the border routing packets in user space by checking the source/destination addresses of a packet. This commit also adds a job to do BR regression test when this feature is enabled and iptables-based firewall is disabled.
This commit allows developers to set the preferred channel mask and the supported channel mask in the configuration file. The posix platform selects channel masks from the configuration file based on the region code when the region code is updated.
This commit saves the MAC counter to a local variable to avoid calling the core function Get<Settings>().Read() in radio_spinel_impl.hpp. This is useful when spinel module is used as a lib in other projects.
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@f43a0e5...3df4ab1) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit contains smaller changes in `BorderAgent` class: - Define `kUdpPort` as a private constants in `BorderAgent` class. - Add `SendMessage()` method to send message through `SecureAgent`. - Add `LogError()` as a method so the correct log module is used. - Remove unused `mMessageInfo` member variable. - Harmonize log messages.
…9443) The default supported channel mask is set to 0x7fff000 in the default configuration file. The dbus client test case sets the channel to 11 which is not valid in the supported channel mask. It causes the CI test failures in openthread/ot-br-posix#2027. This commit updates the default supported and preferred channel masks in the configuration file to avoid the CI test failures.
…444) This commit updates `ForwardContext` to be `Heap::Allocatable` and uses `OwnerPtr` to simplify the ownership (and freeing) of allocated `ForwardContext` objects.
According to the description of openwrt/openwrt#11559, libanl is already included in the musl c library, so we can turn this option on. We enable OPENTHREAD_POSIX_CONFIG_NAT64_AIL_PREFIX_ENABLE on OpenWrt platform for better experience.
This commit sets the default value of the configuration `TMF_ADDRESS_CACHE_MAX_SNOOP_ENTRIES` to `1/16` of the total number of address cache entries. This ensures that the snoop entries scale with the total number of entries.
…led (#9450) This commit changes openthread rcp recovery code to keep `mState` as `kStateDisabled` if the state before recovery was `kStateDisabled`. This is needed to avoid otbr-agent crash in the scenario where rcp recovery is triggered before otbr initialization.
…1)" (#9458) This reverts commit 93e72bc.
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.4 to 2.21.8. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@a09933a...6a28655) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…` (#9460) Resolves issues when `OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_ENTRIES` is too small.
…ilter rss remove`) (#9442)
…R docker (#9457) This commit excludes `ot_testing` and `__pycache__` directories when copying the files before building the docker. Such files are usually generated by root user and will cause errors when copying them as a non-root user.
This commit updates `Ip6::HandlePayload()` to check the `message` pointer for null in the common flow, instead of in the `if()` block where the message is cloned when `aMessageOwnership` is set to `kCopyToUse`. If `aMessageOwnership` is `kTakeCustody` the `message` is initialized as `&aMessage` already which cannot be `nullptr`. This protects against code checker warnings that `message` may remain null if the given `aMessageOwnership` enum value is not one of its two defined enumerator values.
Added validation to check for the negative value of sMLDMonitorFd, as setsockopt parameter cannot be negative.
…router (#9445) An invalid Discovery Response that carries no Joiner UDP Port TLV will be accepted by the joiner, but we shouldn't qualify it as a valid joiner router since we can only open a connection with a non-zero port.
…9465) This commit simplifies the checks to decide whether or not to call `ProcessRouteTlv()` in `MleRouter::HandleAdvertisement()`. The whole check is guarded by `aRxInfo.IsNeighborStateValid()`, which ensures that we only process Route TLVs for Advertisements received from valid neighbors. In particular, we can remove the additional checks in the case where the device is itself `IsChild()` (i.e., acting as an FED). In this case, `aRxInfo.mNeighbor` will be determined using `NeighborTable::FindNeighbor()`, which checks and accepts the parent as the only valid neighbor of the FED child.
This commit updates `HandleTmf<kUriCommissionerSet>()`, which is used to set the Commissioning Dataset. The following changes have been made: - `Tlv::Find<TlvType>()` methods are used to find and parse TLVs in the received request message. - The existing code required the dataset to contain either Joiner UDP or Steering Data TLVs. This check has been removed, making the implementation aligned with the Thread specification. This permits a commissioner to disallow MeshCoP Joining by not including Steering Data. - A new flavor of `SetCommisioningData()` is added, which reads the TLVs directly from a given `aMessage`. This method is now used when processing `kUriCommissionerSet` to avoid using temporary local buffers to read and copy the TLVs. - `SetCommisioningData()` and its related methods have been moved to `network_data_leader_ftd` since they are limited to and used on FTD devices acting as leader. - A new private `UpdateCommissioningData()` method has been added. This method first checks whether or not we can add a Commissioning Data TLV with a given length into Network Data, before removing the current TLV. This is used as a common method when Commissioning Data is set from a message or from a given data buffer.
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.0 to 4.1.1. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@8ade135...b4ffde6) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit adds `otNetDataGetCommissioningDataset()` as a public API to retrieve the Commissioning Dataset from the Network Data. It also updates CLI `netdata show` command to output the Commissioning Dataset information. The documentation in `README_NETDATA.md` and in `cli_network_data` are also updated. The test scripts that parse `netdata show` output are also updated.
…hanges (#9418) The current code of the `mac.cpp` caches the supported channel mask to a local variable. But the supported channel mask may be changed after the country code is changed. This will cause the supported channel mask used in `mac.cpp` to be inconsistent with the actual supported channel mask. This commit adds an API `otLinkSetRegion()` to set the region code and then update the cached supported channel mask to avoid the channel mask inconsistencies. The current Thread channel may be not included in the new supported channel mask. When the Thread stack detects this case, it detaches the current Thread network gracefully.
The "assert" and "VerifyOrDie" were checking same condition, so the second validation was never executed if (rval != sizeof(key)). Additionally,"aSwapFd" was not freed on assertion. With this commit, 1. addressed the memory leak to system resources. 2. Replaced VerifyOrDie() or assert() by VerifyOrExit() 3. handle error at exit
This commit adds a new API `otSysSetInfraNetif` to support specifying the infrastructure network interface for the platform. This can be useful in following cases: - The infra link cannot be determined at the start up of `otbr-agent`. We can call this API to specify the infra link without specifying it in the command line arguments. - Let Thread Border Router switch to another infra link without restarting the whole OpenThread stack.
This commit adds a public OT API to generate hex dump output line by line. This function is then used for both `LogDump{}()` and frame capture output by CLI `promiscuous` command (removing repeated similar code) and harmonize the hex dump outputs.
This commit moves the `instance` module to a newly added folder `core/instance` (from `core/common`. Header file `extension.hpp` and its example is also moved to the same folder.
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.3 to 2.22.5. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@0116bc2...74483a3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit updates the `NetworkData::Leader` sub-class model, removing `LeaderBase` (which intended to provide common functions shared between FTD and MTD) and instead adding all methods directly in `Leader` class with all `FTD`-specific methods having conditional `#if` check.
…(#9530) The lib `openthread-spinel-ncp` is used by the NCP build, it doesn't need the file `radio_spinel.cpp`. This commit changes the CMake file to make only the lib `openthread-spinel-rcp` include the file `radio_spinel.cpp`.
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.2.0 to 2.3.1. - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@08b4669...0864cf1) --- updated-dependencies: - dependency-name: ossf/scorecard-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…er (#9582) The current code won't return a failure error code when a MGMT_SET request is rejected by the leader, so the client doesn't know whether the operation succeed or not. This commit fixes this issue by converting the REJECTED state to the OT_ERROR_REJECTED error code which is propagated back via the otDatasetMgmtSetCallback callback.
… (#9568) (#9568) Allow platforms to reduce the periodic access to `otPlatRadioGetNow` to calculate CSL synchronization elapsed time in the case when those radio API calls are costly.
…579) This commit makes the following smaller enhancements in `Slaac` class: - Adds a new `ShouldUseForSlaac()` method to check if a network data prefix should be used for SLAAC, checking flags and applying the filter if set. - Introduces separate `RemoveAddresses()` and `AddAddresses()` methods to manage SLAAC addresses, replacing the previous `Update()` method. - Adds helper methods to `RemoveAllAddresses()`, `RemoveAddress()` to remove a specific address, and `AddAddressFor(prefix)` to generate and add an address for a given prefix. - Simplifies `GenerateIid()` by removing unused input parameters.
In `ot::Posix::InfraNetif::GetFlags()`, the OT process would die if the infra network interface is removed on the POSIX platform. On Android platform, this is not the desired behavior because the system server may tell the OT process to switch another infra network interface. It's fine for OT process to keep running when the previous infra network interface disappears because later system server will call `otSysSetInfraNetif()` to specify the new infra network interface.
canisLupus1313
approved these changes
Nov 9, 2023
pdgendt
approved these changes
Nov 9, 2023
CC: @rlubos |
rlubos
approved these changes
Nov 9, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Regular OpenThread upmerge to commit
6edb06e
.