123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- 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;
- HostUpdateNotificationAck = 10;
- }
- 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;
- }
|