blob: 740ab6a1c684bf0e2f5705a2c1ca78fcd5a0da59 [file] [log] [blame]
Wei-Yu Chenad55cb82022-02-15 20:07:01 +08001// SPDX-FileCopyrightText: 2020 The Magma Authors.
2// SPDX-FileCopyrightText: 2022 Open Networking Foundation <support@opennetworking.org>
3//
4// SPDX-License-Identifier: BSD-3-Clause
5
6syntax = "proto3";
7
8import "google/protobuf/any.proto";
9
10package magma.orc8r;
11option go_package = "magma/orc8r/lib/go/protos";
12
13// --------------------------------------------------------------------------
14// GatewayConfigs structure is a container for all Access Gateway's (AG) Cloud
15// Managed Configs (CMC). Each and every field of GatewayConfigs represents
16// one AG service config
17// --------------------------------------------------------------------------
18// NOTE: a service config field name (control_proxy, enodebd, etc.) must match
19// the corresponding gateway service's name exactly
20message GatewayConfigs {
21 map<string, google.protobuf.Any> configs_by_key = 10;
22
23 GatewayConfigsMetadata metadata = 11;
24}
25
26// Deterministic hash of a serialized GatewayConfigs proto
27message GatewayConfigsDigest {
28 // Hexadecimal MD5 hash of the UTF-8-encoded stringified full mconfigs
29 string md5_hex_digest = 1;
30}
31
32// Metadata about the configs.
33message GatewayConfigsMetadata {
34 // Unix timestamp of Cloud at the time of config generation.
35 uint64 created_at = 11;
36 GatewayConfigsDigest digest = 12;
37}
38
39// Wraps a gateway config and a stream offset that the config was computed
40// from
41message OffsetGatewayConfigs {
42 GatewayConfigs configs = 1;
43 int64 offset = 2;
44}
45
46// Stream request passed as extra args to the streaming mconfig streamer policy.
47// Contains a single field, the offset of the mconfig currently stored on
48// the device.
49message MconfigStreamRequest {
50 int64 offset = 1;
51}