Sergiusz Bazanski | e653e6a | 2019-07-20 16:36:00 +0200 | [diff] [blame] | 1 | syntax = "proto3"; |
| 2 | package ix; |
| 3 | |
| 4 | message GetIXMembersRequest { |
| 5 | // IX ID from PeeringDB |
| 6 | int64 id = 1; |
| 7 | } |
| 8 | |
Sergiusz Bazanski | 0607aba | 2019-08-02 13:38:22 +0200 | [diff] [blame^] | 9 | message PeeringDBMember { |
| 10 | int64 asn = 1; |
| 11 | // AS/network name. |
| 12 | string name = 2; |
| 13 | |
| 14 | message Router { |
| 15 | // Per PeeringDB, at least one of the following two address families |
| 16 | // will be set. |
| 17 | string ipv4 = 1; |
| 18 | string ipv6 = 2; |
| 19 | } |
| 20 | repeated Router routers = 3; |
| 21 | } |
| 22 | |
| 23 | |
Sergiusz Bazanski | e653e6a | 2019-07-20 16:36:00 +0200 | [diff] [blame] | 24 | message GetIXMembersResponse { |
| 25 | message Member { |
| 26 | int64 asn = 1; |
| 27 | // Per PeeringDB, at least one of the following two address families |
| 28 | // will be set. |
| 29 | string ipv4 = 2; |
| 30 | string ipv6 = 3; |
| 31 | // AS/network name. |
| 32 | string name = 4; |
| 33 | }; |
| 34 | |
| 35 | repeated Member members = 1; |
| 36 | } |
| 37 | |
| 38 | service PeeringDBProxy { |
| 39 | // GetIXMembers returns information about membership of a given PeeringDB IX. |
| 40 | rpc GetIXMembers(GetIXMembersRequest) returns (GetIXMembersResponse); |
| 41 | } |