diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2016-05-10 14:10:43 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2016-05-10 14:10:43 +0900 |
commit | f9a9c410c3b221b515bad9fcf154990be7bb70fa (patch) | |
tree | 3c30aa3cf8c5394bd18c87721c7e47ea2b34e19f /api/gobgp.proto | |
parent | d7e1add28af9aec2ad61d2779651b17f5e6ab7ac (diff) |
Refactoring GRPC API
Let's follow the conventions of GRPC
- Stop using one method for multiple operations like add, delete,
etc. IOW, remove all the ModHoge APIs.
- Stop abusing Streaming RPC API.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Diffstat (limited to 'api/gobgp.proto')
-rw-r--r-- | api/gobgp.proto | 861 |
1 files changed, 570 insertions, 291 deletions
diff --git a/api/gobgp.proto b/api/gobgp.proto index cbae4af0..bcf6f94e 100644 --- a/api/gobgp.proto +++ b/api/gobgp.proto @@ -20,220 +20,521 @@ package gobgpapi; // Interface exported by the server. service GobgpApi { - rpc GetGlobalConfig(Arguments) returns (Global) {} - rpc ModGlobalConfig(ModGlobalConfigArguments) returns (Error) {} - rpc GetNeighbors(Arguments) returns (stream Peer) {} - rpc GetNeighbor(Arguments) returns (Peer) {} - rpc ModNeighbor(ModNeighborArguments) returns(Error) {} - rpc GetRib(Table) returns (Table) {} - rpc Reset(Arguments) returns (Error) {} - rpc SoftReset(Arguments) returns (Error) {} - rpc SoftResetIn(Arguments) returns (Error) {} - rpc SoftResetOut(Arguments) returns (Error) {} - rpc Shutdown(Arguments) returns (Error) {} - rpc Enable(Arguments) returns (Error) {} - rpc Disable(Arguments) returns (Error) {} - rpc ModPath(ModPathArguments) returns (ModPathResponse) {} - rpc ModPaths(stream ModPathsArguments) returns (Error) {} + rpc StartServer(StartServerRequest) returns (StartServerResponse) {} + rpc StopServer(StopServerRequest) returns (StopServerResponse) {} + rpc GetServer(GetServerRequest) returns (GetServerResponse) {} + rpc AddNeighbor(AddNeighborRequest) returns (AddNeighborResponse) {} + rpc DeleteNeighbor(DeleteNeighborRequest) returns (DeleteNeighborResponse) {} + rpc GetNeighbor(GetNeighborRequest) returns (GetNeighborResponse) {} + rpc ResetNeighbor(ResetNeighborRequest) returns (ResetNeighborResponse) {} + rpc SoftResetNeighbor(SoftResetNeighborRequest) returns (SoftResetNeighborResponse) {} + rpc ShutdownNeighbor(ShutdownNeighborRequest) returns (ShutdownNeighborResponse) {} + rpc EnableNeighbor(EnableNeighborRequest) returns (EnableNeighborResponse) {} + rpc DisableNeighbor(DisableNeighborRequest) returns (DisableNeighborResponse) {} + rpc GetRib(GetRibRequest) returns (GetRibResponse) {} + rpc ValidateRib(ValidateRibRequest) returns (ValidateRibResponse) {} + rpc AddPath(AddPathRequest) returns (AddPathResponse) {} + rpc DeletePath(DeletePathRequest) returns (DeletePathResponse) {} rpc MonitorRib(Table) returns (stream Destination) {} rpc MonitorBestChanged(Arguments) returns (stream Destination) {} rpc MonitorPeerState(Arguments) returns (stream Peer) {} + rpc EnableMrt(EnableMrtRequest) returns (EnableMrtResponse) {} + rpc DisableMrt(DisableMrtRequest) returns (DisableMrtResponse) {} rpc GetMrt(MrtArguments) returns (stream MrtMessage) {} - rpc ModMrt(ModMrtArguments) returns (Error) {} - rpc ModBmp(ModBmpArguments) returns (Error) {} - rpc GetRPKI(Arguments) returns (stream RPKI) {} - rpc ModRPKI(ModRpkiArguments) returns (Error) {} - rpc GetROA(Arguments) returns (stream ROA) {} - rpc GetVrfs(Arguments) returns (stream Vrf) {} - rpc ModVrf(ModVrfArguments) returns (Error) {} - rpc GetDefinedSet(DefinedSet) returns (DefinedSet) {} - rpc GetDefinedSets(DefinedSet) returns (stream DefinedSet) {} - rpc ModDefinedSet(ModDefinedSetArguments) returns (Error) {} - rpc GetStatement(Statement) returns (Statement) {} - rpc GetStatements(Statement) returns (stream Statement) {} - rpc ModStatement(ModStatementArguments) returns (Error) {} - rpc GetPolicy(Policy) returns (Policy) {} - rpc GetPolicies(Policy) returns (stream Policy) {} - rpc ModPolicy(ModPolicyArguments) returns (Error) {} - rpc GetPolicyAssignment(PolicyAssignment) returns (PolicyAssignment) {} - rpc ModPolicyAssignment(ModPolicyAssignmentArguments) returns (Error) {} -} - -message Error { - enum ErrorCode { - SUCCESS = 0; - FAIL = 1; - } - ErrorCode code = 1; - string msg = 2; + rpc InjectMrt(stream InjectMrtRequest) returns (InjectMrtResponse) {} + rpc AddBmp(AddBmpRequest) returns (AddBmpResponse) {} + rpc DeleteBmp(DeleteBmpRequest) returns (DeleteBmpResponse) {} + rpc GetRpki(GetRpkiRequest) returns (GetRpkiResponse) {} + rpc AddRpki(AddRpkiRequest) returns (AddRpkiResponse) {} + rpc DeleteRpki(DeleteRpkiRequest) returns (DeleteRpkiResponse) {} + rpc EnableRpki(EnableRpkiRequest) returns (EnableRpkiResponse) {} + rpc DisableRpki(DisableRpkiRequest) returns (DisableRpkiResponse) {} + rpc ResetRpki(ResetRpkiRequest) returns (ResetRpkiResponse) {} + rpc SoftResetRpki(SoftResetRpkiRequest) returns (SoftResetRpkiResponse) {} + rpc GetRoa(GetRoaRequest) returns (GetRoaResponse) {} + rpc AddVrf(AddVrfRequest) returns (AddVrfResponse) {} + rpc DeleteVrf(DeleteVrfRequest) returns (DeleteVrfResponse) {} + rpc GetVrf(GetVrfRequest) returns (GetVrfResponse) {} + rpc GetDefinedSet(GetDefinedSetRequest) returns (GetDefinedSetResponse) {} + rpc AddDefinedSet(AddDefinedSetRequest) returns (AddDefinedSetResponse) {} + rpc DeleteDefinedSet(DeleteDefinedSetRequest) returns (DeleteDefinedSetResponse) {} + rpc ReplaceDefinedSet(ReplaceDefinedSetRequest) returns (ReplaceDefinedSetResponse) {} + rpc GetStatement(GetStatementRequest) returns (GetStatementResponse) {} + rpc AddStatement(AddStatementRequest) returns (AddStatementResponse) {} + rpc DeleteStatement(DeleteStatementRequest) returns (DeleteStatementResponse) {} + rpc ReplaceStatement(ReplaceStatementRequest) returns (ReplaceStatementResponse) {} + rpc GetPolicy(GetPolicyRequest) returns (GetPolicyResponse) {} + rpc AddPolicy(AddPolicyRequest) returns (AddPolicyResponse) {} + rpc DeletePolicy(DeletePolicyRequest) returns (DeletePolicyResponse) {} + rpc ReplacePolicy(ReplacePolicyRequest) returns (ReplacePolicyResponse) {} + rpc GetPolicyAssignment(GetPolicyAssignmentRequest) returns (GetPolicyAssignmentResponse) {} + rpc AddPolicyAssignment(AddPolicyAssignmentRequest) returns (AddPolicyAssignmentResponse) {} + rpc DeletePolicyAssignment(DeletePolicyAssignmentRequest) returns (DeletePolicyAssignmentResponse) {} + rpc ReplacePolicyAssignment(ReplacePolicyAssignmentRequest) returns (ReplacePolicyAssignmentResponse) {} +} + +message GetNeighborRequest { +} + +message GetNeighborResponse { + repeated Peer peers = 1; } message Arguments { - Resource resource = 1; - uint32 family = 2; - string name = 3; + Resource resource = 1; + uint32 family = 2; + string name = 3; } -message ModPathArguments { - Operation operation = 1; - Resource resource = 2; - string name = 3; - Path path = 4; - // uuid field can be only used when operation is DEL - bytes uuid = 5; - // family field is only used when operation is DEL_ALL - uint32 family = 6; +message AddPathRequest { + Resource resource = 1; + string vrf_id = 2; + Path path = 3; } -message ModPathResponse { - bytes uuid = 1; +message AddPathResponse { + bytes uuid = 1; } -message ModPathsArguments { - Resource resource = 1; - string name = 2; - repeated Path paths = 3; +message DeletePathRequest { + Resource resource = 1; + string vrf_id = 2; + uint32 family = 3; + Path path = 4; + bytes uuid = 5; } -message ModNeighborArguments { - Operation operation = 1; - Peer peer = 2; +message DeletePathResponse { +} + +message AddNeighborRequest { + Peer peer = 1; +} + +message AddNeighborResponse { +} + +message DeleteNeighborRequest { + Peer peer = 1; +} + +message DeleteNeighborResponse { +} + +message ResetNeighborRequest { + string address = 1; +} + +message ResetNeighborResponse { +} + +message SoftResetNeighborRequest { + string address = 1; + enum SoftResetDirection { + IN = 0; + OUT = 1; + BOTH = 2; + } + SoftResetDirection direction = 2; +} + +message SoftResetNeighborResponse { +} + +message ShutdownNeighborRequest { + string address = 1; +} + +message ShutdownNeighborResponse { +} + +message EnableNeighborRequest { + string address = 1; +} + +message EnableNeighborResponse { +} + +message DisableNeighborRequest { + string address = 1; +} + +message DisableNeighborResponse { } message MrtArguments { - Resource resource = 1; - uint32 family = 2; - uint64 interval = 3; - string neighbor_address = 4; + Resource resource = 1; + uint32 family = 2; + uint64 interval = 3; + string neighbor_address = 4; } -message ModMrtArguments { - Operation operation = 1; - int32 dump_type = 2; - string filename = 3; - uint64 interval = 4; +message EnableMrtRequest { + int32 dump_type = 1; + string filename = 2; + uint64 interval = 3; } -message ModBmpArguments { - Operation operation = 1; - string address = 2; - uint32 port = 3; - enum MonitoringPolicy { - PRE = 0; - POST = 1; - BOTH = 2; - } - MonitoringPolicy type = 4; +message EnableMrtResponse { } -message ModRpkiArguments { - Operation operation = 1; - uint32 asn = 2; - string address = 3; - uint32 port = 4; - int64 lifetime = 5; - string prefix = 6; +message DisableMrtRequest { } -message ModVrfArguments { - Operation operation = 1; - Vrf vrf = 2; +message DisableMrtResponse { } -message ModDefinedSetArguments { - Operation operation = 1; - DefinedSet set = 2; +message InjectMrtRequest { + Resource resource = 1; + string vrf_id = 2; + repeated Path paths = 3; } -message ModStatementArguments { - Operation operation = 1; - Statement statement = 2; +message InjectMrtResponse { } -message ModPolicyArguments { - Operation operation = 1; - Policy policy = 2; - // if this flag is set, gobgpd won't define new statements - // but refer existing statements using statement's names in this arguments. - // this flag only works with Operation_ADD - bool refer_existing_statements = 3; - // if this flag is set, gobgpd won't delete any statements - // even if some statements get not used by any policy by this operation. - // this flag means nothing if it is used with Operation_ADD - bool preserve_statements = 4; +message AddBmpRequest { + string address = 1; + uint32 port = 2; + enum MonitoringPolicy { + PRE = 0; + POST = 1; + BOTH = 2; + } + MonitoringPolicy type = 3; } -message ModPolicyAssignmentArguments { - Operation operation = 1; - PolicyAssignment assignment = 2; +message AddBmpResponse { } -message ModGlobalConfigArguments { - Operation operation = 1; - Global global = 2; +message DeleteBmpRequest { + string address = 1; + uint32 port = 2; } -enum Resource { - GLOBAL = 0; - LOCAL = 1; - ADJ_IN = 2; - ADJ_OUT = 3; - VRF = 4; +message DeleteBmpResponse { +} + +message RPKIConf { + string address = 1; + string remote_port = 2; +} + +message RPKIState { + int64 uptime = 1; + int64 downtime = 2; + bool up = 3; + uint32 record_ipv4 = 4; + uint32 record_ipv6 = 5; + uint32 prefix_ipv4 = 6; + uint32 prefix_ipv6 = 7; + uint32 serial = 8; + int64 received_ipv4 = 9; + int64 received_ipv6 = 10; + int64 serial_notify = 11; + int64 cache_reset = 12; + int64 cache_response = 13; + int64 end_of_data = 14; + int64 error = 15; + int64 serial_query = 16; + int64 reset_query = 17; +} + +message Rpki { + RPKIConf conf = 1; + RPKIState state = 2; +} + +message GetRpkiRequest { + uint32 family = 1; +} + +message GetRpkiResponse { + repeated Rpki servers = 1; +} + +message AddRpkiRequest { + string address = 1; + uint32 port = 2; + int64 lifetime = 3; +} + +message AddRpkiResponse { +} + +message DeleteRpkiRequest { + string address = 1; + uint32 port = 2; +} + +message DeleteRpkiResponse { +} + +message EnableRpkiRequest { + string address = 1; +} + +message EnableRpkiResponse { +} + +message DisableRpkiRequest { + string address = 1; +} + +message DisableRpkiResponse { +} + +message ResetRpkiRequest { + string address = 1; +} + +message ResetRpkiResponse { +} + +message SoftResetRpkiRequest { + string address = 1; +} + +message SoftResetRpkiResponse { +} + +message GetVrfRequest { +} + +message GetVrfResponse { + repeated Vrf vrfs = 1; +} + +message AddVrfRequest { + Vrf vrf = 1; +} + +message AddVrfResponse { } -enum Operation { - ADD = 0; - DEL = 1; - DEL_ALL = 2; - REPLACE = 3; - ENABLE = 4; - DISABLE = 5; - RESET = 6; - SOFTRESET = 7; - INITIALIZE = 8; +message DeleteVrfRequest { + Vrf vrf = 1; +} + +message DeleteVrfResponse { +} + +message GetDefinedSetRequest { + DefinedType type = 1; +} + +message GetDefinedSetResponse { + repeated DefinedSet sets = 1; +} + +message AddDefinedSetRequest { + DefinedSet set = 1; +} + +message AddDefinedSetResponse { +} + +message DeleteDefinedSetRequest { + DefinedSet set = 1; + bool all = 2; +} + +message DeleteDefinedSetResponse { +} + +message ReplaceDefinedSetRequest { + DefinedSet set = 1; +} + +message ReplaceDefinedSetResponse { +} + +message GetStatementRequest { +} + +message GetStatementResponse { + repeated Statement statements = 1; +} + +message AddStatementRequest { + Statement statement = 1; +} + +message AddStatementResponse { +} + +message DeleteStatementRequest { + Statement statement = 1; + bool all = 2; +} + +message DeleteStatementResponse { +} + +message ReplaceStatementRequest { + Statement statement = 1; +} + +message ReplaceStatementResponse { +} + +message GetPolicyRequest { +} + +message GetPolicyResponse { + repeated Policy policies = 1; +} + +message AddPolicyRequest { + Policy policy = 1; + // if this flag is set, gobgpd won't define new statements + // but refer existing statements using statement's names in this arguments. + bool refer_existing_statements = 2; +} + +message AddPolicyResponse { +} + +message DeletePolicyRequest { + Policy policy = 1; + // if this flag is set, gobgpd won't delete any statements + // even if some statements get not used by any policy by this operation. + bool preserve_statements = 2; + bool all = 3; +} + +message DeletePolicyResponse { +} + +message ReplacePolicyRequest { + Policy policy = 1; + // if this flag is set, gobgpd won't define new statements + // but refer existing statements using statement's names in this arguments. + bool refer_existing_statements = 2; + // if this flag is set, gobgpd won't delete any statements + // even if some statements get not used by any policy by this operation. + bool preserve_statements = 3; +} + +message ReplacePolicyResponse { +} + +message GetPolicyAssignmentRequest { + PolicyAssignment assignment = 1; +} + +message GetPolicyAssignmentResponse { + PolicyAssignment assignment = 1; +} + +message AddPolicyAssignmentRequest { + PolicyAssignment assignment = 1; +} + +message AddPolicyAssignmentResponse { +} + +message DeletePolicyAssignmentRequest { + PolicyAssignment assignment = 1; + bool all = 2; +} + +message DeletePolicyAssignmentResponse { +} + +message ReplacePolicyAssignmentRequest { + PolicyAssignment assignment = 1; +} + +message ReplacePolicyAssignmentResponse { +} + +message GetServerRequest { +} + +message GetServerResponse { + Global global = 1; +} + +message StartServerRequest { + Global global = 1; +} + +message StartServerResponse { +} + +message StopServerRequest { +} + +message StopServerResponse { +} + +enum Resource { + GLOBAL = 0; + LOCAL = 1; + ADJ_IN = 2; + ADJ_OUT = 3; + VRF = 4; } message Path { - bytes nlri = 1; - repeated bytes pattrs = 2; - int64 age = 3; - bool best = 4; - bool is_withdraw = 5; - int32 validation = 6; - bool no_implicit_withdraw = 7; - uint32 family = 8; - uint32 source_asn = 9; - string source_id = 10; - bool filtered = 11; - bool stale = 12; - bool is_from_external = 13; - string neighbor_ip = 14; + bytes nlri = 1; + repeated bytes pattrs = 2; + int64 age = 3; + bool best = 4; + bool is_withdraw = 5; + int32 validation = 6; + bool no_implicit_withdraw = 7; + uint32 family = 8; + uint32 source_asn = 9; + string source_id = 10; + bool filtered = 11; + bool stale = 12; + bool is_from_external = 13; + string neighbor_ip = 14; } message Destination { - string prefix = 1; - repeated Path paths = 2; - bool longer_prefixes = 3; + string prefix = 1; + repeated Path paths = 2; + bool longer_prefixes = 3; } message Table { - Resource type = 1; - string name = 2; - uint32 family = 3; - repeated Destination destinations = 4; - bool post_policy = 5; + Resource type = 1; + string name = 2; + uint32 family = 3; + repeated Destination destinations = 4; + bool post_policy = 5; +} + +message GetRibRequest { + Table table = 1; +} + +message GetRibResponse { + Table table = 1; +} + +message ValidateRibRequest { + Resource type = 1; + uint32 family = 2; + string prefix = 3; +} + +message ValidateRibResponse { } message Peer { - repeated uint32 families = 2; - ApplyPolicy apply_policy = 3; - PeerConf conf = 5; - EbgpMultihop ebgp_multihop = 6; - RouteReflector route_reflector = 10; - PeerState info = 11; - Timers timers = 12; - Transport transport = 13; - RouteServer route_server = 15; + repeated uint32 families = 1; + ApplyPolicy apply_policy = 2; + PeerConf conf = 3; + EbgpMultihop ebgp_multihop = 4; + RouteReflector route_reflector = 5; + PeerState info = 6; + Timers timers = 7; + Transport transport = 8; + RouteServer route_server = 9; } message ApplyPolicy { @@ -243,9 +544,9 @@ message ApplyPolicy { } message PrefixLimit { - uint32 family = 1; - uint32 max_prefixes = 2; - uint32 shutdown_threshold_pct = 3; + uint32 family = 1; + uint32 max_prefixes = 2; + uint32 shutdown_threshold_pct = 3; } message PeerConf { @@ -273,7 +574,7 @@ message EbgpMultihop { message RouteReflector { bool route_reflector_client = 1; uint32 route_reflector_cluster_id = 2; - } +} message PeerState { string auth_password = 1; @@ -320,25 +621,25 @@ message Queues { } message Timers { - TimersConfig config =1; - TimersState state = 2; + TimersConfig config =1; + TimersState state = 2; } message TimersConfig{ - uint64 connect_retry = 1; - uint64 hold_time = 2; - uint64 keepalive_interval = 3; - uint64 minimum_advertisement_interval = 4; + uint64 connect_retry = 1; + uint64 hold_time = 2; + uint64 keepalive_interval = 3; + uint64 minimum_advertisement_interval = 4; } message TimersState{ - uint64 connect_retry = 1; - uint64 hold_time = 2; - uint64 keepalive_interval = 3; - uint64 minimum_advertisement_interval = 4; - uint64 negotiated_hold_time = 5; - uint64 uptime = 6; - uint64 downtime = 7; + uint64 connect_retry = 1; + uint64 hold_time = 2; + uint64 keepalive_interval = 3; + uint64 minimum_advertisement_interval = 4; + uint64 negotiated_hold_time = 5; + uint64 uptime = 6; + uint64 downtime = 7; } message Transport { @@ -349,192 +650,170 @@ message Transport { string remote_address = 5; uint32 remote_port = 6; uint32 tcp_mss = 7; - } +} message RouteServer { bool route_server_client = 1; } message Prefix { - string ip_prefix = 1; - uint32 mask_length_min = 2; - uint32 mask_length_max = 3; + string ip_prefix = 1; + uint32 mask_length_min = 2; + uint32 mask_length_max = 3; } enum DefinedType { - PREFIX = 0; - NEIGHBOR = 1; - TAG = 2; - AS_PATH = 3; - COMMUNITY = 4; - EXT_COMMUNITY = 5; + PREFIX = 0; + NEIGHBOR = 1; + TAG = 2; + AS_PATH = 3; + COMMUNITY = 4; + EXT_COMMUNITY = 5; } message DefinedSet { - DefinedType type = 1; - string name = 2; - repeated string list = 3; - repeated Prefix prefixes = 4; + DefinedType type = 1; + string name = 2; + repeated string list = 3; + repeated Prefix prefixes = 4; } enum MatchType { - ANY = 0; - ALL = 1; - INVERT = 2; + ANY = 0; + ALL = 1; + INVERT = 2; } message MatchSet { - MatchType type = 1; - string name = 2; + MatchType type = 1; + string name = 2; } enum AsPathLengthType { - EQ = 0; - GE = 1; - LE = 2; + EQ = 0; + GE = 1; + LE = 2; } message AsPathLength { - AsPathLengthType type = 1; - uint32 length = 2; + AsPathLengthType type = 1; + uint32 length = 2; } message Conditions { - MatchSet prefix_set = 1; - MatchSet neighbor_set = 2; - AsPathLength as_path_length = 3; - MatchSet as_path_set = 4; - MatchSet community_set = 5; - MatchSet ext_community_set = 6; - int32 rpki_result = 7; + MatchSet prefix_set = 1; + MatchSet neighbor_set = 2; + AsPathLength as_path_length = 3; + MatchSet as_path_set = 4; + MatchSet community_set = 5; + MatchSet ext_community_set = 6; + int32 rpki_result = 7; } enum RouteAction { - NONE = 0; - ACCEPT = 1; - REJECT = 2; + NONE = 0; + ACCEPT = 1; + REJECT = 2; } enum CommunityActionType { - COMMUNITY_ADD = 0; - COMMUNITY_REMOVE = 1; - COMMUNITY_REPLACE = 2; + COMMUNITY_ADD = 0; + COMMUNITY_REMOVE = 1; + COMMUNITY_REPLACE = 2; } message CommunityAction { - CommunityActionType type = 1; - repeated string communities = 2; + CommunityActionType type = 1; + repeated string communities = 2; } enum MedActionType { - MED_MOD = 0; - MED_REPLACE = 1; + MED_MOD = 0; + MED_REPLACE = 1; } message MedAction { - MedActionType type = 1; - int64 value = 2; + MedActionType type = 1; + int64 value = 2; } message AsPrependAction { - uint32 asn = 1; - uint32 repeat = 2; - bool use_left_most = 3; + uint32 asn = 1; + uint32 repeat = 2; + bool use_left_most = 3; } message NexthopAction { - string address = 1; + string address = 1; } message Actions { - RouteAction route_action = 1; - CommunityAction community = 2; - MedAction med = 3; - AsPrependAction as_prepend = 4; - CommunityAction ext_community = 5; - NexthopAction nexthop = 6; + RouteAction route_action = 1; + CommunityAction community = 2; + MedAction med = 3; + AsPrependAction as_prepend = 4; + CommunityAction ext_community = 5; + NexthopAction nexthop = 6; } message Statement { - string name = 1; - Conditions conditions = 2; - Actions actions = 3; + string name = 1; + Conditions conditions = 2; + Actions actions = 3; } message Policy { - string name = 1; - repeated Statement statements = 2; + string name = 1; + repeated Statement statements = 2; } enum PolicyType { - IN = 0; - IMPORT = 1; - EXPORT = 2; + IN = 0; + IMPORT = 1; + EXPORT = 2; } message PolicyAssignment { - PolicyType type = 1; - Resource resource = 2; - string name = 3; - repeated Policy policies = 4; - RouteAction default = 5; + PolicyType type = 1; + Resource resource = 2; + string name = 3; + repeated Policy policies = 4; + RouteAction default = 5; } message MrtMessage { - bytes data = 1; + bytes data = 1; } -message RPKIConf { - string address = 1; - string remote_port = 2; +message Roa { + uint32 as = 1; + uint32 prefixlen = 2; + uint32 maxlen = 3; + string prefix = 4; + RPKIConf conf = 5; } -message RPKIState { - int64 uptime = 1; - int64 downtime = 2; - bool up = 3; - uint32 record_ipv4 = 4; - uint32 record_ipv6 = 5; - uint32 prefix_ipv4 = 6; - uint32 prefix_ipv6 = 7; - uint32 serial = 8; - int64 received_ipv4 = 9; - int64 received_ipv6 = 10; - int64 serial_notify = 11; - int64 cache_reset = 12; - int64 cache_response = 13; - int64 end_of_data = 14; - int64 error = 15; - int64 serial_query = 16; - int64 reset_query = 17; -} - -message RPKI { - RPKIConf conf = 1; - RPKIState state = 2; -} - -message ROA { - uint32 as = 1; - uint32 prefixlen = 2; - uint32 maxlen = 3; - string prefix = 4; - RPKIConf conf = 5; +message GetRoaRequest { + uint32 family = 1; +} + +message GetRoaResponse { + repeated Roa roas = 1; } message Vrf { - string name = 1; - bytes rd = 2; - repeated bytes import_rt = 3; - repeated bytes export_rt = 4; + string name = 1; + bytes rd = 2; + repeated bytes import_rt = 3; + repeated bytes export_rt = 4; } message Global { - uint32 as = 1; - string router_id = 2; - int32 listen_port = 3; - repeated string listen_addresses = 4; - repeated uint32 families = 5; - uint32 mpls_label_min = 6; - uint32 mpls_label_max = 7; + uint32 as = 1; + string router_id = 2; + int32 listen_port = 3; + repeated string listen_addresses = 4; + repeated uint32 families = 5; + uint32 mpls_label_min = 6; + uint32 mpls_label_max = 7; } |