photoncloud-monorepo/fiberlb/crates/fiberlb-server/proto/api/common.proto

63 lines
1.2 KiB
Protocol Buffer

syntax = "proto3";
package api;
option go_package = "github.com/osrg/gobgp/v4/api;api";
// Common types for pretty much everywhere
message Family {
enum Afi {
AFI_UNSPECIFIED = 0;
AFI_IP = 1;
AFI_IP6 = 2;
AFI_L2VPN = 25;
AFI_LS = 16388;
AFI_OPAQUE = 16397;
}
enum Safi {
SAFI_UNSPECIFIED = 0;
SAFI_UNICAST = 1;
SAFI_MULTICAST = 2;
SAFI_MPLS_LABEL = 4;
SAFI_ENCAPSULATION = 7;
SAFI_VPLS = 65;
SAFI_EVPN = 70;
SAFI_LS = 71;
SAFI_SR_POLICY = 73;
SAFI_MUP = 85;
SAFI_MPLS_VPN = 128;
SAFI_MPLS_VPN_MULTICAST = 129;
SAFI_ROUTE_TARGET_CONSTRAINTS = 132;
SAFI_FLOW_SPEC_UNICAST = 133;
SAFI_FLOW_SPEC_VPN = 134;
SAFI_KEY_VALUE = 241;
}
Afi afi = 1;
Safi safi = 2;
}
message RouteDistinguisherTwoOctetASN {
uint32 admin = 1;
uint32 assigned = 2;
}
message RouteDistinguisherIPAddress {
string admin = 1;
uint32 assigned = 2;
}
message RouteDistinguisherFourOctetASN {
uint32 admin = 1;
uint32 assigned = 2;
}
message RouteDistinguisher {
oneof rd {
RouteDistinguisherTwoOctetASN two_octet_asn = 1;
RouteDistinguisherIPAddress ip_address = 2;
RouteDistinguisherFourOctetASN four_octet_asn = 3;
}
}