2019-11-19 10:00:20 -07:00
|
|
|
syntax = "proto3";
|
|
|
|
package nebula;
|
|
|
|
|
2021-04-01 09:23:31 -06:00
|
|
|
option go_package = "github.com/slackhq/nebula";
|
|
|
|
|
2019-11-19 10:00:20 -07: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;
|
2023-05-05 13:44:03 -06:00
|
|
|
HostUpdateNotificationAck = 10;
|
2019-11-19 10:00:20 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
MessageType Type = 1;
|
|
|
|
NebulaMetaDetails Details = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message NebulaMetaDetails {
|
|
|
|
uint32 VpnIp = 1;
|
2021-03-31 16:32:02 -06:00
|
|
|
repeated Ip4AndPort Ip4AndPorts = 2;
|
2021-03-18 19:37:24 -06:00
|
|
|
repeated Ip6AndPort Ip6AndPorts = 4;
|
2022-06-21 12:35:23 -06:00
|
|
|
repeated uint32 RelayVpnIp = 5;
|
2019-11-19 10:00:20 -07:00
|
|
|
uint32 counter = 3;
|
|
|
|
}
|
|
|
|
|
2021-03-31 16:32:02 -06:00
|
|
|
message Ip4AndPort {
|
2019-11-19 10:00:20 -07:00
|
|
|
uint32 Ip = 1;
|
|
|
|
uint32 Port = 2;
|
|
|
|
}
|
|
|
|
|
2021-03-18 19:37:24 -06:00
|
|
|
message Ip6AndPort {
|
2021-04-01 09:23:31 -06:00
|
|
|
uint64 Hi = 1;
|
|
|
|
uint64 Lo = 2;
|
|
|
|
uint32 Port = 3;
|
2021-03-18 19:37:24 -06:00
|
|
|
}
|
2019-11-19 10:00:20 -07: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;
|
2022-06-27 10:07:05 -06:00
|
|
|
// reserved for WIP multiport
|
|
|
|
reserved 6, 7;
|
2019-11-19 10:00:20 -07:00
|
|
|
}
|
|
|
|
|
2022-06-21 12:35:23 -06:00
|
|
|
message NebulaControl {
|
|
|
|
enum MessageType {
|
|
|
|
None = 0;
|
|
|
|
CreateRelayRequest = 1;
|
|
|
|
CreateRelayResponse = 2;
|
|
|
|
}
|
|
|
|
MessageType Type = 1;
|
|
|
|
|
|
|
|
uint32 InitiatorRelayIndex = 2;
|
|
|
|
uint32 ResponderRelayIndex = 3;
|
|
|
|
uint32 RelayToIp = 4;
|
|
|
|
uint32 RelayFromIp = 5;
|
|
|
|
}
|