mirror of https://github.com/slackhq/nebula.git
81 lines
1.4 KiB
Protocol Buffer
81 lines
1.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
package nebula;
|
|
|
|
option go_package = "github.com/slackhq/nebula";
|
|
|
|
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;
|
|
repeated Ip4AndPort Ip4AndPorts = 2;
|
|
repeated Ip6AndPort Ip6AndPorts = 4;
|
|
repeated uint32 RelayVpnIp = 5;
|
|
uint32 counter = 3;
|
|
}
|
|
|
|
message Ip4AndPort {
|
|
uint32 Ip = 1;
|
|
uint32 Port = 2;
|
|
}
|
|
|
|
message Ip6AndPort {
|
|
uint64 Hi = 1;
|
|
uint64 Lo = 2;
|
|
uint32 Port = 3;
|
|
}
|
|
|
|
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;
|
|
// reserved for WIP multiport
|
|
reserved 6, 7;
|
|
}
|
|
|
|
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;
|
|
}
|