blob: 838b651651f5b18172a9847437b895e0211f1560 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.overnet.protocol;
const uint64 METRIC_VERSION_TOMBSTONE = 0xffffffffffffffff;
table PeerDescription {
1: vector<string> services;
};
struct LinkLabel {
NodeId from;
NodeId to;
uint64 local_id;
uint64 version;
};
table LinkMetrics {
1: LinkLabel label;
2: uint64 bw_link;
3: uint64 bw_used;
4: uint64 rtt;
5: uint32 mss;
};
struct NodeLabel {
NodeId id;
uint64 version;
};
table NodeMetrics {
1: NodeLabel label;
2: PeerDescription description;
3: uint64 forwarding_time;
};
table RoutingTableUpdate {
1: vector<NodeMetrics> nodes;
2: vector<LinkMetrics> links;
};