3
0

nebula.proto 907 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. syntax = "proto3";
  2. package nebula;
  3. message NebulaMeta {
  4. enum MessageType {
  5. None = 0;
  6. HostQuery = 1;
  7. HostQueryReply = 2;
  8. HostUpdateNotification = 3;
  9. HostMovedNotification = 4;
  10. HostPunchNotification = 5;
  11. HostWhoami = 6;
  12. HostWhoamiReply = 7;
  13. PathCheck = 8;
  14. PathCheckReply = 9;
  15. }
  16. MessageType Type = 1;
  17. NebulaMetaDetails Details = 2;
  18. }
  19. message NebulaMetaDetails {
  20. uint32 VpnIp = 1;
  21. repeated IpAndPort IpAndPorts = 2;
  22. uint32 counter = 3;
  23. }
  24. message IpAndPort {
  25. uint32 Ip = 1;
  26. uint32 Port = 2;
  27. }
  28. message NebulaPing {
  29. enum MessageType {
  30. Ping = 0;
  31. Reply = 1;
  32. }
  33. MessageType Type = 1;
  34. uint64 Time = 2;
  35. }
  36. message NebulaHandshake {
  37. NebulaHandshakeDetails Details = 1;
  38. bytes Hmac = 2;
  39. }
  40. message NebulaHandshakeDetails {
  41. bytes Cert = 1;
  42. uint32 InitiatorIndex = 2;
  43. uint32 ResponderIndex = 3;
  44. uint64 Cookie = 4;
  45. uint64 Time = 5;
  46. }