summaryrefslogtreecommitdiffstats
path: root/binapi/sr
diff options
context:
space:
mode:
authorOndrej Fabry <ofabry@cisco.com>2020-07-17 10:36:28 +0200
committerOndrej Fabry <ofabry@cisco.com>2020-07-17 11:43:41 +0200
commitd1f24d37bd447b64e402298bb8eb2479681facf9 (patch)
treea3fc21ba730a91d8a402c7a5bf9c614e3677c4fc /binapi/sr
parent1548c7e12531e3d055567d761c580a1c7ff0ac40 (diff)
Improve binapi generator
- simplified Size/Marshal/Unmarshal methods - replace struc in unions with custom marshal/unmarshal - fix imports in generated files - fix mock adapter - generate rpc service using low-level stream API (dumps generate control ping or stream msg..) - move examples/binapi to binapi and generate all API for latest release - add binapigen.Plugin for developing custom generator plugins - optionally generate HTTP handlers (REST API) for RPC services - add govpp program for browsing VPP API Change-Id: I092e9ed2b0c17972b3476463c3d4b14dd76ed42b Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Diffstat (limited to 'binapi/sr')
-rw-r--r--binapi/sr/sr.ba.go1049
-rw-r--r--binapi/sr/sr_rest.ba.go175
-rw-r--r--binapi/sr/sr_rpc.ba.go213
3 files changed, 1437 insertions, 0 deletions
diff --git a/binapi/sr/sr.ba.go b/binapi/sr/sr.ba.go
new file mode 100644
index 0000000..d26f89b
--- /dev/null
+++ b/binapi/sr/sr.ba.go
@@ -0,0 +1,1049 @@
+// Code generated by GoVPP's binapi-generator. DO NOT EDIT.
+// versions:
+// binapi-generator: v0.4.0-dev
+// VPP: 20.05-release
+// source: /usr/share/vpp/api/core/sr.api.json
+
+// Package sr contains generated bindings for API file sr.api.
+//
+// Contents:
+// 1 struct
+// 20 messages
+//
+package sr
+
+import (
+ api "git.fd.io/govpp.git/api"
+ interface_types "git.fd.io/govpp.git/binapi/interface_types"
+ ip_types "git.fd.io/govpp.git/binapi/ip_types"
+ sr_types "git.fd.io/govpp.git/binapi/sr_types"
+ codec "git.fd.io/govpp.git/codec"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the GoVPP api package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// GoVPP api package needs to be updated.
+const _ = api.GoVppAPIPackageIsVersion2
+
+const (
+ APIFile = "sr"
+ APIVersion = "2.0.0"
+ VersionCrc = 0xd85c77ca
+)
+
+// Srv6SidList defines type 'srv6_sid_list'.
+type Srv6SidList struct {
+ NumSids uint8 `binapi:"u8,name=num_sids" json:"num_sids,omitempty"`
+ Weight uint32 `binapi:"u32,name=weight" json:"weight,omitempty"`
+ Sids [16]ip_types.IP6Address `binapi:"ip6_address[16],name=sids" json:"sids,omitempty"`
+}
+
+// SrLocalsidAddDel defines message 'sr_localsid_add_del'.
+type SrLocalsidAddDel struct {
+ IsDel bool `binapi:"bool,name=is_del,default=%!s(bool=false)" json:"is_del,omitempty"`
+ Localsid ip_types.IP6Address `binapi:"ip6_address,name=localsid" json:"localsid,omitempty"`
+ EndPsp bool `binapi:"bool,name=end_psp" json:"end_psp,omitempty"`
+ Behavior sr_types.SrBehavior `binapi:"sr_behavior,name=behavior" json:"behavior,omitempty"`
+ SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=%!s(float64=4.294967295e+09)" json:"sw_if_index,omitempty"`
+ VlanIndex uint32 `binapi:"u32,name=vlan_index" json:"vlan_index,omitempty"`
+ FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
+ NhAddr ip_types.Address `binapi:"address,name=nh_addr" json:"nh_addr,omitempty"`
+}
+
+func (m *SrLocalsidAddDel) Reset() { *m = SrLocalsidAddDel{} }
+func (*SrLocalsidAddDel) GetMessageName() string { return "sr_localsid_add_del" }
+func (*SrLocalsidAddDel) GetCrcString() string { return "26fa3309" }
+func (*SrLocalsidAddDel) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *SrLocalsidAddDel) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 1 // m.IsDel
+ size += 1 * 16 // m.Localsid
+ size += 1 // m.EndPsp
+ size += 1 // m.Behavior
+ size += 4 // m.SwIfIndex
+ size += 4 // m.VlanIndex
+ size += 4 // m.FibTable
+ size += 1 // m.NhAddr.Af
+ size += 1 * 16 // m.NhAddr.Un
+ return size
+}
+func (m *SrLocalsidAddDel) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeBool(m.IsDel)
+ buf.EncodeBytes(m.Localsid[:], 16)
+ buf.EncodeBool(m.EndPsp)
+ buf.EncodeUint8(uint8(m.Behavior))
+ buf.EncodeUint32(uint32(m.SwIfIndex))
+ buf.EncodeUint32(uint32(m.VlanIndex))
+ buf.EncodeUint32(uint32(m.FibTable))
+ buf.EncodeUint8(uint8(m.NhAddr.Af))
+ buf.EncodeBytes(m.NhAddr.Un.XXX_UnionData[:], 0)
+ return buf.Bytes(), nil
+}
+func (m *SrLocalsidAddDel) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.IsDel = buf.DecodeBool()
+ copy(m.Localsid[:], buf.DecodeBytes(16))
+ m.EndPsp = buf.DecodeBool()
+ m.Behavior = sr_types.SrBehavior(buf.DecodeUint8())
+ m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
+ m.VlanIndex = buf.DecodeUint32()
+ m.FibTable = buf.DecodeUint32()
+ m.NhAddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
+ copy(m.NhAddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
+ return nil
+}
+
+// SrLocalsidAddDelReply defines message 'sr_localsid_add_del_reply'.
+type SrLocalsidAddDelReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+}
+
+func (m *SrLocalsidAddDelReply) Reset() { *m = SrLocalsidAddDelReply{} }
+func (*SrLocalsidAddDelReply) GetMessageName() string { return "sr_localsid_add_del_reply" }
+func (*SrLocalsidAddDelReply) GetCrcString() string { return "e8d4e804" }
+func (*SrLocalsidAddDelReply) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *SrLocalsidAddDelReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.Retval
+ return size
+}
+func (m *SrLocalsidAddDelReply) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.Retval))
+ return buf.Bytes(), nil
+}
+func (m *SrLocalsidAddDelReply) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.Retval = int32(buf.DecodeUint32())
+ return nil
+}
+
+// SrLocalsidsDetails defines message 'sr_localsids_details'.
+type SrLocalsidsDetails struct {
+ Addr ip_types.IP6Address `binapi:"ip6_address,name=addr" json:"addr,omitempty"`
+ EndPsp bool `binapi:"bool,name=end_psp" json:"end_psp,omitempty"`
+ Behavior sr_types.SrBehavior `binapi:"sr_behavior,name=behavior" json:"behavior,omitempty"`
+ FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
+ VlanIndex uint32 `binapi:"u32,name=vlan_index" json:"vlan_index,omitempty"`
+ XconnectNhAddr ip_types.Address `binapi:"address,name=xconnect_nh_addr" json:"xconnect_nh_addr,omitempty"`
+ XconnectIfaceOrVrfTable uint32 `binapi:"u32,name=xconnect_iface_or_vrf_table" json:"xconnect_iface_or_vrf_table,omitempty"`
+}
+
+func (m *SrLocalsidsDetails) Reset() { *m = SrLocalsidsDetails{} }
+func (*SrLocalsidsDetails) GetMessageName() string { return "sr_localsids_details" }
+func (*SrLocalsidsDetails) GetCrcString() string { return "6a6c0265" }
+func (*SrLocalsidsDetails) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *SrLocalsidsDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 1 * 16 // m.Addr
+ size += 1 // m.EndPsp
+ size += 1 // m.Behavior
+ size += 4 // m.FibTable
+ size += 4 // m.VlanIndex
+ size += 1 // m.XconnectNhAddr.Af
+ size += 1 * 16 // m.XconnectNhAddr.Un
+ size += 4 // m.XconnectIfaceOrVrfTable
+ return size
+}
+func (m *SrLocalsidsDetails) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeBytes(m.Addr[:], 16)
+ buf.EncodeBool(m.EndPsp)
+ buf.EncodeUint8(uint8(m.Behavior))
+ buf.EncodeUint32(uint32(m.FibTable))
+ buf.EncodeUint32(uint32(m.VlanIndex))
+ buf.EncodeUint8(uint8(m.XconnectNhAddr.Af))
+ buf.EncodeBytes(m.XconnectNhAddr.Un.XXX_UnionData[:], 0)
+ buf.EncodeUint32(uint32(m.XconnectIfaceOrVrfTable))
+ return buf.Bytes(), nil
+}
+func (m *SrLocalsidsDetails) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ copy(m.Addr[:], buf.DecodeBytes(16))
+ m.EndPsp = buf.DecodeBool()
+ m.Behavior = sr_types.SrBehavior(buf.DecodeUint8())
+ m.FibTable = buf.DecodeUint32()
+ m.VlanIndex = buf.DecodeUint32()
+ m.XconnectNhAddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
+ copy(m.XconnectNhAddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
+ m.XconnectIfaceOrVrfTable = buf.DecodeUint32()
+ return nil
+}
+
+// SrLocalsidsDump defines message 'sr_localsids_dump'.
+type SrLocalsidsDump struct{}
+
+func (m *SrLocalsidsDump) Reset() { *m = SrLocalsidsDump{} }
+func (*SrLocalsidsDump) GetMessageName() string { return "sr_localsids_dump" }
+func (*SrLocalsidsDump) GetCrcString() string { return "51077d14" }
+func (*SrLocalsidsDump) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *SrLocalsidsDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ return size
+}
+func (m *SrLocalsidsDump) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ return buf.Bytes(), nil
+}
+func (m *SrLocalsidsDump) Unmarshal(b []byte) error {
+ return nil
+}
+
+// SrPoliciesDetails defines message 'sr_policies_details'.
+type SrPoliciesDetails struct {
+ Bsid ip_types.IP6Address `binapi:"ip6_address,name=bsid" json:"bsid,omitempty"`
+ IsSpray bool `binapi:"bool,name=is_spray" json:"is_spray,omitempty"`
+ IsEncap bool `binapi:"bool,name=is_encap" json:"is_encap,omitempty"`
+ FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
+ NumSidLists uint8 `binapi:"u8,name=num_sid_lists" json:"-"`
+ SidLists []Srv6SidList `binapi:"srv6_sid_list[num_sid_lists],name=sid_lists" json:"sid_lists,omitempty"`
+}
+
+func (m *SrPoliciesDetails) Reset() { *m = SrPoliciesDetails{} }
+func (*SrPoliciesDetails) GetMessageName() string { return "sr_policies_details" }
+func (*SrPoliciesDetails) GetCrcString() string { return "07ec2d93" }
+func (*SrPoliciesDetails) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *SrPoliciesDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 1 * 16 // m.Bsid
+ size += 1 // m.IsSpray
+ size += 1 // m.IsEncap
+ size += 4 // m.FibTable
+ size += 1 // m.NumSidLists
+ for j1 := 0; j1 < len(m.SidLists); j1++ {
+ var s1 Srv6SidList
+ _ = s1
+ if j1 < len(m.SidLists) {
+ s1 = m.SidLists[j1]
+ }
+ size += 1 // s1.NumSids
+ size += 4 // s1.Weight
+ for j2 := 0; j2 < 16; j2++ {
+ var s2 ip_types.IP6Address
+ _ = s2
+ if j2 < len(s1.Sids) {
+ s2 = s1.Sids[j2]
+ }
+ size += 1 * 16 // s2
+ }
+ }
+ return size
+}
+func (m *SrPoliciesDetails) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeBytes(m.Bsid[:], 16)
+ buf.EncodeBool(m.IsSpray)
+ buf.EncodeBool(m.IsEncap)
+ buf.EncodeUint32(uint32(m.FibTable))
+ buf.EncodeUint8(uint8(len(m.SidLists)))
+ for j0 := 0; j0 < len(m.SidLists); j0++ {
+ var v0 Srv6SidList
+ if j0 < len(m.SidLists) {
+ v0 = m.SidLists[j0]
+ }
+ buf.EncodeUint8(uint8(v0.NumSids))
+ buf.EncodeUint32(uint32(v0.Weight))
+ for j1 := 0; j1 < 16; j1++ {
+ var v1 ip_types.IP6Address
+ if j1 < len(v0.Sids) {
+ v1 = v0.Sids[j1]
+ }
+ buf.EncodeBytes(v1[:], 16)
+ }
+ }
+ return buf.Bytes(), nil
+}
+func (m *SrPoliciesDetails) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ copy(m.Bsid[:], buf.DecodeBytes(16))
+ m.IsSpray = buf.DecodeBool()
+ m.IsEncap = buf.DecodeBool()
+ m.FibTable = buf.DecodeUint32()
+ m.NumSidLists = buf.DecodeUint8()
+ m.SidLists = make([]Srv6SidList, int(m.NumSidLists))
+ for j0 := 0; j0 < len(m.SidLists); j0++ {
+ m.SidLists[j0].NumSids = buf.DecodeUint8()
+ m.SidLists[j0].Weight = buf.DecodeUint32()
+ for j1 := 0; j1 < 16; j1++ {
+ copy(m.SidLists[j0].Sids[j1][:], buf.DecodeBytes(16))
+ }
+ }
+ return nil
+}
+
+// SrPoliciesDump defines message 'sr_policies_dump'.
+type SrPoliciesDump struct{}
+
+func (m *SrPoliciesDump) Reset() { *m = SrPoliciesDump{} }
+func (*SrPoliciesDump) GetMessageName() string { return "sr_policies_dump" }
+func (*SrPoliciesDump) GetCrcString() string { return "51077d14" }
+func (*SrPoliciesDump) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *SrPoliciesDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ return size
+}
+func (m *SrPoliciesDump) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ return buf.Bytes(), nil
+}
+func (m *SrPoliciesDump) Unmarshal(b []byte) error {
+ return nil
+}
+
+// SrPolicyAdd defines message 'sr_policy_add'.
+type SrPolicyAdd struct {
+ BsidAddr ip_types.IP6Address `binapi:"ip6_address,name=bsid_addr" json:"bsid_addr,omitempty"`
+ Weight uint32 `binapi:"u32,name=weight" json:"weight,omitempty"`
+ IsEncap bool `binapi:"bool,name=is_encap" json:"is_encap,omitempty"`
+ IsSpray bool `binapi:"bool,name=is_spray" json:"is_spray,omitempty"`
+ FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
+ Sids Srv6SidList `binapi:"srv6_sid_list,name=sids" json:"sids,omitempty"`
+}
+
+func (m *SrPolicyAdd) Reset() { *m = SrPolicyAdd{} }
+func (*SrPolicyAdd) GetMessageName() string { return "sr_policy_add" }
+func (*SrPolicyAdd) GetCrcString() string { return "ec79ee6a" }
+func (*SrPolicyAdd) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *SrPolicyAdd) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 1 * 16 // m.BsidAddr
+ size += 4 // m.Weight
+ size += 1 // m.IsEncap
+ size += 1 // m.IsSpray
+ size += 4 // m.FibTable
+ size += 1 // m.Sids.NumSids
+ size += 4 // m.Sids.Weight
+ for j2 := 0; j2 < 16; j2++ {
+ var s2 ip_types.IP6Address
+ _ = s2
+ if j2 < len(m.Sids.Sids) {
+ s2 = m.Sids.Sids[j2]
+ }
+ size += 1 * 16 // s2
+ }
+ return size
+}
+func (m *SrPolicyAdd) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeBytes(m.BsidAddr[:], 16)
+ buf.EncodeUint32(uint32(m.Weight))
+ buf.EncodeBool(m.IsEncap)
+ buf.EncodeBool(m.IsSpray)
+ buf.EncodeUint32(uint32(m.FibTable))
+ buf.EncodeUint8(uint8(m.Sids.NumSids))
+ buf.EncodeUint32(uint32(m.Sids.Weight))
+ for j1 := 0; j1 < 16; j1++ {
+ var v1 ip_types.IP6Address
+ if j1 < len(m.Sids.Sids) {
+ v1 = m.Sids.Sids[j1]
+ }
+ buf.EncodeBytes(v1[:], 16)
+ }
+ return buf.Bytes(), nil
+}
+func (m *SrPolicyAdd) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ copy(m.BsidAddr[:], buf.DecodeBytes(16))
+ m.Weight = buf.DecodeUint32()
+ m.IsEncap = buf.DecodeBool()
+ m.IsSpray = buf.DecodeBool()
+ m.FibTable = buf.DecodeUint32()
+ m.Sids.NumSids = buf.DecodeUint8()
+ m.Sids.Weight = buf.DecodeUint32()
+ for j1 := 0; j1 < 16; j1++ {
+ copy(m.Sids.Sids[j1][:], buf.DecodeBytes(16))
+ }
+ return nil
+}
+
+// SrPolicyAddReply defines message 'sr_policy_add_reply'.
+type SrPolicyAddReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+}
+
+func (m *SrPolicyAddReply) Reset() { *m = SrPolicyAddReply{} }
+func (*SrPolicyAddReply) GetMessageName() string { return "sr_policy_add_reply" }
+func (*SrPolicyAddReply) GetCrcString() string { return "e8d4e804" }
+func (*SrPolicyAddReply) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *SrPolicyAddReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.Retval
+ return size
+}
+func (m *SrPolicyAddReply) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.Retval))
+ return buf.Bytes(), nil
+}
+func (m *SrPolicyAddReply) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.Retval = int32(buf.DecodeUint32())
+ return nil
+}
+
+// SrPolicyDel defines message 'sr_policy_del'.
+type SrPolicyDel struct {
+ BsidAddr ip_types.IP6Address `binapi:"ip6_address,name=bsid_addr" json:"bsid_addr,omitempty"`
+ SrPolicyIndex uint32 `binapi:"u32,name=sr_policy_index" json:"sr_policy_index,omitempty"`
+}
+
+func (m *SrPolicyDel) Reset() { *m = SrPolicyDel{} }
+func (*SrPolicyDel) GetMessageName() string { return "sr_policy_del" }
+func (*SrPolicyDel) GetCrcString() string { return "cb4d48d5" }
+func (*SrPolicyDel) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *SrPolicyDel) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 1 * 16 // m.BsidAddr
+ size += 4 // m.SrPolicyIndex
+ return size
+}
+func (m *SrPolicyDel) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeBytes(m.BsidAddr[:], 16)
+ buf.EncodeUint32(uint32(m.SrPolicyIndex))
+ return buf.Bytes(), nil
+}
+func (m *SrPolicyDel) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ copy(m.BsidAddr[:], buf.DecodeBytes(16))
+ m.SrPolicyIndex = buf.DecodeUint32()
+ return nil
+}
+
+// SrPolicyDelReply defines message 'sr_policy_del_reply'.
+type SrPolicyDelReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+}
+
+func (m *SrPolicyDelReply) Reset() { *m = SrPolicyDelReply{} }
+func (*SrPolicyDelReply) GetMessageName() string { return "sr_policy_del_reply" }
+func (*SrPolicyDelReply) GetCrcString() string { return "e8d4e804" }
+func (*SrPolicyDelReply) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *SrPolicyDelReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.Retval
+ return size
+}
+func (m *SrPolicyDelReply) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.Retval))
+ return buf.Bytes(), nil
+}
+func (m *SrPolicyDelReply) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.Retval = int32(buf.DecodeUint32())
+ return nil
+}
+
+// SrPolicyMod defines message 'sr_policy_mod'.
+type SrPolicyMod struct {
+ BsidAddr ip_types.IP6Address `binapi:"ip6_address,name=bsid_addr" json:"bsid_addr,omitempty"`
+ SrPolicyIndex uint32 `binapi:"u32,name=sr_policy_index" json:"sr_policy_index,omitempty"`
+ FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
+ Operation sr_types.SrPolicyOp `binapi:"sr_policy_op,name=operation" json:"operation,omitempty"`
+ SlIndex uint32 `binapi:"u32,name=sl_index" json:"sl_index,omitempty"`
+ Weight uint32 `binapi:"u32,name=weight" json:"weight,omitempty"`
+ Sids Srv6SidList `binapi:"srv6_sid_list,name=sids" json:"sids,omitempty"`
+}
+
+func (m *SrPolicyMod) Reset() { *m = SrPolicyMod{} }
+func (*SrPolicyMod) GetMessageName() string { return "sr_policy_mod" }
+func (*SrPolicyMod) GetCrcString() string { return "e531a102" }
+func (*SrPolicyMod) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *SrPolicyMod) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 1 * 16 // m.BsidAddr
+ size += 4 // m.SrPolicyIndex
+ size += 4 // m.FibTable
+ size += 1 // m.Operation
+ size += 4 // m.SlIndex
+ size += 4 // m.Weight
+ size += 1 // m.Sids.NumSids
+ size += 4 // m.Sids.Weight
+ for j2 := 0; j2 < 16; j2++ {
+ var s2 ip_types.IP6Address
+ _ = s2
+ if j2 < len(m.Sids.Sids) {
+ s2 = m.Sids.Sids[j2]
+ }
+ size += 1 * 16 // s2
+ }
+ return size
+}
+func (m *SrPolicyMod) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeBytes(m.BsidAddr[:], 16)
+ buf.EncodeUint32(uint32(m.SrPolicyIndex))
+ buf.EncodeUint32(uint32(m.FibTable))
+ buf.EncodeUint8(uint8(m.Operation))
+ buf.EncodeUint32(uint32(m.SlIndex))
+ buf.EncodeUint32(uint32(m.Weight))
+ buf.EncodeUint8(uint8(m.Sids.NumSids))
+ buf.EncodeUint32(uint32(m.Sids.Weight))
+ for j1 := 0; j1 < 16; j1++ {
+ var v1 ip_types.IP6Address
+ if j1 < len(m.Sids.Sids) {
+ v1 = m.Sids.Sids[j1]
+ }
+ buf.EncodeBytes(v1[:], 16)
+ }
+ return buf.Bytes(), nil
+}
+func (m *SrPolicyMod) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ copy(m.BsidAddr[:], buf.DecodeBytes(16))
+ m.SrPolicyIndex = buf.DecodeUint32()
+ m.FibTable = buf.DecodeUint32()
+ m.Operation = sr_types.SrPolicyOp(buf.DecodeUint8())
+ m.SlIndex = buf.DecodeUint32()
+ m.Weight = buf.DecodeUint32()
+ m.Sids.NumSids = buf.DecodeUint8()
+ m.Sids.Weight = buf.DecodeUint32()
+ for j1 := 0; j1 < 16; j1++ {
+ copy(m.Sids.Sids[j1][:], buf.DecodeBytes(16))
+ }
+ return nil
+}
+
+// SrPolicyModReply defines message 'sr_policy_mod_reply'.
+type SrPolicyModReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+}
+
+func (m *SrPolicyModReply) Reset() { *m = SrPolicyModReply{} }
+func (*SrPolicyModReply) GetMessageName() string { return "sr_policy_mod_reply" }
+func (*SrPolicyModReply) GetCrcString() string { return "e8d4e804" }
+func (*SrPolicyModReply) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *SrPolicyModReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.Retval
+ return size
+}
+func (m *SrPolicyModReply) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.Retval))
+ return buf.Bytes(), nil
+}
+func (m *SrPolicyModReply) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.Retval = int32(buf.DecodeUint32())
+ return nil
+}
+
+// SrSetEncapHopLimit defines message 'sr_set_encap_hop_limit'.
+type SrSetEncapHopLimit struct {
+ HopLimit uint8 `binapi:"u8,name=hop_limit" json:"hop_limit,omitempty"`
+}
+
+func (m *SrSetEncapHopLimit) Reset() { *m = SrSetEncapHopLimit{} }
+func (*SrSetEncapHopLimit) GetMessageName() string { return "sr_set_encap_hop_limit" }
+func (*SrSetEncapHopLimit) GetCrcString() string { return "aa75d7d0" }
+func (*SrSetEncapHopLimit) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *SrSetEncapHopLimit) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 1 // m.HopLimit
+ return size
+}
+func (m *SrSetEncapHopLimit) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint8(uint8(m.HopLimit))
+ return buf.Bytes(), nil
+}
+func (m *SrSetEncapHopLimit) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.HopLimit = buf.DecodeUint8()
+ return nil
+}
+
+// SrSetEncapHopLimitReply defines message 'sr_set_encap_hop_limit_reply'.
+type SrSetEncapHopLimitReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+}
+
+func (m *SrSetEncapHopLimitReply) Reset() { *m = SrSetEncapHopLimitReply{} }
+func (*SrSetEncapHopLimitReply) GetMessageName() string { return "sr_set_encap_hop_limit_reply" }
+func (*SrSetEncapHopLimitReply) GetCrcString() string { return "e8d4e804" }
+func (*SrSetEncapHopLimitReply) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *SrSetEncapHopLimitReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.Retval
+ return size
+}
+func (m *SrSetEncapHopLimitReply) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.Retval))
+ return buf.Bytes(), nil
+}
+func (m *SrSetEncapHopLimitReply) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.Retval = int32(buf.DecodeUint32())
+ return nil
+}
+
+// SrSetEncapSource defines message 'sr_set_encap_source'.
+type SrSetEncapSource struct {
+ EncapsSource ip_types.IP6Address `binapi:"ip6_address,name=encaps_source" json:"encaps_source,omitempty"`
+}
+
+func (m *SrSetEncapSource) Reset() { *m = SrSetEncapSource{} }
+func (*SrSetEncapSource) GetMessageName() string { return "sr_set_encap_source" }
+func (*SrSetEncapSource) GetCrcString() string { return "d3bad5e1" }
+func (*SrSetEncapSource) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *SrSetEncapSource) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 1 * 16 // m.EncapsSource
+ return size
+}
+func (m *SrSetEncapSource) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeBytes(m.EncapsSource[:], 16)
+ return buf.Bytes(), nil
+}
+func (m *SrSetEncapSource) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ copy(m.EncapsSource[:], buf.DecodeBytes(16))
+ return nil
+}
+
+// SrSetEncapSourceReply defines message 'sr_set_encap_source_reply'.
+type SrSetEncapSourceReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+}
+
+func (m *SrSetEncapSourceReply) Reset() { *m = SrSetEncapSourceReply{} }
+func (*SrSetEncapSourceReply) GetMessageName() string { return "sr_set_encap_source_reply" }
+func (*SrSetEncapSourceReply) GetCrcString() string { return "e8d4e804" }
+func (*SrSetEncapSourceReply) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *SrSetEncapSourceReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.Retval
+ return size
+}
+func (m *SrSetEncapSourceReply) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.Retval))
+ return buf.Bytes(), nil
+}
+func (m *SrSetEncapSourceReply) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.Retval = int32(buf.DecodeUint32())
+ return nil
+}
+
+// SrSteeringAddDel defines message 'sr_steering_add_del'.
+type SrSteeringAddDel struct {
+ IsDel bool `binapi:"bool,name=is_del,default=%!s(bool=false)" json:"is_del,omitempty"`
+ BsidAddr ip_types.IP6Address `binapi:"ip6_address,name=bsid_addr" json:"bsid_addr,omitempty"`
+ SrPolicyIndex uint32 `binapi:"u32,name=sr_policy_index" json:"sr_policy_index,omitempty"`
+ TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
+ Prefix ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
+ SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ TrafficType sr_types.SrSteer `binapi:"sr_steer,name=traffic_type" json:"traffic_type,omitempty"`
+}
+
+func (m *SrSteeringAddDel) Reset() { *m = SrSteeringAddDel{} }
+func (*SrSteeringAddDel) GetMessageName() string { return "sr_steering_add_del" }
+func (*SrSteeringAddDel) GetCrcString() string { return "3711dace" }
+func (*SrSteeringAddDel) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *SrSteeringAddDel) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 1 // m.IsDel
+ size += 1 * 16 // m.BsidAddr
+ size += 4 // m.SrPolicyIndex
+ size += 4 // m.TableID
+ size += 1 // m.Prefix.Address.Af
+ size += 1 * 16 // m.Prefix.Address.Un
+ size += 1 // m.Prefix.Len
+ size += 4 // m.SwIfIndex
+ size += 1 // m.TrafficType
+ return size
+}
+func (m *SrSteeringAddDel) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeBool(m.IsDel)
+ buf.EncodeBytes(m.BsidAddr[:], 16)
+ buf.EncodeUint32(uint32(m.SrPolicyIndex))
+ buf.EncodeUint32(uint32(m.TableID))
+ buf.EncodeUint8(uint8(m.Prefix.Address.Af))
+ buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 0)
+ buf.EncodeUint8(uint8(m.Prefix.Len))
+ buf.EncodeUint32(uint32(m.SwIfIndex))
+ buf.EncodeUint8(uint8(m.TrafficType))
+ return buf.Bytes(), nil
+}
+func (m *SrSteeringAddDel) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.IsDel = buf.DecodeBool()
+ copy(m.BsidAddr[:], buf.DecodeBytes(16))
+ m.SrPolicyIndex = buf.DecodeUint32()
+ m.TableID = buf.DecodeUint32()
+ m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
+ copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
+ m.Prefix.Len = buf.DecodeUint8()
+ m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
+ m.TrafficType = sr_types.SrSteer(buf.DecodeUint8())
+ return nil
+}
+
+// SrSteeringAddDelReply defines message 'sr_steering_add_del_reply'.
+type SrSteeringAddDelReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+}
+
+func (m *SrSteeringAddDelReply) Reset() { *m = SrSteeringAddDelReply{} }
+func (*SrSteeringAddDelReply) GetMessageName() string { return "sr_steering_add_del_reply" }
+func (*SrSteeringAddDelReply) GetCrcString() string { return "e8d4e804" }
+func (*SrSteeringAddDelReply) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *SrSteeringAddDelReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.Retval
+ return size
+}
+func (m *SrSteeringAddDelReply) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.Retval))
+ return buf.Bytes(), nil
+}
+func (m *SrSteeringAddDelReply) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.Retval = int32(buf.DecodeUint32())
+ return nil
+}
+
+// SrSteeringPolDetails defines message 'sr_steering_pol_details'.
+type SrSteeringPolDetails struct {
+ TrafficType sr_types.SrSteer `binapi:"sr_steer,name=traffic_type" json:"traffic_type,omitempty"`
+ FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
+ Prefix ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
+ SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ Bsid ip_types.IP6Address `binapi:"ip6_address,name=bsid" json:"bsid,omitempty"`
+}
+
+func (m *SrSteeringPolDetails) Reset() { *m = SrSteeringPolDetails{} }
+func (*SrSteeringPolDetails) GetMessageName() string { return "sr_steering_pol_details" }
+func (*SrSteeringPolDetails) GetCrcString() string { return "1c1ee786" }
+func (*SrSteeringPolDetails) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *SrSteeringPolDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 1 // m.TrafficType
+ size += 4 // m.FibTable
+ size += 1 // m.Prefix.Address.Af
+ size += 1 * 16 // m.Prefix.Address.Un
+ size += 1 // m.Prefix.Len
+ size += 4 // m.SwIfIndex
+ size += 1 * 16 // m.Bsid
+ return size
+}
+func (m *SrSteeringPolDetails) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint8(uint8(m.TrafficType))
+ buf.EncodeUint32(uint32(m.FibTable))
+ buf.EncodeUint8(uint8(m.Prefix.Address.Af))
+ buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 0)
+ buf.EncodeUint8(uint8(m.Prefix.Len))
+ buf.EncodeUint32(uint32(m.SwIfIndex))
+ buf.EncodeBytes(m.Bsid[:], 16)
+ return buf.Bytes(), nil
+}
+func (m *SrSteeringPolDetails) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.TrafficType = sr_types.SrSteer(buf.DecodeUint8())
+ m.FibTable = buf.DecodeUint32()
+ m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
+ copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
+ m.Prefix.Len = buf.DecodeUint8()
+ m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
+ copy(m.Bsid[:], buf.DecodeBytes(16))
+ return nil
+}
+
+// SrSteeringPolDump defines message 'sr_steering_pol_dump'.
+type SrSteeringPolDump struct{}
+
+func (m *SrSteeringPolDump) Reset() { *m = SrSteeringPolDump{} }
+func (*SrSteeringPolDump) GetMessageName() string { return "sr_steering_pol_dump" }
+func (*SrSteeringPolDump) GetCrcString() string { return "51077d14" }
+func (*SrSteeringPolDump) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *SrSteeringPolDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ return size
+}
+func (m *SrSteeringPolDump) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ return buf.Bytes(), nil
+}
+func (m *SrSteeringPolDump) Unmarshal(b []byte) error {
+ return nil
+}
+
+func init() { file_sr_binapi_init() }
+func file_sr_binapi_init() {
+ api.RegisterMessage((*SrLocalsidAddDel)(nil), "sr_localsid_add_del_26fa3309")
+ api.RegisterMessage((*SrLocalsidAddDelReply)(nil), "sr_localsid_add_del_reply_e8d4e804")
+ api.RegisterMessage((*SrLocalsidsDetails)(nil), "sr_localsids_details_6a6c0265")
+ api.RegisterMessage((*SrLocalsidsDump)(nil), "sr_localsids_dump_51077d14")
+ api.RegisterMessage((*SrPoliciesDetails)(nil), "sr_policies_details_07ec2d93")
+ api.RegisterMessage((*SrPoliciesDump)(nil), "sr_policies_dump_51077d14")
+ api.RegisterMessage((*SrPolicyAdd)(nil), "sr_policy_add_ec79ee6a")
+ api.RegisterMessage((*SrPolicyAddReply)(nil), "sr_policy_add_reply_e8d4e804")
+ api.RegisterMessage((*SrPolicyDel)(nil), "sr_policy_del_cb4d48d5")
+ api.RegisterMessage((*SrPolicyDelReply)(nil), "sr_policy_del_reply_e8d4e804")
+ api.RegisterMessage((*SrPolicyMod)(nil), "sr_policy_mod_e531a102")
+ api.RegisterMessage((*SrPolicyModReply)(nil), "sr_policy_mod_reply_e8d4e804")
+ api.RegisterMessage((*SrSetEncapHopLimit)(nil), "sr_set_encap_hop_limit_aa75d7d0")
+ api.RegisterMessage((*SrSetEncapHopLimitReply)(nil), "sr_set_encap_hop_limit_reply_e8d4e804")
+ api.RegisterMessage((*SrSetEncapSource)(nil), "sr_set_encap_source_d3bad5e1")
+ api.RegisterMessage((*SrSetEncapSourceReply)(nil), "sr_set_encap_source_reply_e8d4e804")
+ api.RegisterMessage((*SrSteeringAddDel)(nil), "sr_steering_add_del_3711dace")
+ api.RegisterMessage((*SrSteeringAddDelReply)(nil), "sr_steering_add_del_reply_e8d4e804")
+ api.RegisterMessage((*SrSteeringPolDetails)(nil), "sr_steering_pol_details_1c1ee786")
+ api.RegisterMessage((*SrSteeringPolDump)(nil), "sr_steering_pol_dump_51077d14")
+}
+
+// Messages returns list of all messages in this module.
+func AllMessages() []api.Message {
+ return []api.Message{
+ (*SrLocalsidAddDel)(nil),
+ (*SrLocalsidAddDelReply)(nil),
+ (*SrLocalsidsDetails)(nil),
+ (*SrLocalsidsDump)(nil),
+ (*SrPoliciesDetails)(nil),
+ (*SrPoliciesDump)(nil),
+ (*SrPolicyAdd)(nil),
+ (*SrPolicyAddReply)(nil),
+ (*SrPolicyDel)(nil),
+ (*SrPolicyDelReply)(nil),
+ (*SrPolicyMod)(nil),
+ (*SrPolicyModReply)(nil),
+ (*SrSetEncapHopLimit)(nil),
+ (*SrSetEncapHopLimitReply)(nil),
+ (*SrSetEncapSource)(nil),
+ (*SrSetEncapSourceReply)(nil),
+ (*SrSteeringAddDel)(nil),
+ (*SrSteeringAddDelReply)(nil),
+ (*SrSteeringPolDetails)(nil),
+ (*SrSteeringPolDump)(nil),
+ }
+}
diff --git a/binapi/sr/sr_rest.ba.go b/binapi/sr/sr_rest.ba.go
new file mode 100644
index 0000000..0d3acfc
--- /dev/null
+++ b/binapi/sr/sr_rest.ba.go
@@ -0,0 +1,175 @@
+// Code generated by GoVPP's binapi-generator. DO NOT EDIT.
+
+package sr
+
+import (
+ "encoding/json"
+ "io/ioutil"
+ "net/http"
+)
+
+func RESTHandler(rpc RPCService) http.Handler {
+ mux := http.NewServeMux()
+ mux.HandleFunc("/sr_localsid_add_del", func(w http.ResponseWriter, req *http.Request) {
+ var request = new(SrLocalsidAddDel)
+ b, err := ioutil.ReadAll(req.Body)
+ if err != nil {
+ http.Error(w, "read body failed", http.StatusBadRequest)
+ return
+ }
+ if err := json.Unmarshal(b, request); err != nil {
+ http.Error(w, "unmarshal data failed", http.StatusBadRequest)
+ return
+ }
+ reply, err := rpc.SrLocalsidAddDel(req.Context(), request)
+ if err != nil {
+ http.Error(w, "request failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ rep, err := json.MarshalIndent(reply, "", " ")
+ if err != nil {
+ http.Error(w, "marshal failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ w.Write(rep)
+ })
+ mux.HandleFunc("/sr_policy_add", func(w http.ResponseWriter, req *http.Request) {
+ var request = new(SrPolicyAdd)
+ b, err := ioutil.ReadAll(req.Body)
+ if err != nil {
+ http.Error(w, "read body failed", http.StatusBadRequest)
+ return
+ }
+ if err := json.Unmarshal(b, request); err != nil {
+ http.Error(w, "unmarshal data failed", http.StatusBadRequest)
+ return
+ }
+ reply, err := rpc.SrPolicyAdd(req.Context(), request)
+ if err != nil {
+ http.Error(w, "request failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ rep, err := json.MarshalIndent(reply, "", " ")
+ if err != nil {
+ http.Error(w, "marshal failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ w.Write(rep)
+ })
+ mux.HandleFunc("/sr_policy_del", func(w http.ResponseWriter, req *http.Request) {
+ var request = new(SrPolicyDel)
+ b, err := ioutil.ReadAll(req.Body)
+ if err != nil {
+ http.Error(w, "read body failed", http.StatusBadRequest)
+ return
+ }
+ if err := json.Unmarshal(b, request); err != nil {
+ http.Error(w, "unmarshal data failed", http.StatusBadRequest)
+ return
+ }
+ reply, err := rpc.SrPolicyDel(req.Context(), request)
+ if err != nil {
+ http.Error(w, "request failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ rep, err := json.MarshalIndent(reply, "", " ")
+ if err != nil {
+ http.Error(w, "marshal failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ w.Write(rep)
+ })
+ mux.HandleFunc("/sr_policy_mod", func(w http.ResponseWriter, req *http.Request) {
+ var request = new(SrPolicyMod)
+ b, err := ioutil.ReadAll(req.Body)
+ if err != nil {
+ http.Error(w, "read body failed", http.StatusBadRequest)
+ return
+ }
+ if err := json.Unmarshal(b, request); err != nil {
+ http.Error(w, "unmarshal data failed", http.StatusBadRequest)
+ return
+ }
+ reply, err := rpc.SrPolicyMod(req.Context(), request)
+ if err != nil {
+ http.Error(w, "request failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ rep, err := json.MarshalIndent(reply, "", " ")
+ if err != nil {
+ http.Error(w, "marshal failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ w.Write(rep)
+ })
+ mux.HandleFunc("/sr_set_encap_hop_limit", func(w http.ResponseWriter, req *http.Request) {
+ var request = new(SrSetEncapHopLimit)
+ b, err := ioutil.ReadAll(req.Body)
+ if err != nil {
+ http.Error(w, "read body failed", http.StatusBadRequest)
+ return
+ }
+ if err := json.Unmarshal(b, request); err != nil {
+ http.Error(w, "unmarshal data failed", http.StatusBadRequest)
+ return
+ }
+ reply, err := rpc.SrSetEncapHopLimit(req.Context(), request)
+ if err != nil {
+ http.Error(w, "request failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ rep, err := json.MarshalIndent(reply, "", " ")
+ if err != nil {
+ http.Error(w, "marshal failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ w.Write(rep)
+ })
+ mux.HandleFunc("/sr_set_encap_source", func(w http.ResponseWriter, req *http.Request) {
+ var request = new(SrSetEncapSource)
+ b, err := ioutil.ReadAll(req.Body)
+ if err != nil {
+ http.Error(w, "read body failed", http.StatusBadRequest)
+ return
+ }
+ if err := json.Unmarshal(b, request); err != nil {
+ http.Error(w, "unmarshal data failed", http.StatusBadRequest)
+ return
+ }
+ reply, err := rpc.SrSetEncapSource(req.Context(), request)
+ if err != nil {
+ http.Error(w, "request failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ rep, err := json.MarshalIndent(reply, "", " ")
+ if err != nil {
+ http.Error(w, "marshal failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ w.Write(rep)
+ })
+ mux.HandleFunc("/sr_steering_add_del", func(w http.ResponseWriter, req *http.Request) {
+ var request = new(SrSteeringAddDel)
+ b, err := ioutil.ReadAll(req.Body)
+ if err != nil {
+ http.Error(w, "read body failed", http.StatusBadRequest)
+ return
+ }
+ if err := json.Unmarshal(b, request); err != nil {
+ http.Error(w, "unmarshal data failed", http.StatusBadRequest)
+ return
+ }
+ reply, err := rpc.SrSteeringAddDel(req.Context(), request)
+ if err != nil {
+ http.Error(w, "request failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ rep, err := json.MarshalIndent(reply, "", " ")
+ if err != nil {
+ http.Error(w, "marshal failed: "+err.Error(), http.StatusInternalServerError)
+ return
+ }
+ w.Write(rep)
+ })
+ return http.HandlerFunc(mux.ServeHTTP)
+}
diff --git a/binapi/sr/sr_rpc.ba.go b/binapi/sr/sr_rpc.ba.go
new file mode 100644
index 0000000..59a2909
--- /dev/null
+++ b/binapi/sr/sr_rpc.ba.go
@@ -0,0 +1,213 @@
+// Code generated by GoVPP's binapi-generator. DO NOT EDIT.
+
+package sr
+
+import (
+ "context"
+ "fmt"
+ api "git.fd.io/govpp.git/api"
+ vpe "git.fd.io/govpp.git/binapi/vpe"
+ "io"
+)
+
+// RPCService defines RPC service sr.
+type RPCService interface {
+ SrLocalsidAddDel(ctx context.Context, in *SrLocalsidAddDel) (*SrLocalsidAddDelReply, error)
+ SrLocalsidsDump(ctx context.Context, in *SrLocalsidsDump) (RPCService_SrLocalsidsDumpClient, error)
+ SrPoliciesDump(ctx context.Context, in *SrPoliciesDump) (RPCService_SrPoliciesDumpClient, error)
+ SrPolicyAdd(ctx context.Context, in *SrPolicyAdd) (*SrPolicyAddReply, error)
+ SrPolicyDel(ctx context.Context, in *SrPolicyDel) (*SrPolicyDelReply, error)
+ SrPolicyMod(ctx context.Context, in *SrPolicyMod) (*SrPolicyModReply, error)
+ SrSetEncapHopLimit(ctx context.Context, in *SrSetEncapHopLimit) (*SrSetEncapHopLimitReply, error)
+ SrSetEncapSource(ctx context.Context, in *SrSetEncapSource) (*SrSetEncapSourceReply, error)
+ SrSteeringAddDel(ctx context.Context, in *SrSteeringAddDel) (*SrSteeringAddDelReply, error)
+ SrSteeringPolDump(ctx context.Context, in *SrSteeringPolDump) (RPCService_SrSteeringPolDumpClient, error)
+}
+
+type serviceClient struct {
+ conn api.Connection
+}
+
+func NewServiceClient(conn api.Connection) RPCService {
+ return &serviceClient{conn}
+}
+
+func (c *serviceClient) SrLocalsidAddDel(ctx context.Context, in *SrLocalsidAddDel) (*SrLocalsidAddDelReply, error) {
+ out := new(SrLocalsidAddDelReply)
+ err := c.conn.Invoke(ctx, in, out)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) SrLocalsidsDump(ctx context.Context, in *SrLocalsidsDump) (RPCService_SrLocalsidsDumpClient, error) {
+ stream, err := c.conn.NewStream(ctx)
+ if err != nil {
+ return nil, err
+ }
+ x := &serviceClient_SrLocalsidsDumpClient{stream}
+ if err := x.Stream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type RPCService_SrLocalsidsDumpClient interface {
+ Recv() (*SrLocalsidsDetails, error)
+ api.Stream
+}
+
+type serviceClient_SrLocalsidsDumpClient struct {
+ api.Stream
+}
+
+func (c *serviceClient_SrLocalsidsDumpClient) Recv() (*SrLocalsidsDetails, error) {
+ msg, err := c.Stream.RecvMsg()
+ if err != nil {
+ return nil, err
+ }
+ switch m := msg.(type) {
+ case *SrLocalsidsDetails:
+ return m, nil
+ case *vpe.ControlPingReply:
+ return nil, io.EOF
+ default:
+ return nil, fmt.Errorf("unexpected message: %T %v", m, m)
+ }
+}
+
+func (c *serviceClient) SrPoliciesDump(ctx context.Context, in *SrPoliciesDump) (RPCService_SrPoliciesDumpClient, error) {
+ stream, err := c.conn.NewStream(ctx)
+ if err != nil {
+ return nil, err
+ }
+ x := &serviceClient_SrPoliciesDumpClient{stream}
+ if err := x.Stream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type RPCService_SrPoliciesDumpClient interface {
+ Recv() (*SrPoliciesDetails, error)
+ api.Stream
+}
+
+type serviceClient_SrPoliciesDumpClient struct {
+ api.Stream
+}
+
+func (c *serviceClient_SrPoliciesDumpClient) Recv() (*SrPoliciesDetails, error) {
+ msg, err := c.Stream.RecvMsg()
+ if err != nil {
+ return nil, err
+ }
+ switch m := msg.(type) {
+ case *SrPoliciesDetails:
+ return m, nil
+ case *vpe.ControlPingReply:
+ return nil, io.EOF
+ default:
+ return nil, fmt.Errorf("unexpected message: %T %v", m, m)
+ }
+}
+
+func (c *serviceClient) SrPolicyAdd(ctx context.Context, in *SrPolicyAdd) (*SrPolicyAddReply, error) {
+ out := new(SrPolicyAddReply)
+ err := c.conn.Invoke(ctx, in, out)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) SrPolicyDel(ctx context.Context, in *SrPolicyDel) (*SrPolicyDelReply, error) {
+ out := new(SrPolicyDelReply)
+ err := c.conn.Invoke(ctx, in, out)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) SrPolicyMod(ctx context.Context, in *SrPolicyMod) (*SrPolicyModReply, error) {
+ out := new(SrPolicyModReply)
+ err := c.conn.Invoke(ctx, in, out)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) SrSetEncapHopLimit(ctx context.Context, in *SrSetEncapHopLimit) (*SrSetEncapHopLimitReply, error) {
+ out := new(SrSetEncapHopLimitReply)
+ err := c.conn.Invoke(ctx, in, out)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) SrSetEncapSource(ctx context.Context, in *SrSetEncapSource) (*SrSetEncapSourceReply, error) {
+ out := new(SrSetEncapSourceReply)
+ err := c.conn.Invoke(ctx, in, out)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) SrSteeringAddDel(ctx context.Context, in *SrSteeringAddDel) (*SrSteeringAddDelReply, error) {
+ out := new(SrSteeringAddDelReply)
+ err := c.conn.Invoke(ctx, in, out)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) SrSteeringPolDump(ctx context.Context, in *SrSteeringPolDump) (RPCService_SrSteeringPolDumpClient, error) {
+ stream, err := c.conn.NewStream(ctx)
+ if err != nil {
+ return nil, err
+ }
+ x := &serviceClient_SrSteeringPolDumpClient{stream}
+ if err := x.Stream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type RPCService_SrSteeringPolDumpClient interface {
+ Recv() (*SrSteeringPolDetails, error)
+ api.Stream
+}
+
+type serviceClient_SrSteeringPolDumpClient struct {
+ api.Stream
+}
+
+func (c *serviceClient_SrSteeringPolDumpClient) Recv() (*SrSteeringPolDetails, error) {
+ msg, err := c.Stream.RecvMsg()
+ if err != nil {
+ return nil, err
+ }
+ switch m := msg.(type) {
+ case *SrSteeringPolDetails:
+ return m, nil
+ case *vpe.ControlPingReply:
+ return nil, io.EOF
+ default:
+ return nil, fmt.Errorf("unexpected message: %T %v", m, m)
+ }
+}