update gobgp pkg

This commit is contained in:
Ian Azpiazu
2022-05-16 13:40:57 -04:00
parent 878ee3a63e
commit 80d743ffa5
652 changed files with 136451 additions and 98241 deletions

View File

@@ -176,6 +176,26 @@ message EVPNIPMSIRoute {
google.protobuf.Any rt = 3;
}
// SRPolicyNLRI represents the NLRI for:
// - AFI=1, SAFI=73
// - AFI=2, SAFI=73
message SRPolicyNLRI {
// length field carries the length of NLRI portion expressed in bits
uint32 length = 1;
// distinguisher field carries 4-octet value uniquely identifying the policy
// in the context of <color, endpoint> tuple.
uint32 distinguisher = 2;
// color field carries 4-octet value identifying (with the endpoint) the
// policy. The color is used to match the color of the destination
// prefixes to steer traffic into the SR Policy
uint32 color = 3;
// endpoint field identifies the endpoint of a policy. The Endpoint may
// represent a single node or a set of nodes (e.g., an anycast
// address). The Endpoint is an IPv4 (4-octet) address or an IPv6
// (16-octet) address according to the AFI of the NLRI.
bytes endpoint = 4;
}
// LabeledVPNIPAddressPrefix represents the NLRI for:
// - AFI=1, SAFI=128
// - AFI=2, SAFI=128
@@ -302,13 +322,19 @@ message LsPrefixV6NLRI {
// Based om RFC 7752, Table 1.
enum LsNLRIType {
LS_NLRI_UNKNOWN = 0;
LS_NLRI_NODE = 1;
LS_NLRI_LINK = 2;
LS_NLRI_UNKNOWN = 0; LS_NLRI_NODE = 1; LS_NLRI_LINK = 2;
LS_NLRI_PREFIX_V4 = 3;
LS_NLRI_PREFIX_V6 = 4;
}
enum LsProtocolID {
LS_PROTOCOL_UNKNOWN = 0; LS_PROTOCOL_ISIS_L1 = 1; LS_PROTOCOL_ISIS_L2 = 2;
LS_PROTOCOL_OSPF_V2 = 3;
LS_PROTOCOL_DIRECT = 4;
LS_PROTOCOL_STATIC = 5;
LS_PROTOCOL_OSPF_V3 = 6;
}
// LsAddrPrefix represents the NLRI for:
// - AFI=16388, SAFI=71
message LsAddrPrefix {
@@ -319,6 +345,9 @@ message LsAddrPrefix {
// - LsPrefixV4NLRI
// - LsPrefixV6NLRI
google.protobuf.Any nlri = 2;
uint32 length = 3;
LsProtocolID protocol_id = 4;
uint64 identifier = 5;
}
message MpReachNLRIAttribute {
@@ -340,6 +369,7 @@ message MpReachNLRIAttribute {
// - VPNFlowSpecNLRI
// - OpaqueNLRI
// - LsAddrPrefix
// - SR Policy NLRI
repeated google.protobuf.Any nlris = 3;
}
@@ -370,6 +400,11 @@ message FourOctetAsSpecificExtended {
uint32 local_admin = 4;
}
message LinkBandiwdthExtended {
uint32 as = 1;
float bandwidth = 2;
}
message ValidationExtended { uint32 state = 1; }
message ColorExtended { uint32 color = 1; }
@@ -471,6 +506,127 @@ message TunnelEncapSubTLVProtocol { uint32 protocol = 1; }
message TunnelEncapSubTLVColor { uint32 color = 1; }
message TunnelEncapSubTLVSRPreference {
uint32 flags = 1;
uint32 preference = 2;
}
message TunnelEncapSubTLVSRCandidatePathName { string candidate_path_name = 1; }
message TunnelEncapSubTLVSRPriority { uint32 priority = 1; }
message TunnelEncapSubTLVSRBindingSID {
// bsid must be one of:
// - SRBindingSID
// - SRv6BindingSID
google.protobuf.Any bsid = 1;
}
message SRBindingSID {
bool s_flag = 1;
bool i_flag = 2;
bytes sid = 3;
}
enum SRv6Behavior {
RESERVED = 0; END = 1; END_WITH_PSP = 2; END_WITH_USP = 3;
END_WITH_PSP_USP = 4;
ENDX = 5;
ENDX_WITH_PSP = 6;
ENDX_WITH_USP = 7;
ENDX_WITH_PSP_USP = 8;
ENDT = 9;
ENDT_WITH_PSP = 10;
ENDT_WITH_USP = 11;
ENDT_WITH_PSP_USP = 12;
END_B6_ENCAPS = 14;
END_BM = 15;
END_DX6 = 16;
END_DX4 = 17;
END_DT6 = 18;
END_DT4 = 19;
END_DT46 = 20;
END_DX2 = 21;
END_DX2V = 22;
END_DT2U = 23;
END_DT2M = 24;
END_B6_ENCAPS_Red = 27;
END_WITH_USD = 28;
END_WITH_PSP_USD = 29;
END_WITH_USP_USD = 30;
END_WITH_PSP_USP_USD = 31;
ENDX_WITH_USD = 32;
ENDX_WITH_PSP_USD = 33;
ENDX_WITH_USP_USD = 34;
ENDX_WITH_PSP_USP_USD = 35;
ENDT_WITH_USD = 36;
ENDT_WITH_PSP_USD = 37;
ENDT_WITH_USP_USD = 38;
ENDT_WITH_PSP_USP_USD = 39;
}
message SRv6EndPointBehavior {
SRv6Behavior behavior = 1;
uint32 block_len = 2;
uint32 node_len = 3;
uint32 func_len = 4;
uint32 arg_len = 5;
}
message SRv6BindingSID {
bool s_flag = 1;
bool i_flag = 2;
bool b_flag = 3;
bytes sid = 4;
SRv6EndPointBehavior endpoint_behavior_structure = 5;
}
enum ENLPType { Reserved = 0; Type1 = 1; Type2 = 2; Type3 = 3; Type4 = 4; }
message TunnelEncapSubTLVSRENLP {
uint32 flags = 1;
ENLPType enlp = 2;
}
message SRWeight {
uint32 flags = 1;
uint32 weight = 2;
}
message SegmentFlags {
bool v_flag = 1;
bool a_flag = 2;
bool s_flag = 3;
bool b_flag = 4;
}
message SegmentTypeA {
SegmentFlags flags = 1;
uint32 label = 2;
}
message SegmentTypeB {
SegmentFlags flags = 1;
bytes sid = 2;
SRv6EndPointBehavior endpoint_behavior_structure = 3;
}
message TunnelEncapSubTLVSRSegmentList {
SRWeight weight = 1;
// segments must be one of:
// - SegmentTypeA
// - SegmentTypeB
repeated google.protobuf.Any segments = 2;
}
message TunnelEncapSubTLVEgressEndpoint {
string address = 1;
}
message TunnelEncapSubTLVUDPDestPort {
uint32 port = 1;
}
message TunnelEncapSubTLVUnknown {
uint32 type = 1;
bytes value = 2;
@@ -482,6 +638,7 @@ message TunnelEncapTLV {
// - TunnelEncapSubTLVEncapsulation
// - TunnelEncapSubTLVProtocol
// - TunnelEncapSubTLVColor
// - TunnelEncapSubTLVSRPolicy
// - TunnelEncapSubTLVUnknown
repeated google.protobuf.Any tlvs = 2;
}
@@ -651,4 +808,4 @@ message PrefixSID {
// - SRv6L3ServiceTLV Type 5
// - SRv6L2ServiceTLV Type 6 (not yet implemented)
repeated google.protobuf.Any tlvs = 1;
}
}