162 lines
3.3 KiB
Protocol Buffer
162 lines
3.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package api;
|
|
|
|
option go_package = "github.com/osrg/gobgp/v4/api;api";
|
|
|
|
// BGP Extended communities
|
|
|
|
message TwoOctetAsSpecificExtended {
|
|
bool is_transitive = 1;
|
|
uint32 sub_type = 2;
|
|
uint32 asn = 3;
|
|
uint32 local_admin = 4;
|
|
}
|
|
|
|
message IPv4AddressSpecificExtended {
|
|
bool is_transitive = 1;
|
|
uint32 sub_type = 2;
|
|
string address = 3;
|
|
uint32 local_admin = 4;
|
|
}
|
|
|
|
message FourOctetAsSpecificExtended {
|
|
bool is_transitive = 1;
|
|
uint32 sub_type = 2;
|
|
uint32 asn = 3;
|
|
uint32 local_admin = 4;
|
|
}
|
|
|
|
message LinkBandwidthExtended {
|
|
uint32 asn = 1;
|
|
float bandwidth = 2;
|
|
}
|
|
|
|
message ValidationExtended {
|
|
uint32 state = 1;
|
|
}
|
|
|
|
message ColorExtended {
|
|
uint32 color = 1;
|
|
}
|
|
|
|
message EncapExtended {
|
|
uint32 tunnel_type = 1;
|
|
}
|
|
|
|
message DefaultGatewayExtended {}
|
|
|
|
message OpaqueExtended {
|
|
bool is_transitive = 1;
|
|
bytes value = 3;
|
|
}
|
|
|
|
message ESILabelExtended {
|
|
bool is_single_active = 1;
|
|
uint32 label = 2;
|
|
}
|
|
|
|
message ESImportRouteTarget {
|
|
string es_import = 1;
|
|
}
|
|
|
|
message MacMobilityExtended {
|
|
bool is_sticky = 1;
|
|
uint32 sequence_num = 2;
|
|
}
|
|
|
|
message RouterMacExtended {
|
|
string mac = 1;
|
|
}
|
|
|
|
message TrafficRateExtended {
|
|
uint32 asn = 1;
|
|
float rate = 2;
|
|
}
|
|
|
|
message TrafficActionExtended {
|
|
bool terminal = 1;
|
|
bool sample = 2;
|
|
}
|
|
|
|
message RedirectTwoOctetAsSpecificExtended {
|
|
uint32 asn = 1;
|
|
uint32 local_admin = 2;
|
|
}
|
|
|
|
message RedirectIPv4AddressSpecificExtended {
|
|
string address = 1;
|
|
uint32 local_admin = 2;
|
|
}
|
|
|
|
message RedirectFourOctetAsSpecificExtended {
|
|
uint32 asn = 1;
|
|
uint32 local_admin = 2;
|
|
}
|
|
|
|
message TrafficRemarkExtended {
|
|
uint32 dscp = 1;
|
|
}
|
|
|
|
message MUPExtended {
|
|
uint32 sub_type = 1;
|
|
uint32 segment_id2 = 2;
|
|
uint32 segment_id4 = 3;
|
|
}
|
|
|
|
message VPLSExtended {
|
|
uint32 control_flags = 1;
|
|
uint32 mtu = 2;
|
|
}
|
|
|
|
message ETreeExtended {
|
|
bool is_leaf = 1;
|
|
uint32 label = 2;
|
|
}
|
|
|
|
message MulticastFlagsExtended {
|
|
bool is_igmp_proxy = 1;
|
|
bool is_mld_proxy = 2;
|
|
}
|
|
|
|
message UnknownExtended {
|
|
uint32 type = 1;
|
|
bytes value = 2;
|
|
}
|
|
|
|
message ExtendedCommunity {
|
|
oneof extcom {
|
|
UnknownExtended unknown = 1;
|
|
TwoOctetAsSpecificExtended two_octet_as_specific = 2;
|
|
IPv4AddressSpecificExtended ipv4_address_specific = 3;
|
|
FourOctetAsSpecificExtended four_octet_as_specific = 4;
|
|
LinkBandwidthExtended link_bandwidth = 5;
|
|
ValidationExtended validation = 6;
|
|
ColorExtended color = 7;
|
|
EncapExtended encap = 8;
|
|
DefaultGatewayExtended default_gateway = 9;
|
|
OpaqueExtended opaque = 10;
|
|
ESILabelExtended esi_label = 11;
|
|
ESImportRouteTarget es_import = 12;
|
|
MacMobilityExtended mac_mobility = 13;
|
|
RouterMacExtended router_mac = 14;
|
|
TrafficRateExtended traffic_rate = 15;
|
|
TrafficActionExtended traffic_action = 16;
|
|
RedirectTwoOctetAsSpecificExtended redirect_two_octet_as_specific = 17;
|
|
RedirectIPv4AddressSpecificExtended redirect_ipv4_address_specific = 18;
|
|
RedirectFourOctetAsSpecificExtended redirect_four_octet_as_specific = 19;
|
|
TrafficRemarkExtended traffic_remark = 20;
|
|
MUPExtended mup = 21;
|
|
VPLSExtended vpls = 22;
|
|
ETreeExtended etree = 23;
|
|
MulticastFlagsExtended multicast_flags = 24;
|
|
}
|
|
}
|
|
|
|
message RouteTarget {
|
|
oneof rt {
|
|
TwoOctetAsSpecificExtended two_octet_as_specific = 1;
|
|
IPv4AddressSpecificExtended ipv4_address_specific = 2;
|
|
FourOctetAsSpecificExtended four_octet_as_specific = 3;
|
|
}
|
|
}
|