1*4a64e381SAndroid Build Coastguard Worker/* 2*4a64e381SAndroid Build Coastguard Worker * Copyright (c) 2023, The OpenThread Authors. 3*4a64e381SAndroid Build Coastguard Worker * All rights reserved. 4*4a64e381SAndroid Build Coastguard Worker * 5*4a64e381SAndroid Build Coastguard Worker * Redistribution and use in source and binary forms, with or without 6*4a64e381SAndroid Build Coastguard Worker * modification, are permitted provided that the following conditions are met: 7*4a64e381SAndroid Build Coastguard Worker * 1. Redistributions of source code must retain the above copyright 8*4a64e381SAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer. 9*4a64e381SAndroid Build Coastguard Worker * 2. Redistributions in binary form must reproduce the above copyright 10*4a64e381SAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer in the 11*4a64e381SAndroid Build Coastguard Worker * documentation and/or other materials provided with the distribution. 12*4a64e381SAndroid Build Coastguard Worker * 3. Neither the name of the copyright holder nor the 13*4a64e381SAndroid Build Coastguard Worker * names of its contributors may be used to endorse or promote products 14*4a64e381SAndroid Build Coastguard Worker * derived from this software without specific prior written permission. 15*4a64e381SAndroid Build Coastguard Worker * 16*4a64e381SAndroid Build Coastguard Worker * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17*4a64e381SAndroid Build Coastguard Worker * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18*4a64e381SAndroid Build Coastguard Worker * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19*4a64e381SAndroid Build Coastguard Worker * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 20*4a64e381SAndroid Build Coastguard Worker * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21*4a64e381SAndroid Build Coastguard Worker * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22*4a64e381SAndroid Build Coastguard Worker * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23*4a64e381SAndroid Build Coastguard Worker * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24*4a64e381SAndroid Build Coastguard Worker * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25*4a64e381SAndroid Build Coastguard Worker * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26*4a64e381SAndroid Build Coastguard Worker * POSSIBILITY OF SUCH DAMAGE. 27*4a64e381SAndroid Build Coastguard Worker */ 28*4a64e381SAndroid Build Coastguard Workersyntax = "proto2"; 29*4a64e381SAndroid Build Coastguard Workeroption optimize_for = LITE_RUNTIME; 30*4a64e381SAndroid Build Coastguard Worker 31*4a64e381SAndroid Build Coastguard Workerpackage threadnetwork; 32*4a64e381SAndroid Build Coastguard Worker 33*4a64e381SAndroid Build Coastguard Worker// Thread Telemetry data definition. 34*4a64e381SAndroid Build Coastguard Worker// The field range for your data definition is determined as: 35*4a64e381SAndroid Build Coastguard Worker// --------------------------------------------------------------------------- 36*4a64e381SAndroid Build Coastguard Worker// | Field Range | Logging From 37*4a64e381SAndroid Build Coastguard Worker// | [1 - 500) | Primary fields logged from OTBR-agent/OpenThread. 38*4a64e381SAndroid Build Coastguard Worker// | [500-600) | OTBR vendor fields logged from OTBR-agent/OpenThread. 39*4a64e381SAndroid Build Coastguard Worker// | Other | Reserved for now. 40*4a64e381SAndroid Build Coastguard Worker// --------------------------------------------------------------------------- 41*4a64e381SAndroid Build Coastguard Worker// Usage: 42*4a64e381SAndroid Build Coastguard Worker// Delete field: do not directly delete field. Deprecate it instead. 43*4a64e381SAndroid Build Coastguard Workermessage TelemetryData { 44*4a64e381SAndroid Build Coastguard Worker message Duration { 45*4a64e381SAndroid Build Coastguard Worker // Signed seconds of the span of time. Must be from -315,576,000,000 46*4a64e381SAndroid Build Coastguard Worker // to +315,576,000,000 inclusive. Note: these bounds are computed from: 47*4a64e381SAndroid Build Coastguard Worker // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years 48*4a64e381SAndroid Build Coastguard Worker optional int64 seconds = 1; 49*4a64e381SAndroid Build Coastguard Worker 50*4a64e381SAndroid Build Coastguard Worker // Signed fractions of a second at nanosecond resolution of the span 51*4a64e381SAndroid Build Coastguard Worker // of time. Durations less than one second are represented with a 0 52*4a64e381SAndroid Build Coastguard Worker // `seconds` field and a positive or negative `nanos` field. For durations 53*4a64e381SAndroid Build Coastguard Worker // of one second or more, a non-zero value for the `nanos` field must be 54*4a64e381SAndroid Build Coastguard Worker // of the same sign as the `seconds` field. Must be from -999,999,999 55*4a64e381SAndroid Build Coastguard Worker // to +999,999,999 inclusive. 56*4a64e381SAndroid Build Coastguard Worker optional int32 nanos = 2; 57*4a64e381SAndroid Build Coastguard Worker } 58*4a64e381SAndroid Build Coastguard Worker 59*4a64e381SAndroid Build Coastguard Worker message WpanStats { 60*4a64e381SAndroid Build Coastguard Worker optional int32 phy_rx = 1; 61*4a64e381SAndroid Build Coastguard Worker optional int32 phy_tx = 2; 62*4a64e381SAndroid Build Coastguard Worker optional int32 mac_unicast_rx = 3; 63*4a64e381SAndroid Build Coastguard Worker optional int32 mac_unicast_tx = 4; 64*4a64e381SAndroid Build Coastguard Worker optional int32 mac_broadcast_rx = 5; 65*4a64e381SAndroid Build Coastguard Worker optional int32 mac_broadcast_tx = 6; 66*4a64e381SAndroid Build Coastguard Worker optional int32 mac_tx_ack_req = 7; 67*4a64e381SAndroid Build Coastguard Worker optional int32 mac_tx_no_ack_req = 8; 68*4a64e381SAndroid Build Coastguard Worker optional int32 mac_tx_acked = 9; 69*4a64e381SAndroid Build Coastguard Worker optional int32 mac_tx_data = 10; 70*4a64e381SAndroid Build Coastguard Worker optional int32 mac_tx_data_poll = 11; 71*4a64e381SAndroid Build Coastguard Worker optional int32 mac_tx_beacon = 12; 72*4a64e381SAndroid Build Coastguard Worker optional int32 mac_tx_beacon_req = 13; 73*4a64e381SAndroid Build Coastguard Worker optional int32 mac_tx_other_pkt = 14; 74*4a64e381SAndroid Build Coastguard Worker optional int32 mac_tx_retry = 15; 75*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_data = 16; 76*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_data_poll = 17; 77*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_beacon = 18; 78*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_beacon_req = 19; 79*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_other_pkt = 20; 80*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_filter_whitelist = 21; 81*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_filter_dest_addr = 22; 82*4a64e381SAndroid Build Coastguard Worker optional int32 mac_tx_fail_cca = 23; 83*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_fail_decrypt = 24; 84*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_fail_no_frame = 25; 85*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_fail_unknown_neighbor = 26; 86*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_fail_invalid_src_addr = 27; 87*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_fail_fcs = 28; 88*4a64e381SAndroid Build Coastguard Worker optional int32 mac_rx_fail_other = 29; 89*4a64e381SAndroid Build Coastguard Worker optional int32 ip_tx_success = 30; 90*4a64e381SAndroid Build Coastguard Worker optional int32 ip_rx_success = 31; 91*4a64e381SAndroid Build Coastguard Worker optional int32 ip_tx_failure = 32; 92*4a64e381SAndroid Build Coastguard Worker optional int32 ip_rx_failure = 33; 93*4a64e381SAndroid Build Coastguard Worker optional uint32 node_type = 34; 94*4a64e381SAndroid Build Coastguard Worker optional uint32 channel = 35; 95*4a64e381SAndroid Build Coastguard Worker optional int32 radio_tx_power = 36; 96*4a64e381SAndroid Build Coastguard Worker optional float mac_cca_fail_rate = 37; 97*4a64e381SAndroid Build Coastguard Worker } 98*4a64e381SAndroid Build Coastguard Worker 99*4a64e381SAndroid Build Coastguard Worker message WpanTopoFull { 100*4a64e381SAndroid Build Coastguard Worker optional uint32 rloc16 = 1; 101*4a64e381SAndroid Build Coastguard Worker optional uint32 router_id = 2; 102*4a64e381SAndroid Build Coastguard Worker optional uint32 leader_router_id = 3; 103*4a64e381SAndroid Build Coastguard Worker // Deprecate bytes ext_address. 104*4a64e381SAndroid Build Coastguard Worker reserved 4; 105*4a64e381SAndroid Build Coastguard Worker optional bytes leader_address = 5; 106*4a64e381SAndroid Build Coastguard Worker optional uint32 leader_weight = 6; 107*4a64e381SAndroid Build Coastguard Worker optional uint32 leader_local_weight = 7; 108*4a64e381SAndroid Build Coastguard Worker optional bytes network_data = 8; 109*4a64e381SAndroid Build Coastguard Worker optional uint32 network_data_version = 9; 110*4a64e381SAndroid Build Coastguard Worker optional bytes stable_network_data = 10; 111*4a64e381SAndroid Build Coastguard Worker optional uint32 stable_network_data_version = 11; 112*4a64e381SAndroid Build Coastguard Worker optional uint32 preferred_router_id = 12; 113*4a64e381SAndroid Build Coastguard Worker optional uint32 partition_id = 13; 114*4a64e381SAndroid Build Coastguard Worker optional uint32 child_table_size = 14; 115*4a64e381SAndroid Build Coastguard Worker optional uint32 neighbor_table_size = 15; 116*4a64e381SAndroid Build Coastguard Worker optional int32 instant_rssi = 16; 117*4a64e381SAndroid Build Coastguard Worker optional uint64 extended_pan_id = 17; 118*4a64e381SAndroid Build Coastguard Worker // Indicates the number peer BR in Thread mesh network (from network data) 119*4a64e381SAndroid Build Coastguard Worker optional uint32 peer_br_count = 18; 120*4a64e381SAndroid Build Coastguard Worker } 121*4a64e381SAndroid Build Coastguard Worker 122*4a64e381SAndroid Build Coastguard Worker message TopoEntry { 123*4a64e381SAndroid Build Coastguard Worker // deprecate bytes ext_address. 124*4a64e381SAndroid Build Coastguard Worker reserved 1; 125*4a64e381SAndroid Build Coastguard Worker optional uint32 rloc16 = 2; 126*4a64e381SAndroid Build Coastguard Worker // link quality with data range: 0~3. 127*4a64e381SAndroid Build Coastguard Worker optional uint32 link_quality_in = 3; 128*4a64e381SAndroid Build Coastguard Worker // the most recent RSSI measurement (8 bit). 129*4a64e381SAndroid Build Coastguard Worker optional int32 average_rssi = 4; 130*4a64e381SAndroid Build Coastguard Worker optional Duration age = 5; 131*4a64e381SAndroid Build Coastguard Worker optional bool rx_on_when_idle = 6; 132*4a64e381SAndroid Build Coastguard Worker optional bool full_function = 7; 133*4a64e381SAndroid Build Coastguard Worker optional bool secure_data_request = 8; 134*4a64e381SAndroid Build Coastguard Worker optional bool full_network_data = 9; 135*4a64e381SAndroid Build Coastguard Worker optional int32 last_rssi = 10; 136*4a64e381SAndroid Build Coastguard Worker optional uint32 link_frame_counter = 11; 137*4a64e381SAndroid Build Coastguard Worker optional uint32 mle_frame_counter = 12; 138*4a64e381SAndroid Build Coastguard Worker optional bool is_child = 13; 139*4a64e381SAndroid Build Coastguard Worker optional Duration timeout = 14; 140*4a64e381SAndroid Build Coastguard Worker optional uint32 network_data_version = 15; 141*4a64e381SAndroid Build Coastguard Worker optional float mac_frame_error_rate = 16; 142*4a64e381SAndroid Build Coastguard Worker optional float ip_message_error_rate = 17; 143*4a64e381SAndroid Build Coastguard Worker optional int32 version = 18; 144*4a64e381SAndroid Build Coastguard Worker } 145*4a64e381SAndroid Build Coastguard Worker 146*4a64e381SAndroid Build Coastguard Worker enum NodeType { 147*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_UNSPECIFIED = 0; 148*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_ROUTER = 1; 149*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_END = 2; 150*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_SLEEPY_END = 3; 151*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_MINIMAL_END = 4; 152*4a64e381SAndroid Build Coastguard Worker 153*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_OFFLINE = 5; 154*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_DISABLED = 6; 155*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_DETACHED = 7; 156*4a64e381SAndroid Build Coastguard Worker 157*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_NL_LURKER = 0x10; 158*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_COMMISSIONER = 0x20; 159*4a64e381SAndroid Build Coastguard Worker NODE_TYPE_LEADER = 0x40; 160*4a64e381SAndroid Build Coastguard Worker } 161*4a64e381SAndroid Build Coastguard Worker 162*4a64e381SAndroid Build Coastguard Worker message PacketsAndBytes { 163*4a64e381SAndroid Build Coastguard Worker optional int64 packet_count = 1; 164*4a64e381SAndroid Build Coastguard Worker optional int64 byte_count = 2; 165*4a64e381SAndroid Build Coastguard Worker } 166*4a64e381SAndroid Build Coastguard Worker 167*4a64e381SAndroid Build Coastguard Worker message Nat64TrafficCounters { 168*4a64e381SAndroid Build Coastguard Worker optional int64 ipv4_to_ipv6_packets = 1; 169*4a64e381SAndroid Build Coastguard Worker optional int64 ipv4_to_ipv6_bytes = 2; 170*4a64e381SAndroid Build Coastguard Worker optional int64 ipv6_to_ipv4_packets = 3; 171*4a64e381SAndroid Build Coastguard Worker optional int64 ipv6_to_ipv4_bytes = 4; 172*4a64e381SAndroid Build Coastguard Worker } 173*4a64e381SAndroid Build Coastguard Worker 174*4a64e381SAndroid Build Coastguard Worker message Nat64ProtocolCounters { 175*4a64e381SAndroid Build Coastguard Worker optional Nat64TrafficCounters tcp = 1; 176*4a64e381SAndroid Build Coastguard Worker optional Nat64TrafficCounters udp = 2; 177*4a64e381SAndroid Build Coastguard Worker optional Nat64TrafficCounters icmp = 3; 178*4a64e381SAndroid Build Coastguard Worker } 179*4a64e381SAndroid Build Coastguard Worker 180*4a64e381SAndroid Build Coastguard Worker message Nat64PacketCounters { 181*4a64e381SAndroid Build Coastguard Worker optional int64 ipv4_to_ipv6_packets = 1; 182*4a64e381SAndroid Build Coastguard Worker optional int64 ipv6_to_ipv4_packets = 2; 183*4a64e381SAndroid Build Coastguard Worker } 184*4a64e381SAndroid Build Coastguard Worker 185*4a64e381SAndroid Build Coastguard Worker message Nat64ErrorCounters { 186*4a64e381SAndroid Build Coastguard Worker optional Nat64PacketCounters unknown = 1; 187*4a64e381SAndroid Build Coastguard Worker optional Nat64PacketCounters illegal_packet = 2; 188*4a64e381SAndroid Build Coastguard Worker optional Nat64PacketCounters unsupported_protocol = 3; 189*4a64e381SAndroid Build Coastguard Worker optional Nat64PacketCounters no_mapping = 4; 190*4a64e381SAndroid Build Coastguard Worker } 191*4a64e381SAndroid Build Coastguard Worker 192*4a64e381SAndroid Build Coastguard Worker message BorderRoutingCounters { 193*4a64e381SAndroid Build Coastguard Worker reserved 1 to 8; 194*4a64e381SAndroid Build Coastguard Worker // The number of Router Advertisement packets received by otbr-agent on the 195*4a64e381SAndroid Build Coastguard Worker // infra link 196*4a64e381SAndroid Build Coastguard Worker optional int64 ra_rx = 9; 197*4a64e381SAndroid Build Coastguard Worker 198*4a64e381SAndroid Build Coastguard Worker // The number of Router Advertisement packets successfully transmitted by 199*4a64e381SAndroid Build Coastguard Worker // otbr-agent on the infra link. 200*4a64e381SAndroid Build Coastguard Worker optional int64 ra_tx_success = 10; 201*4a64e381SAndroid Build Coastguard Worker 202*4a64e381SAndroid Build Coastguard Worker // The number of Router Advertisement packets failed to transmit by 203*4a64e381SAndroid Build Coastguard Worker // otbr-agent on the infra link. 204*4a64e381SAndroid Build Coastguard Worker optional int64 ra_tx_failure = 11; 205*4a64e381SAndroid Build Coastguard Worker 206*4a64e381SAndroid Build Coastguard Worker // The number of Router Solicitation packets received by otbr-agent on the 207*4a64e381SAndroid Build Coastguard Worker // infra link 208*4a64e381SAndroid Build Coastguard Worker optional int64 rs_rx = 12; 209*4a64e381SAndroid Build Coastguard Worker 210*4a64e381SAndroid Build Coastguard Worker // The number of Router Solicitation packets successfully transmitted by 211*4a64e381SAndroid Build Coastguard Worker // otbr-agent on the infra link. 212*4a64e381SAndroid Build Coastguard Worker optional int64 rs_tx_success = 13; 213*4a64e381SAndroid Build Coastguard Worker 214*4a64e381SAndroid Build Coastguard Worker // The number of Router Solicitation packets failed to transmit by 215*4a64e381SAndroid Build Coastguard Worker // otbr-agent on the infra link. 216*4a64e381SAndroid Build Coastguard Worker optional int64 rs_tx_failure = 14; 217*4a64e381SAndroid Build Coastguard Worker 218*4a64e381SAndroid Build Coastguard Worker // The counters for inbound unicast packets 219*4a64e381SAndroid Build Coastguard Worker optional PacketsAndBytes inbound_unicast = 15; 220*4a64e381SAndroid Build Coastguard Worker 221*4a64e381SAndroid Build Coastguard Worker // The counters for inbound multicast packets 222*4a64e381SAndroid Build Coastguard Worker optional PacketsAndBytes inbound_multicast = 16; 223*4a64e381SAndroid Build Coastguard Worker 224*4a64e381SAndroid Build Coastguard Worker // The counters for outbound unicast packets 225*4a64e381SAndroid Build Coastguard Worker optional PacketsAndBytes outbound_unicast = 17; 226*4a64e381SAndroid Build Coastguard Worker 227*4a64e381SAndroid Build Coastguard Worker // The counters for outbound multicast packets 228*4a64e381SAndroid Build Coastguard Worker optional PacketsAndBytes outbound_multicast = 18; 229*4a64e381SAndroid Build Coastguard Worker 230*4a64e381SAndroid Build Coastguard Worker // The inbound and outbound NAT64 traffic through the border router 231*4a64e381SAndroid Build Coastguard Worker optional Nat64ProtocolCounters nat64_protocol_counters = 19; 232*4a64e381SAndroid Build Coastguard Worker 233*4a64e381SAndroid Build Coastguard Worker // Error counters for NAT64 translator on the border router 234*4a64e381SAndroid Build Coastguard Worker optional Nat64ErrorCounters nat64_error_counters = 20; 235*4a64e381SAndroid Build Coastguard Worker 236*4a64e381SAndroid Build Coastguard Worker // The counter for inbound Internet when DHCPv6 PD enabled 237*4a64e381SAndroid Build Coastguard Worker optional PacketsAndBytes inbound_internet = 21; 238*4a64e381SAndroid Build Coastguard Worker 239*4a64e381SAndroid Build Coastguard Worker // The counter for outbound Internet when DHCPv6 PD enabled 240*4a64e381SAndroid Build Coastguard Worker optional PacketsAndBytes outbound_internet = 22; 241*4a64e381SAndroid Build Coastguard Worker } 242*4a64e381SAndroid Build Coastguard Worker 243*4a64e381SAndroid Build Coastguard Worker enum Dhcp6PdState { 244*4a64e381SAndroid Build Coastguard Worker DHCP6_PD_STATE_UNSPECIFIED = 0; 245*4a64e381SAndroid Build Coastguard Worker 246*4a64e381SAndroid Build Coastguard Worker // DHCPv6 PD is disabled on the border router. 247*4a64e381SAndroid Build Coastguard Worker DHCP6_PD_STATE_DISABLED = 1; 248*4a64e381SAndroid Build Coastguard Worker 249*4a64e381SAndroid Build Coastguard Worker // DHCPv6 PD is enabled but won't try to request and publish a prefix. 250*4a64e381SAndroid Build Coastguard Worker DHCP6_PD_STATE_STOPPED = 2; 251*4a64e381SAndroid Build Coastguard Worker 252*4a64e381SAndroid Build Coastguard Worker // DHCPv6 PD is enabled and will try to request and publish a prefix. 253*4a64e381SAndroid Build Coastguard Worker DHCP6_PD_STATE_RUNNING = 3; 254*4a64e381SAndroid Build Coastguard Worker } 255*4a64e381SAndroid Build Coastguard Worker 256*4a64e381SAndroid Build Coastguard Worker message PdProcessedRaInfo { 257*4a64e381SAndroid Build Coastguard Worker // The number of platform generated RA handled by ApplyPlatfromGeneratedRa. 258*4a64e381SAndroid Build Coastguard Worker optional uint32 num_platform_ra_received = 1; 259*4a64e381SAndroid Build Coastguard Worker 260*4a64e381SAndroid Build Coastguard Worker // The number of PIO processed for adding OMR prefixes. 261*4a64e381SAndroid Build Coastguard Worker optional uint32 num_platform_pio_processed = 2; 262*4a64e381SAndroid Build Coastguard Worker 263*4a64e381SAndroid Build Coastguard Worker // The timestamp of last processed RA message. 264*4a64e381SAndroid Build Coastguard Worker optional uint32 last_platform_ra_msec = 3; 265*4a64e381SAndroid Build Coastguard Worker } 266*4a64e381SAndroid Build Coastguard Worker 267*4a64e381SAndroid Build Coastguard Worker message SrpServerRegistrationInfo { 268*4a64e381SAndroid Build Coastguard Worker // The number of active hosts/services registered on the SRP server. 269*4a64e381SAndroid Build Coastguard Worker optional uint32 fresh_count = 1; 270*4a64e381SAndroid Build Coastguard Worker 271*4a64e381SAndroid Build Coastguard Worker // The number of hosts/services in 'Deleted' state on the SRP server. 272*4a64e381SAndroid Build Coastguard Worker optional uint32 deleted_count = 2; 273*4a64e381SAndroid Build Coastguard Worker 274*4a64e381SAndroid Build Coastguard Worker // The sum of lease time in milliseconds of all active hosts/services on the 275*4a64e381SAndroid Build Coastguard Worker // SRP server. 276*4a64e381SAndroid Build Coastguard Worker optional uint64 lease_time_total_ms = 3; 277*4a64e381SAndroid Build Coastguard Worker 278*4a64e381SAndroid Build Coastguard Worker // The sum of key lease time in milliseconds of all active hosts/services on 279*4a64e381SAndroid Build Coastguard Worker // the SRP server. 280*4a64e381SAndroid Build Coastguard Worker optional uint64 key_lease_time_total_ms = 4; 281*4a64e381SAndroid Build Coastguard Worker 282*4a64e381SAndroid Build Coastguard Worker // The sum of remaining lease time in milliseconds of all active 283*4a64e381SAndroid Build Coastguard Worker // hosts/services on the SRP server. 284*4a64e381SAndroid Build Coastguard Worker optional uint64 remaining_lease_time_total_ms = 5; 285*4a64e381SAndroid Build Coastguard Worker 286*4a64e381SAndroid Build Coastguard Worker // The sum of remaining key lease time in milliseconds of all active 287*4a64e381SAndroid Build Coastguard Worker // hosts/services on the SRP server. 288*4a64e381SAndroid Build Coastguard Worker optional uint64 remaining_key_lease_time_total_ms = 6; 289*4a64e381SAndroid Build Coastguard Worker } 290*4a64e381SAndroid Build Coastguard Worker 291*4a64e381SAndroid Build Coastguard Worker message SrpServerResponseCounters { 292*4a64e381SAndroid Build Coastguard Worker // The number of successful responses 293*4a64e381SAndroid Build Coastguard Worker optional uint32 success_count = 1; 294*4a64e381SAndroid Build Coastguard Worker 295*4a64e381SAndroid Build Coastguard Worker // The number of server failure responses 296*4a64e381SAndroid Build Coastguard Worker optional uint32 server_failure_count = 2; 297*4a64e381SAndroid Build Coastguard Worker 298*4a64e381SAndroid Build Coastguard Worker // The number of format error responses 299*4a64e381SAndroid Build Coastguard Worker optional uint32 format_error_count = 3; 300*4a64e381SAndroid Build Coastguard Worker 301*4a64e381SAndroid Build Coastguard Worker // The number of 'name exists' responses 302*4a64e381SAndroid Build Coastguard Worker optional uint32 name_exists_count = 4; 303*4a64e381SAndroid Build Coastguard Worker 304*4a64e381SAndroid Build Coastguard Worker // The number of refused responses 305*4a64e381SAndroid Build Coastguard Worker optional uint32 refused_count = 5; 306*4a64e381SAndroid Build Coastguard Worker 307*4a64e381SAndroid Build Coastguard Worker // The number of other responses 308*4a64e381SAndroid Build Coastguard Worker optional uint32 other_count = 6; 309*4a64e381SAndroid Build Coastguard Worker } 310*4a64e381SAndroid Build Coastguard Worker 311*4a64e381SAndroid Build Coastguard Worker enum SrpServerState { 312*4a64e381SAndroid Build Coastguard Worker SRP_SERVER_STATE_UNSPECIFIED = 0; 313*4a64e381SAndroid Build Coastguard Worker SRP_SERVER_STATE_DISABLED = 1; 314*4a64e381SAndroid Build Coastguard Worker SRP_SERVER_STATE_RUNNING = 2; 315*4a64e381SAndroid Build Coastguard Worker SRP_SERVER_STATE_STOPPED = 3; 316*4a64e381SAndroid Build Coastguard Worker } 317*4a64e381SAndroid Build Coastguard Worker 318*4a64e381SAndroid Build Coastguard Worker // The address mode used by the SRP server 319*4a64e381SAndroid Build Coastguard Worker enum SrpServerAddressMode { 320*4a64e381SAndroid Build Coastguard Worker SRP_SERVER_ADDRESS_MODE_UNSPECIFIED = 0; 321*4a64e381SAndroid Build Coastguard Worker SRP_SERVER_ADDRESS_MODE_UNICAST = 1; 322*4a64e381SAndroid Build Coastguard Worker SRP_SERVER_ADDRESS_MODE_STATE_ANYCAST = 2; 323*4a64e381SAndroid Build Coastguard Worker } 324*4a64e381SAndroid Build Coastguard Worker 325*4a64e381SAndroid Build Coastguard Worker enum UpstreamDnsQueryState { 326*4a64e381SAndroid Build Coastguard Worker UPSTREAMDNS_QUERY_STATE_UNSPECIFIED = 0; 327*4a64e381SAndroid Build Coastguard Worker UPSTREAMDNS_QUERY_STATE_ENABLED = 1; 328*4a64e381SAndroid Build Coastguard Worker UPSTREAMDNS_QUERY_STATE_DISABLED = 2; 329*4a64e381SAndroid Build Coastguard Worker } 330*4a64e381SAndroid Build Coastguard Worker 331*4a64e381SAndroid Build Coastguard Worker message SrpServerInfo { 332*4a64e381SAndroid Build Coastguard Worker // The state of the SRP server 333*4a64e381SAndroid Build Coastguard Worker optional SrpServerState state = 1; 334*4a64e381SAndroid Build Coastguard Worker 335*4a64e381SAndroid Build Coastguard Worker // Listening port number 336*4a64e381SAndroid Build Coastguard Worker optional uint32 port = 2; 337*4a64e381SAndroid Build Coastguard Worker // The address mode {unicast, anycast} of the SRP server 338*4a64e381SAndroid Build Coastguard Worker optional SrpServerAddressMode address_mode = 3; 339*4a64e381SAndroid Build Coastguard Worker 340*4a64e381SAndroid Build Coastguard Worker // The registration information of hosts on the SRP server 341*4a64e381SAndroid Build Coastguard Worker optional SrpServerRegistrationInfo hosts = 4; 342*4a64e381SAndroid Build Coastguard Worker 343*4a64e381SAndroid Build Coastguard Worker // The registration information of services on the SRP server 344*4a64e381SAndroid Build Coastguard Worker optional SrpServerRegistrationInfo services = 5; 345*4a64e381SAndroid Build Coastguard Worker 346*4a64e381SAndroid Build Coastguard Worker // The counters of response codes sent by the SRP server 347*4a64e381SAndroid Build Coastguard Worker optional SrpServerResponseCounters response_counters = 6; 348*4a64e381SAndroid Build Coastguard Worker } 349*4a64e381SAndroid Build Coastguard Worker 350*4a64e381SAndroid Build Coastguard Worker message TrelPacketCounters { 351*4a64e381SAndroid Build Coastguard Worker // The number of packets successfully transmitted through TREL 352*4a64e381SAndroid Build Coastguard Worker optional uint64 trel_tx_packets = 1; 353*4a64e381SAndroid Build Coastguard Worker 354*4a64e381SAndroid Build Coastguard Worker // The number of bytes successfully transmitted through TREL 355*4a64e381SAndroid Build Coastguard Worker optional uint64 trel_tx_bytes = 2; 356*4a64e381SAndroid Build Coastguard Worker 357*4a64e381SAndroid Build Coastguard Worker // The number of packet transmission failures through TREL 358*4a64e381SAndroid Build Coastguard Worker optional uint64 trel_tx_packets_failed = 3; 359*4a64e381SAndroid Build Coastguard Worker 360*4a64e381SAndroid Build Coastguard Worker // The number of packets successfully received through TREL 361*4a64e381SAndroid Build Coastguard Worker optional uint64 tre_rx_packets = 4; 362*4a64e381SAndroid Build Coastguard Worker 363*4a64e381SAndroid Build Coastguard Worker // The number of bytes successfully received through TREL 364*4a64e381SAndroid Build Coastguard Worker optional uint64 trel_rx_bytes = 5; 365*4a64e381SAndroid Build Coastguard Worker } 366*4a64e381SAndroid Build Coastguard Worker 367*4a64e381SAndroid Build Coastguard Worker message TrelInfo { 368*4a64e381SAndroid Build Coastguard Worker // Whether TREL is enabled. 369*4a64e381SAndroid Build Coastguard Worker optional bool is_trel_enabled = 1; 370*4a64e381SAndroid Build Coastguard Worker 371*4a64e381SAndroid Build Coastguard Worker // The number of TREL peers. 372*4a64e381SAndroid Build Coastguard Worker optional uint32 num_trel_peers = 2; 373*4a64e381SAndroid Build Coastguard Worker 374*4a64e381SAndroid Build Coastguard Worker // TREL packet counters 375*4a64e381SAndroid Build Coastguard Worker optional TrelPacketCounters counters = 3; 376*4a64e381SAndroid Build Coastguard Worker } 377*4a64e381SAndroid Build Coastguard Worker 378*4a64e381SAndroid Build Coastguard Worker message DnsServerResponseCounters { 379*4a64e381SAndroid Build Coastguard Worker // The number of successful responses 380*4a64e381SAndroid Build Coastguard Worker optional uint32 success_count = 1; 381*4a64e381SAndroid Build Coastguard Worker 382*4a64e381SAndroid Build Coastguard Worker // The number of server failure responses 383*4a64e381SAndroid Build Coastguard Worker optional uint32 server_failure_count = 2; 384*4a64e381SAndroid Build Coastguard Worker 385*4a64e381SAndroid Build Coastguard Worker // The number of format error responses 386*4a64e381SAndroid Build Coastguard Worker optional uint32 format_error_count = 3; 387*4a64e381SAndroid Build Coastguard Worker 388*4a64e381SAndroid Build Coastguard Worker // The number of name error responses 389*4a64e381SAndroid Build Coastguard Worker optional uint32 name_error_count = 4; 390*4a64e381SAndroid Build Coastguard Worker 391*4a64e381SAndroid Build Coastguard Worker // The number of 'not implemented' responses 392*4a64e381SAndroid Build Coastguard Worker optional uint32 not_implemented_count = 5; 393*4a64e381SAndroid Build Coastguard Worker 394*4a64e381SAndroid Build Coastguard Worker // The number of other responses 395*4a64e381SAndroid Build Coastguard Worker optional uint32 other_count = 6; 396*4a64e381SAndroid Build Coastguard Worker 397*4a64e381SAndroid Build Coastguard Worker // The number of queries handled by Upstream DNS server. 398*4a64e381SAndroid Build Coastguard Worker optional uint32 upstream_dns_queries = 7; 399*4a64e381SAndroid Build Coastguard Worker 400*4a64e381SAndroid Build Coastguard Worker // The number of responses handled by Upstream DNS server. 401*4a64e381SAndroid Build Coastguard Worker optional uint32 upstream_dns_responses = 8; 402*4a64e381SAndroid Build Coastguard Worker 403*4a64e381SAndroid Build Coastguard Worker // The number of upstream DNS failures. 404*4a64e381SAndroid Build Coastguard Worker optional uint32 upstream_dns_failures = 9; 405*4a64e381SAndroid Build Coastguard Worker } 406*4a64e381SAndroid Build Coastguard Worker 407*4a64e381SAndroid Build Coastguard Worker message DnsServerInfo { 408*4a64e381SAndroid Build Coastguard Worker // The counters of response codes sent by the DNS server 409*4a64e381SAndroid Build Coastguard Worker optional DnsServerResponseCounters response_counters = 1; 410*4a64e381SAndroid Build Coastguard Worker 411*4a64e381SAndroid Build Coastguard Worker // The number of DNS queries resolved at the local SRP server 412*4a64e381SAndroid Build Coastguard Worker optional uint32 resolved_by_local_srp_count = 2; 413*4a64e381SAndroid Build Coastguard Worker 414*4a64e381SAndroid Build Coastguard Worker // The state of upstream DNS query 415*4a64e381SAndroid Build Coastguard Worker optional UpstreamDnsQueryState upstream_dns_query_state = 3; 416*4a64e381SAndroid Build Coastguard Worker } 417*4a64e381SAndroid Build Coastguard Worker 418*4a64e381SAndroid Build Coastguard Worker message MdnsResponseCounters { 419*4a64e381SAndroid Build Coastguard Worker // The number of successful responses 420*4a64e381SAndroid Build Coastguard Worker optional uint32 success_count = 1; 421*4a64e381SAndroid Build Coastguard Worker 422*4a64e381SAndroid Build Coastguard Worker // The number of 'not found' responses 423*4a64e381SAndroid Build Coastguard Worker optional uint32 not_found_count = 2; 424*4a64e381SAndroid Build Coastguard Worker 425*4a64e381SAndroid Build Coastguard Worker // The number of 'invalid arg' responses 426*4a64e381SAndroid Build Coastguard Worker optional uint32 invalid_args_count = 3; 427*4a64e381SAndroid Build Coastguard Worker 428*4a64e381SAndroid Build Coastguard Worker // The number of 'duplicated' responses 429*4a64e381SAndroid Build Coastguard Worker optional uint32 duplicated_count = 4; 430*4a64e381SAndroid Build Coastguard Worker 431*4a64e381SAndroid Build Coastguard Worker // The number of 'not implemented' responses 432*4a64e381SAndroid Build Coastguard Worker optional uint32 not_implemented_count = 5; 433*4a64e381SAndroid Build Coastguard Worker 434*4a64e381SAndroid Build Coastguard Worker // The number of unknown error responses 435*4a64e381SAndroid Build Coastguard Worker optional uint32 unknown_error_count = 6; 436*4a64e381SAndroid Build Coastguard Worker 437*4a64e381SAndroid Build Coastguard Worker // The number of aborted responses 438*4a64e381SAndroid Build Coastguard Worker optional uint32 aborted_count = 7; 439*4a64e381SAndroid Build Coastguard Worker 440*4a64e381SAndroid Build Coastguard Worker // The number of invalid state responses 441*4a64e381SAndroid Build Coastguard Worker optional uint32 invalid_state_count = 8; 442*4a64e381SAndroid Build Coastguard Worker } 443*4a64e381SAndroid Build Coastguard Worker 444*4a64e381SAndroid Build Coastguard Worker message MdnsInfo { 445*4a64e381SAndroid Build Coastguard Worker // The response counters of host registrations 446*4a64e381SAndroid Build Coastguard Worker optional MdnsResponseCounters host_registration_responses = 1; 447*4a64e381SAndroid Build Coastguard Worker 448*4a64e381SAndroid Build Coastguard Worker // The response counters of service registrations 449*4a64e381SAndroid Build Coastguard Worker optional MdnsResponseCounters service_registration_responses = 2; 450*4a64e381SAndroid Build Coastguard Worker 451*4a64e381SAndroid Build Coastguard Worker // The response counters of host resolutions 452*4a64e381SAndroid Build Coastguard Worker optional MdnsResponseCounters host_resolution_responses = 3; 453*4a64e381SAndroid Build Coastguard Worker 454*4a64e381SAndroid Build Coastguard Worker // The response counters of service resolutions 455*4a64e381SAndroid Build Coastguard Worker optional MdnsResponseCounters service_resolution_responses = 4; 456*4a64e381SAndroid Build Coastguard Worker 457*4a64e381SAndroid Build Coastguard Worker // The EMA (Exponential Moving Average) latencies of mDNS operations 458*4a64e381SAndroid Build Coastguard Worker 459*4a64e381SAndroid Build Coastguard Worker // The EMA latency of host registrations in milliseconds 460*4a64e381SAndroid Build Coastguard Worker optional uint32 host_registration_ema_latency_ms = 5; 461*4a64e381SAndroid Build Coastguard Worker 462*4a64e381SAndroid Build Coastguard Worker // The EMA latency of service registrations in milliseconds 463*4a64e381SAndroid Build Coastguard Worker optional uint32 service_registration_ema_latency_ms = 6; 464*4a64e381SAndroid Build Coastguard Worker 465*4a64e381SAndroid Build Coastguard Worker // The EMA latency of host resolutions in milliseconds 466*4a64e381SAndroid Build Coastguard Worker optional uint32 host_resolution_ema_latency_ms = 7; 467*4a64e381SAndroid Build Coastguard Worker 468*4a64e381SAndroid Build Coastguard Worker // The EMA latency of service resolutions in milliseconds 469*4a64e381SAndroid Build Coastguard Worker optional uint32 service_resolution_ema_latency_ms = 8; 470*4a64e381SAndroid Build Coastguard Worker } 471*4a64e381SAndroid Build Coastguard Worker 472*4a64e381SAndroid Build Coastguard Worker enum Nat64State { 473*4a64e381SAndroid Build Coastguard Worker NAT64_STATE_UNSPECIFIED = 0; 474*4a64e381SAndroid Build Coastguard Worker NAT64_STATE_DISABLED = 1; 475*4a64e381SAndroid Build Coastguard Worker NAT64_STATE_NOT_RUNNING = 2; 476*4a64e381SAndroid Build Coastguard Worker NAT64_STATE_IDLE = 3; 477*4a64e381SAndroid Build Coastguard Worker NAT64_STATE_ACTIVE = 4; 478*4a64e381SAndroid Build Coastguard Worker } 479*4a64e381SAndroid Build Coastguard Worker 480*4a64e381SAndroid Build Coastguard Worker message BorderRoutingNat64State { 481*4a64e381SAndroid Build Coastguard Worker optional Nat64State prefix_manager_state = 1; 482*4a64e381SAndroid Build Coastguard Worker optional Nat64State translator_state = 2; 483*4a64e381SAndroid Build Coastguard Worker } 484*4a64e381SAndroid Build Coastguard Worker 485*4a64e381SAndroid Build Coastguard Worker message Nat64Mapping { 486*4a64e381SAndroid Build Coastguard Worker optional uint64 mapping_id = 1; 487*4a64e381SAndroid Build Coastguard Worker optional bytes hashed_ipv6_address = 2; 488*4a64e381SAndroid Build Coastguard Worker optional Nat64ProtocolCounters counters = 3; 489*4a64e381SAndroid Build Coastguard Worker } 490*4a64e381SAndroid Build Coastguard Worker 491*4a64e381SAndroid Build Coastguard Worker message InfraLinkInfo { 492*4a64e381SAndroid Build Coastguard Worker optional string name = 1; 493*4a64e381SAndroid Build Coastguard Worker optional bool is_up = 2; 494*4a64e381SAndroid Build Coastguard Worker optional bool is_running = 3; 495*4a64e381SAndroid Build Coastguard Worker optional bool is_multicast = 4; 496*4a64e381SAndroid Build Coastguard Worker optional uint32 link_local_address_count = 5; 497*4a64e381SAndroid Build Coastguard Worker optional uint32 unique_local_address_count = 6; 498*4a64e381SAndroid Build Coastguard Worker optional uint32 global_unicast_address_count = 7; 499*4a64e381SAndroid Build Coastguard Worker // Indicates how many peer BRs (connected to the same Thread mesh network) are on the infra link. 500*4a64e381SAndroid Build Coastguard Worker optional uint32 peer_br_count = 8; 501*4a64e381SAndroid Build Coastguard Worker } 502*4a64e381SAndroid Build Coastguard Worker 503*4a64e381SAndroid Build Coastguard Worker // Message to indicate the information of external routes in network data. 504*4a64e381SAndroid Build Coastguard Worker message ExternalRoutes { 505*4a64e381SAndroid Build Coastguard Worker // Indicates whether the a zero-length prefix (::/0) added from this BR 506*4a64e381SAndroid Build Coastguard Worker optional bool has_default_route_added = 1; 507*4a64e381SAndroid Build Coastguard Worker 508*4a64e381SAndroid Build Coastguard Worker // Indicates whether the a ULA prefix (fc00::/7) added from this BR 509*4a64e381SAndroid Build Coastguard Worker optional bool has_ula_route_added = 2; 510*4a64e381SAndroid Build Coastguard Worker 511*4a64e381SAndroid Build Coastguard Worker // Indicates whether the other prefixes (other than "::/0" or "fc00::/7") added 512*4a64e381SAndroid Build Coastguard Worker // from this BR. (BR is a managed infrastructure router). 513*4a64e381SAndroid Build Coastguard Worker optional bool has_others_route_added = 3; 514*4a64e381SAndroid Build Coastguard Worker } 515*4a64e381SAndroid Build Coastguard Worker 516*4a64e381SAndroid Build Coastguard Worker message BorderAgentCounters { 517*4a64e381SAndroid Build Coastguard Worker // The number of ePSKc activations 518*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_activations = 1; 519*4a64e381SAndroid Build Coastguard Worker 520*4a64e381SAndroid Build Coastguard Worker // The number of ePSKc deactivations due to cleared via API 521*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_deactivation_clears = 2; 522*4a64e381SAndroid Build Coastguard Worker 523*4a64e381SAndroid Build Coastguard Worker // The number of ePSKc deactivations due to timeout 524*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_deactivation_timeouts = 3; 525*4a64e381SAndroid Build Coastguard Worker 526*4a64e381SAndroid Build Coastguard Worker // The number of ePSKc deactivations due to max connection attempts reached 527*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_deactivation_max_attempts = 4; 528*4a64e381SAndroid Build Coastguard Worker 529*4a64e381SAndroid Build Coastguard Worker // The number of ePSKc deactivations due to commissioner disconnected 530*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_deactivation_disconnects = 5; 531*4a64e381SAndroid Build Coastguard Worker 532*4a64e381SAndroid Build Coastguard Worker // The number of ePSKc activation failures caused by invalid border agent state 533*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_invalid_ba_state_errors = 6; 534*4a64e381SAndroid Build Coastguard Worker 535*4a64e381SAndroid Build Coastguard Worker // The number of ePSKc activation failures caused by invalid argument 536*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_invalid_args_errors = 7; 537*4a64e381SAndroid Build Coastguard Worker 538*4a64e381SAndroid Build Coastguard Worker // The number of ePSKc activation failures caused by failed to start secure session 539*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_start_secure_session_errors = 8; 540*4a64e381SAndroid Build Coastguard Worker 541*4a64e381SAndroid Build Coastguard Worker // The number of successful secure session establishment with ePSKc 542*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_secure_session_successes = 9; 543*4a64e381SAndroid Build Coastguard Worker 544*4a64e381SAndroid Build Coastguard Worker // The number of failed secure session establishement with ePSKc 545*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_secure_session_failures = 10; 546*4a64e381SAndroid Build Coastguard Worker 547*4a64e381SAndroid Build Coastguard Worker // The number of active commissioner petitioned over secure session establishment with ePSKc 548*4a64e381SAndroid Build Coastguard Worker optional uint32 epskc_commissioner_petitions = 11; 549*4a64e381SAndroid Build Coastguard Worker 550*4a64e381SAndroid Build Coastguard Worker // The number of successful secure session establishment with PSKc 551*4a64e381SAndroid Build Coastguard Worker optional uint32 pskc_secure_session_successes = 12; 552*4a64e381SAndroid Build Coastguard Worker 553*4a64e381SAndroid Build Coastguard Worker // The number of failed secure session establishement with PSKc 554*4a64e381SAndroid Build Coastguard Worker optional uint32 pskc_secure_session_failures = 13; 555*4a64e381SAndroid Build Coastguard Worker 556*4a64e381SAndroid Build Coastguard Worker // The number of active commissioner petitioned over secure session establishment with PSKc 557*4a64e381SAndroid Build Coastguard Worker optional uint32 pskc_commissioner_petitions = 14; 558*4a64e381SAndroid Build Coastguard Worker 559*4a64e381SAndroid Build Coastguard Worker // The number of MGMT_ACTIVE_GET.req received 560*4a64e381SAndroid Build Coastguard Worker optional uint32 mgmt_active_get_reqs = 15; 561*4a64e381SAndroid Build Coastguard Worker 562*4a64e381SAndroid Build Coastguard Worker // The number of MGMT_PENDING_GET.req received 563*4a64e381SAndroid Build Coastguard Worker optional uint32 mgmt_pending_get_reqs = 16; 564*4a64e381SAndroid Build Coastguard Worker } 565*4a64e381SAndroid Build Coastguard Worker 566*4a64e381SAndroid Build Coastguard Worker message BorderAgentInfo { 567*4a64e381SAndroid Build Coastguard Worker // The border agent counters 568*4a64e381SAndroid Build Coastguard Worker optional BorderAgentCounters border_agent_counters = 1; 569*4a64e381SAndroid Build Coastguard Worker } 570*4a64e381SAndroid Build Coastguard Worker 571*4a64e381SAndroid Build Coastguard Worker message WpanBorderRouter { 572*4a64e381SAndroid Build Coastguard Worker // Border routing counters 573*4a64e381SAndroid Build Coastguard Worker optional BorderRoutingCounters border_routing_counters = 1; 574*4a64e381SAndroid Build Coastguard Worker 575*4a64e381SAndroid Build Coastguard Worker // Information about the SRP server 576*4a64e381SAndroid Build Coastguard Worker optional SrpServerInfo srp_server = 2; 577*4a64e381SAndroid Build Coastguard Worker 578*4a64e381SAndroid Build Coastguard Worker // Information about the DNS server 579*4a64e381SAndroid Build Coastguard Worker optional DnsServerInfo dns_server = 3; 580*4a64e381SAndroid Build Coastguard Worker 581*4a64e381SAndroid Build Coastguard Worker // Information about the mDNS publisher 582*4a64e381SAndroid Build Coastguard Worker optional MdnsInfo mdns = 4; 583*4a64e381SAndroid Build Coastguard Worker 584*4a64e381SAndroid Build Coastguard Worker // TODO(b/285457467): remove this reserved proto field. 585*4a64e381SAndroid Build Coastguard Worker reserved 5; 586*4a64e381SAndroid Build Coastguard Worker 587*4a64e381SAndroid Build Coastguard Worker // Information about the state of components of NAT64 588*4a64e381SAndroid Build Coastguard Worker optional BorderRoutingNat64State nat64_state = 6; 589*4a64e381SAndroid Build Coastguard Worker 590*4a64e381SAndroid Build Coastguard Worker // Information about the mappings of NAT64 translator 591*4a64e381SAndroid Build Coastguard Worker repeated Nat64Mapping nat64_mappings = 7; 592*4a64e381SAndroid Build Coastguard Worker 593*4a64e381SAndroid Build Coastguard Worker // DHCPv6 PD state 594*4a64e381SAndroid Build Coastguard Worker optional Dhcp6PdState dhcp6_pd_state = 8; 595*4a64e381SAndroid Build Coastguard Worker 596*4a64e381SAndroid Build Coastguard Worker // DHCPv6 PD prefix 597*4a64e381SAndroid Build Coastguard Worker optional bytes hashed_pd_prefix = 9; 598*4a64e381SAndroid Build Coastguard Worker 599*4a64e381SAndroid Build Coastguard Worker // DHCPv6 PD processed RA Info 600*4a64e381SAndroid Build Coastguard Worker optional PdProcessedRaInfo pd_processed_ra_info= 10; 601*4a64e381SAndroid Build Coastguard Worker 602*4a64e381SAndroid Build Coastguard Worker // Information about TREL. 603*4a64e381SAndroid Build Coastguard Worker optional TrelInfo trel_info = 11; 604*4a64e381SAndroid Build Coastguard Worker 605*4a64e381SAndroid Build Coastguard Worker // Information about the infra link 606*4a64e381SAndroid Build Coastguard Worker optional InfraLinkInfo infra_link_info = 12; 607*4a64e381SAndroid Build Coastguard Worker 608*4a64e381SAndroid Build Coastguard Worker // Information about the external routes in network data. 609*4a64e381SAndroid Build Coastguard Worker optional ExternalRoutes external_route_info = 13; 610*4a64e381SAndroid Build Coastguard Worker 611*4a64e381SAndroid Build Coastguard Worker // Information about the Border Agent 612*4a64e381SAndroid Build Coastguard Worker optional BorderAgentInfo border_agent_info = 14; 613*4a64e381SAndroid Build Coastguard Worker } 614*4a64e381SAndroid Build Coastguard Worker 615*4a64e381SAndroid Build Coastguard Worker message RcpStabilityStatistics { 616*4a64e381SAndroid Build Coastguard Worker optional uint32 rcp_timeout_count = 1; 617*4a64e381SAndroid Build Coastguard Worker optional uint32 rcp_reset_count = 2; 618*4a64e381SAndroid Build Coastguard Worker optional uint32 rcp_restoration_count = 3; 619*4a64e381SAndroid Build Coastguard Worker optional uint32 spinel_parse_error_count = 4; 620*4a64e381SAndroid Build Coastguard Worker optional int32 rcp_firmware_update_count = 5; 621*4a64e381SAndroid Build Coastguard Worker optional uint32 thread_stack_uptime = 6; 622*4a64e381SAndroid Build Coastguard Worker } 623*4a64e381SAndroid Build Coastguard Worker 624*4a64e381SAndroid Build Coastguard Worker message RcpInterfaceStatistics { 625*4a64e381SAndroid Build Coastguard Worker optional uint32 rcp_interface_type = 1; 626*4a64e381SAndroid Build Coastguard Worker optional uint64 transferred_frames_count = 2; 627*4a64e381SAndroid Build Coastguard Worker optional uint64 transferred_valid_frames_count = 3; 628*4a64e381SAndroid Build Coastguard Worker optional uint64 transferred_garbage_frames_count = 4; 629*4a64e381SAndroid Build Coastguard Worker optional uint64 rx_frames_count = 5; 630*4a64e381SAndroid Build Coastguard Worker optional uint64 rx_bytes_count = 6; 631*4a64e381SAndroid Build Coastguard Worker optional uint64 tx_frames_count = 7; 632*4a64e381SAndroid Build Coastguard Worker optional uint64 tx_bytes_count = 8; 633*4a64e381SAndroid Build Coastguard Worker } 634*4a64e381SAndroid Build Coastguard Worker 635*4a64e381SAndroid Build Coastguard Worker message WpanRcp { 636*4a64e381SAndroid Build Coastguard Worker optional RcpStabilityStatistics rcp_stability_statistics = 1; 637*4a64e381SAndroid Build Coastguard Worker optional RcpInterfaceStatistics rcp_interface_statistics = 2; 638*4a64e381SAndroid Build Coastguard Worker } 639*4a64e381SAndroid Build Coastguard Worker 640*4a64e381SAndroid Build Coastguard Worker message CoexMetrics { 641*4a64e381SAndroid Build Coastguard Worker // Use uint32 instead of int64 to save space for payload, and align with the 642*4a64e381SAndroid Build Coastguard Worker // raw data size. 643*4a64e381SAndroid Build Coastguard Worker optional uint32 count_tx_request = 1; 644*4a64e381SAndroid Build Coastguard Worker optional uint32 count_tx_grant_immediate = 2; 645*4a64e381SAndroid Build Coastguard Worker optional uint32 count_tx_grant_wait = 3; 646*4a64e381SAndroid Build Coastguard Worker optional uint32 count_tx_grant_wait_activated = 4; 647*4a64e381SAndroid Build Coastguard Worker optional uint32 count_tx_grant_wait_timeout = 5; 648*4a64e381SAndroid Build Coastguard Worker optional uint32 count_tx_grant_deactivated_during_request = 6; 649*4a64e381SAndroid Build Coastguard Worker optional uint32 tx_average_request_to_grant_time_us = 7; 650*4a64e381SAndroid Build Coastguard Worker optional uint32 count_rx_request = 8; 651*4a64e381SAndroid Build Coastguard Worker optional uint32 count_rx_grant_immediate = 9; 652*4a64e381SAndroid Build Coastguard Worker optional uint32 count_rx_grant_wait = 10; 653*4a64e381SAndroid Build Coastguard Worker optional uint32 count_rx_grant_wait_activated = 11; 654*4a64e381SAndroid Build Coastguard Worker optional uint32 count_rx_grant_wait_timeout = 12; 655*4a64e381SAndroid Build Coastguard Worker optional uint32 count_rx_grant_deactivated_during_request = 13; 656*4a64e381SAndroid Build Coastguard Worker optional uint32 count_rx_grant_none = 14; 657*4a64e381SAndroid Build Coastguard Worker optional uint32 rx_average_request_to_grant_time_us = 15; 658*4a64e381SAndroid Build Coastguard Worker } 659*4a64e381SAndroid Build Coastguard Worker 660*4a64e381SAndroid Build Coastguard Worker message LinkMetricsEntry { 661*4a64e381SAndroid Build Coastguard Worker optional int32 link_margin = 1; 662*4a64e381SAndroid Build Coastguard Worker optional int32 rssi = 2; 663*4a64e381SAndroid Build Coastguard Worker } 664*4a64e381SAndroid Build Coastguard Worker 665*4a64e381SAndroid Build Coastguard Worker message LowPowerMetrics { 666*4a64e381SAndroid Build Coastguard Worker repeated LinkMetricsEntry link_metrics_entries = 1; 667*4a64e381SAndroid Build Coastguard Worker } 668*4a64e381SAndroid Build Coastguard Worker 669*4a64e381SAndroid Build Coastguard Worker optional WpanStats wpan_stats = 1; 670*4a64e381SAndroid Build Coastguard Worker optional WpanTopoFull wpan_topo_full = 2; 671*4a64e381SAndroid Build Coastguard Worker repeated TopoEntry topo_entries = 3; 672*4a64e381SAndroid Build Coastguard Worker optional WpanBorderRouter wpan_border_router = 4; 673*4a64e381SAndroid Build Coastguard Worker optional WpanRcp wpan_rcp = 5; 674*4a64e381SAndroid Build Coastguard Worker // Deprecate CoexMetrics with int64 as its fields types to save storage. 675*4a64e381SAndroid Build Coastguard Worker reserved 6; 676*4a64e381SAndroid Build Coastguard Worker optional CoexMetrics coex_metrics = 7; 677*4a64e381SAndroid Build Coastguard Worker optional LowPowerMetrics low_power_metrics = 8; 678*4a64e381SAndroid Build Coastguard Worker} 679