diff options
Diffstat (limited to 'api')
-rw-r--r-- | api/gobgp.pb.go | 62 | ||||
-rw-r--r-- | api/gobgp.proto | 20 |
2 files changed, 82 insertions, 0 deletions
diff --git a/api/gobgp.pb.go b/api/gobgp.pb.go index 0b6689dd..cc2f5a4a 100644 --- a/api/gobgp.pb.go +++ b/api/gobgp.pb.go @@ -25,6 +25,7 @@ It has these top-level messages: Nlri TunnelEncapSubTLV TunnelEncapTLV + PmsiTunnel PathAttr AsPath Path @@ -347,6 +348,44 @@ func (x TUNNEL_TYPE) String() string { return proto.EnumName(TUNNEL_TYPE_name, int32(x)) } +type PMSI_TUNNEL_TYPE int32 + +const ( + PMSI_TUNNEL_TYPE_NO_TUNNEL PMSI_TUNNEL_TYPE = 0 + PMSI_TUNNEL_TYPE_RSVP_TE_P2MP PMSI_TUNNEL_TYPE = 1 + PMSI_TUNNEL_TYPE_MLDP_P2MP PMSI_TUNNEL_TYPE = 2 + PMSI_TUNNEL_TYPE_PIM_SSM_TREE PMSI_TUNNEL_TYPE = 3 + PMSI_TUNNEL_TYPE_PIM_SM_TREE PMSI_TUNNEL_TYPE = 4 + PMSI_TUNNEL_TYPE_BIDIR_PIM_TREE PMSI_TUNNEL_TYPE = 5 + PMSI_TUNNEL_TYPE_INGRESS_REPL PMSI_TUNNEL_TYPE = 6 + PMSI_TUNNEL_TYPE_MLDP_MP2MP PMSI_TUNNEL_TYPE = 7 +) + +var PMSI_TUNNEL_TYPE_name = map[int32]string{ + 0: "NO_TUNNEL", + 1: "RSVP_TE_P2MP", + 2: "MLDP_P2MP", + 3: "PIM_SSM_TREE", + 4: "PIM_SM_TREE", + 5: "BIDIR_PIM_TREE", + 6: "INGRESS_REPL", + 7: "MLDP_MP2MP", +} +var PMSI_TUNNEL_TYPE_value = map[string]int32{ + "NO_TUNNEL": 0, + "RSVP_TE_P2MP": 1, + "MLDP_P2MP": 2, + "PIM_SSM_TREE": 3, + "PIM_SM_TREE": 4, + "BIDIR_PIM_TREE": 5, + "INGRESS_REPL": 6, + "MLDP_MP2MP": 7, +} + +func (x PMSI_TUNNEL_TYPE) String() string { + return proto.EnumName(PMSI_TUNNEL_TYPE_name, int32(x)) +} + type EVPN_TYPE int32 const ( @@ -421,6 +460,7 @@ const ( BGP_ATTR_TYPE_EXTENDED_COMMUNITIES BGP_ATTR_TYPE = 16 BGP_ATTR_TYPE_AS4_PATH BGP_ATTR_TYPE = 17 BGP_ATTR_TYPE_AS4_AGGREGATOR BGP_ATTR_TYPE = 18 + BGP_ATTR_TYPE_PMSI_TUNNEL BGP_ATTR_TYPE = 22 BGP_ATTR_TYPE_TUNNEL_ENCAP BGP_ATTR_TYPE = 23 ) @@ -441,6 +481,7 @@ var BGP_ATTR_TYPE_name = map[int32]string{ 16: "EXTENDED_COMMUNITIES", 17: "AS4_PATH", 18: "AS4_AGGREGATOR", + 22: "PMSI_TUNNEL", 23: "TUNNEL_ENCAP", } var BGP_ATTR_TYPE_value = map[string]int32{ @@ -460,6 +501,7 @@ var BGP_ATTR_TYPE_value = map[string]int32{ "EXTENDED_COMMUNITIES": 16, "AS4_PATH": 17, "AS4_AGGREGATOR": 18, + "PMSI_TUNNEL": 22, "TUNNEL_ENCAP": 23, } @@ -756,6 +798,17 @@ func (m *TunnelEncapTLV) GetSubTlv() []*TunnelEncapSubTLV { return nil } +type PmsiTunnel struct { + IsLeafInfoRequired bool `protobuf:"varint,1,opt,name=is_leaf_info_required" json:"is_leaf_info_required,omitempty"` + Type PMSI_TUNNEL_TYPE `protobuf:"varint,2,opt,name=type,enum=api.PMSI_TUNNEL_TYPE" json:"type,omitempty"` + Label uint32 `protobuf:"varint,3,opt,name=label" json:"label,omitempty"` + TunnelId string `protobuf:"bytes,4,opt,name=tunnel_id" json:"tunnel_id,omitempty"` +} + +func (m *PmsiTunnel) Reset() { *m = PmsiTunnel{} } +func (m *PmsiTunnel) String() string { return proto.CompactTextString(m) } +func (*PmsiTunnel) ProtoMessage() {} + type PathAttr struct { Type BGP_ATTR_TYPE `protobuf:"varint,1,opt,name=type,enum=api.BGP_ATTR_TYPE" json:"type,omitempty"` Value []string `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"` @@ -770,6 +823,7 @@ type PathAttr struct { Cluster []string `protobuf:"bytes,11,rep,name=cluster" json:"cluster,omitempty"` Nlri []*Nlri `protobuf:"bytes,12,rep,name=nlri" json:"nlri,omitempty"` TunnelEncap []*TunnelEncapTLV `protobuf:"bytes,13,rep,name=tunnel_encap" json:"tunnel_encap,omitempty"` + PmsiTunnel *PmsiTunnel `protobuf:"bytes,14,opt,name=pmsi_tunnel" json:"pmsi_tunnel,omitempty"` } func (m *PathAttr) Reset() { *m = PathAttr{} } @@ -804,6 +858,13 @@ func (m *PathAttr) GetTunnelEncap() []*TunnelEncapTLV { return nil } +func (m *PathAttr) GetPmsiTunnel() *PmsiTunnel { + if m != nil { + return m.PmsiTunnel + } + return nil +} + type AsPath struct { SegmentType uint32 `protobuf:"varint,1,opt,name=segment_type" json:"segment_type,omitempty"` Asns []uint32 `protobuf:"varint,2,rep,name=asns" json:"asns,omitempty"` @@ -1169,6 +1230,7 @@ func init() { proto.RegisterEnum("api.EXTENDED_COMMUNITIE_TYPE", EXTENDED_COMMUNITIE_TYPE_name, EXTENDED_COMMUNITIE_TYPE_value) proto.RegisterEnum("api.EXTENDED_COMMUNITIE_SUBTYPE", EXTENDED_COMMUNITIE_SUBTYPE_name, EXTENDED_COMMUNITIE_SUBTYPE_value) proto.RegisterEnum("api.TUNNEL_TYPE", TUNNEL_TYPE_name, TUNNEL_TYPE_value) + proto.RegisterEnum("api.PMSI_TUNNEL_TYPE", PMSI_TUNNEL_TYPE_name, PMSI_TUNNEL_TYPE_value) proto.RegisterEnum("api.EVPN_TYPE", EVPN_TYPE_name, EVPN_TYPE_value) proto.RegisterEnum("api.ENCAP_SUBTLV_TYPE", ENCAP_SUBTLV_TYPE_name, ENCAP_SUBTLV_TYPE_value) proto.RegisterEnum("api.BGP_ATTR_TYPE", BGP_ATTR_TYPE_name, BGP_ATTR_TYPE_value) diff --git a/api/gobgp.proto b/api/gobgp.proto index 2c6c70d5..dce05d8b 100644 --- a/api/gobgp.proto +++ b/api/gobgp.proto @@ -187,6 +187,17 @@ enum TUNNEL_TYPE { VXLAN_GRE = 12; } +enum PMSI_TUNNEL_TYPE { + NO_TUNNEL = 0; + RSVP_TE_P2MP = 1; + MLDP_P2MP = 2; + PIM_SSM_TREE = 3; + PIM_SM_TREE = 4; + BIDIR_PIM_TREE = 5; + INGRESS_REPL = 6; + MLDP_MP2MP = 7; +} + enum EVPN_TYPE { UNKNOWN_EVPN_TYPE = 0; ROUTE_TYPE_ETHERNET_AUTO_DISCOVERY = 1; @@ -249,6 +260,13 @@ message TunnelEncapTLV { repeated TunnelEncapSubTLV sub_tlv = 2; } +message PmsiTunnel { + bool is_leaf_info_required = 1; + PMSI_TUNNEL_TYPE type = 2; + uint32 label = 3; + string tunnel_id = 4; +} + enum BGP_ATTR_TYPE { UNKNOWN_ATTR = 0; ORIGIN = 1; @@ -266,6 +284,7 @@ enum BGP_ATTR_TYPE { EXTENDED_COMMUNITIES = 16; AS4_PATH = 17; AS4_AGGREGATOR = 18; + PMSI_TUNNEL = 22; TUNNEL_ENCAP = 23; } @@ -283,6 +302,7 @@ message PathAttr { repeated string cluster = 11; repeated Nlri nlri = 12; repeated TunnelEncapTLV tunnel_encap = 13; + PmsiTunnel pmsi_tunnel = 14; } message AsPath { |