From 5a4f167360fd23bedb41faba53d0cbe74da35052 Mon Sep 17 00:00:00 2001 From: Brian Balser Date: Wed, 1 Nov 2023 14:24:11 -0400 Subject: [PATCH 01/11] Add since to iot_config stream_req_v1 --- src/service/iot_config.proto | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/service/iot_config.proto b/src/service/iot_config.proto index b7d5bc97..7e7f3e24 100644 --- a/src/service/iot_config.proto +++ b/src/service/iot_config.proto @@ -391,6 +391,9 @@ message route_stream_req_v1 { bytes signature = 2; // pubkey binary of the signing keypair bytes signer = 3; + // timestamp in milliseconds, only changes since this timestamp are + // streamed back to caller + uint64 since = 4; } message route_stream_res_v1 { From 28364f652beffad14cda6b3e7c7e4c49ad4d2b73 Mon Sep 17 00:00:00 2001 From: Matthew Plant Date: Tue, 12 Dec 2023 13:22:30 -0800 Subject: [PATCH 02/11] Add enum nova_generic_wifi_outdoor (#381) --- src/service/poc_mobile.proto | 1 + 1 file changed, 1 insertion(+) diff --git a/src/service/poc_mobile.proto b/src/service/poc_mobile.proto index eeb25495..4db94514 100644 --- a/src/service/poc_mobile.proto +++ b/src/service/poc_mobile.proto @@ -371,6 +371,7 @@ enum cell_type { sercomm_outdoor = 4; cell_type_none = 5; nova_generic_wifi_indoor = 6; + nova_generic_wifi_outdoor = 7; } message data_transfer_session_req_v1 { From da1c36915c46a34644e017d6779a2d56065f6cd2 Mon Sep 17 00:00:00 2001 From: Marc Nijdam Date: Wed, 13 Dec 2023 16:08:30 -0700 Subject: [PATCH 03/11] add packet ack down envelope message (#380) --- src/service/packet_router.proto | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/service/packet_router.proto b/src/service/packet_router.proto index 017a4350..4032b929 100644 --- a/src/service/packet_router.proto +++ b/src/service/packet_router.proto @@ -51,6 +51,7 @@ message packet_router_register_v1 { bytes gateway = 2; bytes signature = 3; bool session_capable = 4; + uint32 packet_ack_interval = 5; } // Session offer from the packet router to the gateway. If the gateway wants to @@ -102,10 +103,13 @@ message packet_router_packet_down_v1 { window_v1 rx2 = 3; } +message packet_router_packet_ack_v1 { bytes payload_hash = 1; } + message envelope_down_v1 { oneof data { packet_router_packet_down_v1 packet = 1; packet_router_session_offer_v1 session_offer = 2; + packet_router_packet_ack_v1 packet_ack = 3; } } From 1496698e457e80055b694b7202e441468e3bc4b3 Mon Sep 17 00:00:00 2001 From: Andrew McKenzie Date: Wed, 27 Sep 2023 13:00:26 +0100 Subject: [PATCH 04/11] extend enum to support bad cell type --- src/service/poc_mobile.proto | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/service/poc_mobile.proto b/src/service/poc_mobile.proto index 4db94514..14155915 100644 --- a/src/service/poc_mobile.proto +++ b/src/service/poc_mobile.proto @@ -247,6 +247,8 @@ enum heartbeat_validity { heartbeat_validity_too_far_from_coverage = 9; // Gateway is not asserted heartbeat_validity_gateway_not_asserted = 10; + // Heartbeat cell type does not match asserted cell type + heartbeat_validity_bad_cell_type = 10; } message seniority_update { From 4449ad6c1dc70720f5b4f6124c0c14fa5cc983a2 Mon Sep 17 00:00:00 2001 From: Andrew McKenzie Date: Wed, 27 Sep 2023 16:31:02 +0100 Subject: [PATCH 05/11] fix enum value --- src/service/mobile_config.proto | 2 ++ src/service/poc_mobile.proto | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/service/mobile_config.proto b/src/service/mobile_config.proto index 1b598c04..bf2b6d23 100644 --- a/src/service/mobile_config.proto +++ b/src/service/mobile_config.proto @@ -21,6 +21,8 @@ message gateway_metadata { // The res12 h3 index asserted address of the gateway as a string // where an unasserted gateway returns an empty string string location = 2; + // + string device_type = 3; } message gateway_info { diff --git a/src/service/poc_mobile.proto b/src/service/poc_mobile.proto index 14155915..9807851b 100644 --- a/src/service/poc_mobile.proto +++ b/src/service/poc_mobile.proto @@ -248,7 +248,7 @@ enum heartbeat_validity { // Gateway is not asserted heartbeat_validity_gateway_not_asserted = 10; // Heartbeat cell type does not match asserted cell type - heartbeat_validity_bad_cell_type = 10; + heartbeat_validity_bad_cell_type = 11; } message seniority_update { From bb4d1a49743667db4aabb68ba6a71f862cf9710f Mon Sep 17 00:00:00 2001 From: Andrew McKenzie Date: Fri, 17 Nov 2023 13:51:14 +0000 Subject: [PATCH 06/11] add comment --- src/service/mobile_config.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/service/mobile_config.proto b/src/service/mobile_config.proto index bf2b6d23..f8afe39d 100644 --- a/src/service/mobile_config.proto +++ b/src/service/mobile_config.proto @@ -21,7 +21,7 @@ message gateway_metadata { // The res12 h3 index asserted address of the gateway as a string // where an unasserted gateway returns an empty string string location = 2; - // + // the asserted device type of the gateway string device_type = 3; } From 250579e59dd9731c5c85fcd011be13796f6e6d4e Mon Sep 17 00:00:00 2001 From: Andrew McKenzie Date: Thu, 7 Dec 2023 14:12:55 +0000 Subject: [PATCH 07/11] use enum for device type --- src/service/mobile_config.proto | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/service/mobile_config.proto b/src/service/mobile_config.proto index f8afe39d..4e052f8d 100644 --- a/src/service/mobile_config.proto +++ b/src/service/mobile_config.proto @@ -21,8 +21,6 @@ message gateway_metadata { // The res12 h3 index asserted address of the gateway as a string // where an unasserted gateway returns an empty string string location = 2; - // the asserted device type of the gateway - string device_type = 3; } message gateway_info { @@ -30,6 +28,8 @@ message gateway_info { bytes address = 1; // The gateway metadata as recorded on the blockchain gateway_metadata metadata = 2; + // the asserted device type of the gateway + device_type device_type = 3; } message gateway_info_req_v1 { @@ -103,6 +103,11 @@ enum network_key_role { mobile_pcs = 2; } +enum device_type { + cbrs = 0; + wifi_indoor = 1; +} + message authorization_verify_req_v1 { // the pubkey binary of the authorized entity being verified bytes pubkey = 1; From 867ca9cc1e53edf96345e378a27f2497e04ecd07 Mon Sep 17 00:00:00 2001 From: jeffgrunewald Date: Wed, 13 Dec 2023 17:00:03 -0500 Subject: [PATCH 08/11] move device type to metadata --- src/service/mobile_config.proto | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/service/mobile_config.proto b/src/service/mobile_config.proto index 4e052f8d..1efeb015 100644 --- a/src/service/mobile_config.proto +++ b/src/service/mobile_config.proto @@ -21,6 +21,8 @@ message gateway_metadata { // The res12 h3 index asserted address of the gateway as a string // where an unasserted gateway returns an empty string string location = 2; + // the asserted device type of the gateway + device_type device_type = 3; } message gateway_info { @@ -28,8 +30,6 @@ message gateway_info { bytes address = 1; // The gateway metadata as recorded on the blockchain gateway_metadata metadata = 2; - // the asserted device type of the gateway - device_type device_type = 3; } message gateway_info_req_v1 { @@ -106,6 +106,7 @@ enum network_key_role { enum device_type { cbrs = 0; wifi_indoor = 1; + wifi_outdoor = 2; } message authorization_verify_req_v1 { From 72db6a5c3cd8b7853b6f8a67c8ed468b903df9d8 Mon Sep 17 00:00:00 2001 From: jeffgrunewald Date: Thu, 14 Dec 2023 12:23:39 -0500 Subject: [PATCH 09/11] move the device type back --- src/service/mobile_config.proto | 4 ++-- src/service/poc_mobile.proto | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/service/mobile_config.proto b/src/service/mobile_config.proto index 1efeb015..8dc6ee56 100644 --- a/src/service/mobile_config.proto +++ b/src/service/mobile_config.proto @@ -21,8 +21,6 @@ message gateway_metadata { // The res12 h3 index asserted address of the gateway as a string // where an unasserted gateway returns an empty string string location = 2; - // the asserted device type of the gateway - device_type device_type = 3; } message gateway_info { @@ -30,6 +28,8 @@ message gateway_info { bytes address = 1; // The gateway metadata as recorded on the blockchain gateway_metadata metadata = 2; + // the asserted device type of the gateway + device_type device_type = 3; } message gateway_info_req_v1 { diff --git a/src/service/poc_mobile.proto b/src/service/poc_mobile.proto index 9807851b..4db94514 100644 --- a/src/service/poc_mobile.proto +++ b/src/service/poc_mobile.proto @@ -247,8 +247,6 @@ enum heartbeat_validity { heartbeat_validity_too_far_from_coverage = 9; // Gateway is not asserted heartbeat_validity_gateway_not_asserted = 10; - // Heartbeat cell type does not match asserted cell type - heartbeat_validity_bad_cell_type = 11; } message seniority_update { From e331df71553823b78c4edf2c6d115536656d0fde Mon Sep 17 00:00:00 2001 From: jeffgrunewald Date: Thu, 30 Nov 2023 12:48:51 -0500 Subject: [PATCH 10/11] add batch mobile config gateway query api --- src/service/mobile_config.proto | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/service/mobile_config.proto b/src/service/mobile_config.proto index 8dc6ee56..378f8fdb 100644 --- a/src/service/mobile_config.proto +++ b/src/service/mobile_config.proto @@ -40,6 +40,14 @@ message gateway_info_req_v1 { bytes signature = 3; } +message gateway_info_batch_req_v1 { + // List of public key addresses of gateways to look up + repeated bytes addresses = 1; + // pubkey binary of the signing keypair + bytes signer = 2; + bytes signature = 3; +} + message gateway_info_res_v1 { gateway_info info = 1; // unix epoch timestamp in seconds @@ -189,6 +197,9 @@ message admin_key_res_v1 { service gateway { // Get info for the specified gateway rpc info(gateway_info_req_v1) returns (gateway_info_res_v1); + // Get info for a batch of gateways specified by public key + rpc info_batch(gateway_info_batch_req_v1) + returns (stream gateway_info_stream_res_v1); // Get a stream of gateway info rpc info_stream(gateway_info_stream_req_v1) returns (stream gateway_info_stream_res_v1); From 5a11fa6d64ca57c7fff5ae3d80d89e2044878f98 Mon Sep 17 00:00:00 2001 From: jeffgrunewald Date: Thu, 30 Nov 2023 15:54:45 -0500 Subject: [PATCH 11/11] add batch size field --- src/service/mobile_config.proto | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/service/mobile_config.proto b/src/service/mobile_config.proto index 378f8fdb..8ad69e2e 100644 --- a/src/service/mobile_config.proto +++ b/src/service/mobile_config.proto @@ -43,9 +43,11 @@ message gateway_info_req_v1 { message gateway_info_batch_req_v1 { // List of public key addresses of gateways to look up repeated bytes addresses = 1; + // max number of gateway info records in each message of the response stream + uint32 batch_size = 2; // pubkey binary of the signing keypair - bytes signer = 2; - bytes signature = 3; + bytes signer = 3; + bytes signature = 4; } message gateway_info_res_v1 {