2019-11-19 18:00:20 +01:00
|
|
|
syntax = "proto3";
|
|
|
|
package nebula;
|
|
|
|
|
2021-04-01 17:23:31 +02:00
|
|
|
option go_package = "github.com/slackhq/nebula";
|
|
|
|
|
2019-11-19 18:00:20 +01:00
|
|
|
message NebulaMeta {
|
|
|
|
enum MessageType {
|
|
|
|
None = 0;
|
|
|
|
HostQuery = 1;
|
|
|
|
HostQueryReply = 2;
|
|
|
|
HostUpdateNotification = 3;
|
|
|
|
HostMovedNotification = 4;
|
|
|
|
HostPunchNotification = 5;
|
|
|
|
HostWhoami = 6;
|
|
|
|
HostWhoamiReply = 7;
|
|
|
|
PathCheck = 8;
|
|
|
|
PathCheckReply = 9;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
MessageType Type = 1;
|
|
|
|
NebulaMetaDetails Details = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message NebulaMetaDetails {
|
|
|
|
uint32 VpnIp = 1;
|
2021-04-01 00:32:02 +02:00
|
|
|
repeated Ip4AndPort Ip4AndPorts = 2;
|
2021-03-19 02:37:24 +01:00
|
|
|
repeated Ip6AndPort Ip6AndPorts = 4;
|
2019-11-19 18:00:20 +01:00
|
|
|
uint32 counter = 3;
|
|
|
|
}
|
|
|
|
|
2021-04-01 00:32:02 +02:00
|
|
|
message Ip4AndPort {
|
2019-11-19 18:00:20 +01:00
|
|
|
uint32 Ip = 1;
|
|
|
|
uint32 Port = 2;
|
|
|
|
}
|
|
|
|
|
2021-03-19 02:37:24 +01:00
|
|
|
message Ip6AndPort {
|
2021-04-01 17:23:31 +02:00
|
|
|
uint64 Hi = 1;
|
|
|
|
uint64 Lo = 2;
|
|
|
|
uint32 Port = 3;
|
2021-03-19 02:37:24 +01:00
|
|
|
}
|
2019-11-19 18:00:20 +01:00
|
|
|
|
|
|
|
message NebulaPing {
|
|
|
|
enum MessageType {
|
|
|
|
Ping = 0;
|
|
|
|
Reply = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
MessageType Type = 1;
|
|
|
|
uint64 Time = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message NebulaHandshake {
|
|
|
|
NebulaHandshakeDetails Details = 1;
|
|
|
|
bytes Hmac = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message NebulaHandshakeDetails {
|
|
|
|
bytes Cert = 1;
|
|
|
|
uint32 InitiatorIndex = 2;
|
|
|
|
uint32 ResponderIndex = 3;
|
|
|
|
uint64 Cookie = 4;
|
|
|
|
uint64 Time = 5;
|
|
|
|
}
|
|
|
|
|