github.com/slackhq/nebula@v1.9.0/nebula.proto (about)

     1  syntax = "proto3";
     2  package nebula;
     3  
     4  option go_package = "github.com/slackhq/nebula";
     5  
     6  message NebulaMeta {
     7    enum MessageType {
     8      None = 0;
     9      HostQuery = 1;
    10      HostQueryReply = 2;
    11      HostUpdateNotification = 3;
    12      HostMovedNotification = 4;
    13      HostPunchNotification = 5;
    14      HostWhoami = 6;
    15      HostWhoamiReply = 7;
    16      PathCheck = 8;
    17      PathCheckReply = 9;
    18      HostUpdateNotificationAck = 10;
    19    }
    20  
    21    MessageType Type = 1;
    22    NebulaMetaDetails Details = 2;
    23  }
    24  
    25  message NebulaMetaDetails {
    26    uint32 VpnIp = 1;
    27    repeated Ip4AndPort Ip4AndPorts = 2;
    28    repeated Ip6AndPort Ip6AndPorts = 4;
    29    repeated uint32 RelayVpnIp = 5;
    30    uint32 counter = 3;
    31  }
    32  
    33  message Ip4AndPort {
    34    uint32 Ip = 1;
    35    uint32 Port = 2;
    36  }
    37  
    38  message Ip6AndPort {
    39    uint64 Hi = 1;
    40    uint64 Lo = 2;
    41    uint32 Port = 3;
    42  }
    43  
    44  message NebulaPing {
    45    enum MessageType {
    46  		Ping = 0;
    47  		Reply = 1;
    48  	}
    49  
    50  	MessageType Type = 1;
    51  	uint64 Time = 2;
    52  }
    53  
    54  message NebulaHandshake {
    55    NebulaHandshakeDetails Details = 1;
    56    bytes Hmac = 2;
    57  }
    58  
    59  message NebulaHandshakeDetails {
    60    bytes Cert = 1;
    61    uint32 InitiatorIndex = 2;
    62    uint32 ResponderIndex = 3;
    63    uint64 Cookie = 4;
    64    uint64 Time = 5;
    65    // reserved for WIP multiport
    66    reserved 6, 7;
    67  }
    68  
    69  message NebulaControl {
    70    enum MessageType {
    71      None = 0;
    72      CreateRelayRequest = 1;
    73      CreateRelayResponse = 2;
    74    }
    75    MessageType Type = 1;
    76  
    77    uint32 InitiatorRelayIndex = 2;
    78    uint32 ResponderRelayIndex = 3;
    79    uint32 RelayToIp = 4;
    80    uint32 RelayFromIp = 5;
    81  }