Proto commits in openthread/ot-br-posix

These 24 commits are when the Protocol Buffers files have changed:

Commit:c3cd7f3
Author:Jason Zhang
Committer:GitHub

[proto] improve formatting in thread_telemetry.proto (#3217) This commit improves the code style and formatting in `src/proto/thread_telemetry.proto` to align with https://protobuf.dev/programming-guides/style/ - Reorder options and package declarations. - Wrap long comments to fit within 80 characters - Fix indentation for enums and messages to be consistent. - Clean up comment style for enum values.

Commit:6c173cb
Author:Jason Zhang
Committer:GitHub

[dbus] add multi-AIL detection in telemetry metrics (#3001) This commit adds a new field `multi_ail_detected` to the telemetry data. This field indicates whether the Border Router has detected an adjacent infrastructure link. The `multi_ail_detected` boolean is retrieved from the OpenThread API `otBorderRoutingIsMultiAilDetected` and included in the `TelemetryData` protobuf message. The DBus client test is updated to verify the new field.

The documentation is generated from this commit.

Commit:7d4282b
Author:Li Cao
Committer:GitHub

[telemetry] add border agent epskc journey telemetry (#2886) The telemetry retrieve logic is put into a module TelemetryRetriever::BorderAgent so that unit tests can be added easily. A unit test is added for the epskc journey retrieve.

Commit:63584c5
Author:Yang Sun
Committer:GitHub

[telemetry] remove uploading epskc_state and border_agent_state (#2463) The epskc_state and border_agent_state has no clear metrics, remove from uploading.

Commit:a8f89be
Author:Yang Sun
Committer:GitHub

[telemetry] add support for getting border agent telemetry data (#2439)

Commit:d89373f
Author:Mia Yang
Committer:GitHub

[epskc] add feature flag list to enable/disble BA ePSKc feature (#2423)

Commit:1cbe2cc
Author:Jason Zhang
Committer:GitHub

[telemetry] add `peer_br_count` in InfraLinkInfo (#2361) - Add new field `peer_br_count` which is the total number of peer border routers on the same infra link - Also move all InfraLinkInfo section into a new function `RetrieveInfraLinkInfo()`

Commit:43f6bd9
Author:Jason Zhang
Committer:GitHub

[Telemetry] add `peer_br_count` in WpanTopoFull (#2383) `peer_br_count` is the number of border routers retrieved from network data.

Commit:78fa14b
Author:Jason Zhang
Committer:GitHub

[telemetry] add external route related telemetry (#2284) This commit added new entry `ExternalRoutes` inside message `wpan_border_router` to indicate the information about the external route added in leader network data The `ExternalRoutes` has three bool fields: - `has_default_route_added`: if leader network data has `route ::/0` - `has_ula_route_added`: if leader network data has route `fc00::/7` - `has_others_route_added`: if leader network has others route These information are collectly only when both TELEMETRY_DATA_API and BORDER_ROUTING are enabled. This commit also enhanced the class `otbr::Ip6Address` and class `otbr::Ip6Prefix` by adding some more constructors, so that the ipv6 address/prefix can be easily constructed by a string. The `operator==` of `Ip6Prefix` is also added to compare the prefix length and first N-bit of the prefix, where N is length of the prefix.

Commit:e41d4d4
Author:Li Cao
Committer:GitHub

[feature-flag] add feature flag to control link metrics manager (#2251)

Commit:e9ec5ab
Author:Handa Wang
Committer:GitHub

[telemetry] add `InfraLinkInfo` telemetry data (#2242)

Commit:5820dac
Author:SherySheng
Committer:GitHub

[telemetry] add upstream dns query state (#2166) Need to use both upstream query state and srp server state to indicate the upstream server state - SRP Server Disabled - SRP Server Enabled, Upstream DNS forwarding disabled - SRP Server Enabled, Upstream DNS forwarding enabled.

Commit:4c3d907
Author:SherySheng
Committer:GitHub

[telemetry] add protobuf for upstream DNS metrics (#2142) Add the counters of queries, responses, failures handled by upstream DNS server.

Commit:f2b0c85
Author:Yang Liu
Committer:GitHub

[dbus] implement D-BUS API GetTrelInfo (#2131) Introduce D-BUS API GetTrelInfo to support getting TREL telemetry.

Commit:86f6fb2
Author:SherySheng
Committer:GitHub

[telemetry] add proto for DHCPv6 PD metrics (#2110)

Commit:7df21bd
Author:Li Cao
Committer:GitHub

[telemetry] add link metrics telemetry (#2036)

Commit:b4d6f3b
Author:Tony Zhou
Committer:GitHub

[telemetry] define key telemetries and their extraction logic (#1973) - Telemetry definition is available in thread_telemetry.proto - Telemetry extraction logic is provided in thread_helper.cpp - DBus RPC service is served; thread_helper's Telemetry lib allows to support additional telemetry service integration if needed.

Commit:d5fdc0d
Author:Song GUO
Committer:GitHub

[dhcp6pd] add basic DHCPv6-PD support (#1917) This commit includes changes for build flags and feature flags.

Commit:b9e5b80
Author:Song GUO
Committer:GitHub

[dbus] add capabilities API (#1886) This commit allows DBus client query the enabled build time features on the server. Currently, nat64 is added to the list, more items can be added when needed.

Commit:26a360b
Author:Tony Zhou
Committer:GitHub

[dbus] add telemetry data definition and API (#1822) This change is to simplify adding new telemetry/data on the ot-br side by: - declaring the data definition so we can easily review, align and merge telemetry data in the e2e system. - reusing the data API so feature owner doesn't need to re-implement and test the IPC API for each telemetry data. - Add wpan_stats telemetry data definition and handler. More telemetry data definition will be defined in the proto file in future changes.

Commit:7f0c729
Author:Song GUO
Committer:GitHub

[dnssd] add support for upstream DNS query APIs (#1777)

Commit:f32a49c
Author:Yang Sun
Committer:GitHub

[trel] enable/disable TREL with feature flag (#1708)

Commit:12bb949
Author:Yang Sun
Committer:GitHub

[logging] detailed logging over feature experiment (#1678) This commit enables detailed logging over feature experiment. Background: On some test devices the default log level is NOTE, which may not be sufficient for debugging when a bug is produced. So we would like to be able to set a detailed Thread log level in an automated fashion, which will be applied at the beginning of the thread process. A feature flag 'enable_detailed_logging‘ of bool type is supported to enable default detailed logging level 'INFO'. An additional field 'detailed_logging_level‘ is used to specify the log level.

Commit:7dd72ee
Author:Tony Zhou
Committer:GitHub

[dbus] provide Feature Flag update API for DBus (#1563) Feature Flag definition and its update DBus API provides the mechanism to define and maintain feature flags for Thread over time. Use OTBR_FEATURE_FLAGS to turn on/off this change. It is designed to support: * The ground truth of feature flag definition and their suggested default values in case of feature rollback. * API and flag change compatibility between OTBR layer and upper layer. The flags are defined in proto definition. The proto runtime is more lightweight than DBus' serialization so that we believe it is safe to include it in the library.