Improve binapi generator
[govpp.git] / examples / binapi / sr / sr.ba.go
diff --git a/examples/binapi/sr/sr.ba.go b/examples/binapi/sr/sr.ba.go
deleted file mode 100644 (file)
index 1803585..0000000
+++ /dev/null
@@ -1,1784 +0,0 @@
-// 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 code for VPP API file sr.api (2.0.0).
-
-It consists of:
-         6 aliases
-        13 enums
-        20 messages
-         7 types
-         1 union
-*/
-package sr
-
-import (
-       "bytes"
-       "context"
-       "encoding/binary"
-       "fmt"
-       "io"
-       "math"
-       "net"
-       "strconv"
-       "strings"
-
-       api "git.fd.io/govpp.git/api"
-       codec "git.fd.io/govpp.git/codec"
-       struc "github.com/lunixbochs/struc"
-
-       interface_types "git.fd.io/govpp.git/examples/binapi/interface_types"
-       ip_types "git.fd.io/govpp.git/examples/binapi/ip_types"
-)
-
-// 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 // please upgrade the GoVPP api package
-
-const (
-       // ModuleName is the name of this module.
-       ModuleName = "sr"
-       // APIVersion is the API version of this module.
-       APIVersion = "2.0.0"
-       // VersionCrc is the CRC of this module.
-       VersionCrc = 0xd85c77ca
-)
-
-// SrBehavior represents VPP binary API enum 'sr_behavior'.
-type SrBehavior uint8
-
-const (
-       SR_BEHAVIOR_API_END     SrBehavior = 1
-       SR_BEHAVIOR_API_X       SrBehavior = 2
-       SR_BEHAVIOR_API_T       SrBehavior = 3
-       SR_BEHAVIOR_API_D_FIRST SrBehavior = 4
-       SR_BEHAVIOR_API_DX2     SrBehavior = 5
-       SR_BEHAVIOR_API_DX6     SrBehavior = 6
-       SR_BEHAVIOR_API_DX4     SrBehavior = 7
-       SR_BEHAVIOR_API_DT6     SrBehavior = 8
-       SR_BEHAVIOR_API_DT4     SrBehavior = 9
-       SR_BEHAVIOR_API_LAST    SrBehavior = 10
-)
-
-var (
-       SrBehavior_name = map[uint8]string{
-               1:  "SR_BEHAVIOR_API_END",
-               2:  "SR_BEHAVIOR_API_X",
-               3:  "SR_BEHAVIOR_API_T",
-               4:  "SR_BEHAVIOR_API_D_FIRST",
-               5:  "SR_BEHAVIOR_API_DX2",
-               6:  "SR_BEHAVIOR_API_DX6",
-               7:  "SR_BEHAVIOR_API_DX4",
-               8:  "SR_BEHAVIOR_API_DT6",
-               9:  "SR_BEHAVIOR_API_DT4",
-               10: "SR_BEHAVIOR_API_LAST",
-       }
-       SrBehavior_value = map[string]uint8{
-               "SR_BEHAVIOR_API_END":     1,
-               "SR_BEHAVIOR_API_X":       2,
-               "SR_BEHAVIOR_API_T":       3,
-               "SR_BEHAVIOR_API_D_FIRST": 4,
-               "SR_BEHAVIOR_API_DX2":     5,
-               "SR_BEHAVIOR_API_DX6":     6,
-               "SR_BEHAVIOR_API_DX4":     7,
-               "SR_BEHAVIOR_API_DT6":     8,
-               "SR_BEHAVIOR_API_DT4":     9,
-               "SR_BEHAVIOR_API_LAST":    10,
-       }
-)
-
-func (x SrBehavior) String() string {
-       s, ok := SrBehavior_name[uint8(x)]
-       if ok {
-               return s
-       }
-       return "SrBehavior(" + strconv.Itoa(int(x)) + ")"
-}
-
-// SrPolicyOp represents VPP binary API enum 'sr_policy_op'.
-type SrPolicyOp uint8
-
-const (
-       SR_POLICY_OP_API_NONE SrPolicyOp = 0
-       SR_POLICY_OP_API_ADD  SrPolicyOp = 1
-       SR_POLICY_OP_API_DEL  SrPolicyOp = 2
-       SR_POLICY_OP_API_MOD  SrPolicyOp = 3
-)
-
-var (
-       SrPolicyOp_name = map[uint8]string{
-               0: "SR_POLICY_OP_API_NONE",
-               1: "SR_POLICY_OP_API_ADD",
-               2: "SR_POLICY_OP_API_DEL",
-               3: "SR_POLICY_OP_API_MOD",
-       }
-       SrPolicyOp_value = map[string]uint8{
-               "SR_POLICY_OP_API_NONE": 0,
-               "SR_POLICY_OP_API_ADD":  1,
-               "SR_POLICY_OP_API_DEL":  2,
-               "SR_POLICY_OP_API_MOD":  3,
-       }
-)
-
-func (x SrPolicyOp) String() string {
-       s, ok := SrPolicyOp_name[uint8(x)]
-       if ok {
-               return s
-       }
-       return "SrPolicyOp(" + strconv.Itoa(int(x)) + ")"
-}
-
-// SrSteer represents VPP binary API enum 'sr_steer'.
-type SrSteer uint8
-
-const (
-       SR_STEER_API_L2   SrSteer = 2
-       SR_STEER_API_IPV4 SrSteer = 4
-       SR_STEER_API_IPV6 SrSteer = 6
-)
-
-var (
-       SrSteer_name = map[uint8]string{
-               2: "SR_STEER_API_L2",
-               4: "SR_STEER_API_IPV4",
-               6: "SR_STEER_API_IPV6",
-       }
-       SrSteer_value = map[string]uint8{
-               "SR_STEER_API_L2":   2,
-               "SR_STEER_API_IPV4": 4,
-               "SR_STEER_API_IPV6": 6,
-       }
-)
-
-func (x SrSteer) String() string {
-       s, ok := SrSteer_name[uint8(x)]
-       if ok {
-               return s
-       }
-       return "SrSteer(" + strconv.Itoa(int(x)) + ")"
-}
-
-// Srv6SidList represents VPP binary API 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" struc:"[16]ip_types.IP6Address"`
-}
-
-func (*Srv6SidList) GetTypeName() string { return "srv6_sid_list" }
-
-// SrLocalsidAddDel represents VPP binary API message 'sr_localsid_add_del'.
-type SrLocalsidAddDel struct {
-       IsDel     bool                           `binapi:"bool,name=is_del,default=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  SrBehavior                     `binapi:"sr_behavior,name=behavior" json:"behavior,omitempty"`
-       SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=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
-       // field[1] m.IsDel
-       size += 1
-       // field[1] m.Localsid
-       size += 16
-       // field[1] m.EndPsp
-       size += 1
-       // field[1] m.Behavior
-       size += 1
-       // field[1] m.SwIfIndex
-       size += 4
-       // field[1] m.VlanIndex
-       size += 4
-       // field[1] m.FibTable
-       size += 4
-       // field[1] m.NhAddr
-       // field[2] m.NhAddr.Af
-       size += 1
-       // field[2] m.NhAddr.Un
-       size += 16
-       return size
-}
-func (m *SrLocalsidAddDel) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.IsDel
-       if m.IsDel {
-               buf[pos] = 1
-       }
-       pos += 1
-       // field[1] m.Localsid
-       for i := 0; i < 16; i++ {
-               var x uint8
-               if i < len(m.Localsid) {
-                       x = uint8(m.Localsid[i])
-               }
-               buf[pos] = uint8(x)
-               pos += 1
-       }
-       // field[1] m.EndPsp
-       if m.EndPsp {
-               buf[pos] = 1
-       }
-       pos += 1
-       // field[1] m.Behavior
-       buf[pos] = uint8(m.Behavior)
-       pos += 1
-       // field[1] m.SwIfIndex
-       o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
-       pos += 4
-       // field[1] m.VlanIndex
-       o.PutUint32(buf[pos:pos+4], uint32(m.VlanIndex))
-       pos += 4
-       // field[1] m.FibTable
-       o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
-       pos += 4
-       // field[1] m.NhAddr
-       // field[2] m.NhAddr.Af
-       buf[pos] = uint8(m.NhAddr.Af)
-       pos += 1
-       // field[2] m.NhAddr.Un
-       copy(buf[pos:pos+16], m.NhAddr.Un.XXX_UnionData[:])
-       pos += 16
-       return buf, nil
-}
-func (m *SrLocalsidAddDel) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.IsDel
-       m.IsDel = tmp[pos] != 0
-       pos += 1
-       // field[1] m.Localsid
-       for i := 0; i < len(m.Localsid); i++ {
-               m.Localsid[i] = uint8(tmp[pos])
-               pos += 1
-       }
-       // field[1] m.EndPsp
-       m.EndPsp = tmp[pos] != 0
-       pos += 1
-       // field[1] m.Behavior
-       m.Behavior = SrBehavior(tmp[pos])
-       pos += 1
-       // field[1] m.SwIfIndex
-       m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.VlanIndex
-       m.VlanIndex = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.FibTable
-       m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.NhAddr
-       // field[2] m.NhAddr.Af
-       m.NhAddr.Af = ip_types.AddressFamily(tmp[pos])
-       pos += 1
-       // field[2] m.NhAddr.Un
-       copy(m.NhAddr.Un.XXX_UnionData[:], tmp[pos:pos+16])
-       pos += 16
-       return nil
-}
-
-// SrLocalsidAddDelReply represents VPP binary API 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
-       // field[1] m.Retval
-       size += 4
-       return size
-}
-func (m *SrLocalsidAddDelReply) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.Retval
-       o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
-       pos += 4
-       return buf, nil
-}
-func (m *SrLocalsidAddDelReply) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.Retval
-       m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       return nil
-}
-
-// SrLocalsidsDetails represents VPP binary API 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                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
-       // field[1] m.Addr
-       size += 16
-       // field[1] m.EndPsp
-       size += 1
-       // field[1] m.Behavior
-       size += 1
-       // field[1] m.FibTable
-       size += 4
-       // field[1] m.VlanIndex
-       size += 4
-       // field[1] m.XconnectNhAddr
-       // field[2] m.XconnectNhAddr.Af
-       size += 1
-       // field[2] m.XconnectNhAddr.Un
-       size += 16
-       // field[1] m.XconnectIfaceOrVrfTable
-       size += 4
-       return size
-}
-func (m *SrLocalsidsDetails) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.Addr
-       for i := 0; i < 16; i++ {
-               var x uint8
-               if i < len(m.Addr) {
-                       x = uint8(m.Addr[i])
-               }
-               buf[pos] = uint8(x)
-               pos += 1
-       }
-       // field[1] m.EndPsp
-       if m.EndPsp {
-               buf[pos] = 1
-       }
-       pos += 1
-       // field[1] m.Behavior
-       buf[pos] = uint8(m.Behavior)
-       pos += 1
-       // field[1] m.FibTable
-       o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
-       pos += 4
-       // field[1] m.VlanIndex
-       o.PutUint32(buf[pos:pos+4], uint32(m.VlanIndex))
-       pos += 4
-       // field[1] m.XconnectNhAddr
-       // field[2] m.XconnectNhAddr.Af
-       buf[pos] = uint8(m.XconnectNhAddr.Af)
-       pos += 1
-       // field[2] m.XconnectNhAddr.Un
-       copy(buf[pos:pos+16], m.XconnectNhAddr.Un.XXX_UnionData[:])
-       pos += 16
-       // field[1] m.XconnectIfaceOrVrfTable
-       o.PutUint32(buf[pos:pos+4], uint32(m.XconnectIfaceOrVrfTable))
-       pos += 4
-       return buf, nil
-}
-func (m *SrLocalsidsDetails) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.Addr
-       for i := 0; i < len(m.Addr); i++ {
-               m.Addr[i] = uint8(tmp[pos])
-               pos += 1
-       }
-       // field[1] m.EndPsp
-       m.EndPsp = tmp[pos] != 0
-       pos += 1
-       // field[1] m.Behavior
-       m.Behavior = SrBehavior(tmp[pos])
-       pos += 1
-       // field[1] m.FibTable
-       m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.VlanIndex
-       m.VlanIndex = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.XconnectNhAddr
-       // field[2] m.XconnectNhAddr.Af
-       m.XconnectNhAddr.Af = ip_types.AddressFamily(tmp[pos])
-       pos += 1
-       // field[2] m.XconnectNhAddr.Un
-       copy(m.XconnectNhAddr.Un.XXX_UnionData[:], tmp[pos:pos+16])
-       pos += 16
-       // field[1] m.XconnectIfaceOrVrfTable
-       m.XconnectIfaceOrVrfTable = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       return nil
-}
-
-// SrLocalsidsDump represents VPP binary API 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) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       return buf, nil
-}
-func (m *SrLocalsidsDump) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       return nil
-}
-
-// SrPoliciesDetails represents VPP binary API 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:"num_sid_lists,omitempty" struc:"sizeof=SidLists"`
-       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
-       // field[1] m.Bsid
-       size += 16
-       // field[1] m.IsSpray
-       size += 1
-       // field[1] m.IsEncap
-       size += 1
-       // field[1] m.FibTable
-       size += 4
-       // field[1] m.NumSidLists
-       size += 1
-       // field[1] m.SidLists
-       for j1 := 0; j1 < len(m.SidLists); j1++ {
-               var s1 Srv6SidList
-               _ = s1
-               if j1 < len(m.SidLists) {
-                       s1 = m.SidLists[j1]
-               }
-               // field[2] s1.NumSids
-               size += 1
-               // field[2] s1.Weight
-               size += 4
-               // field[2] s1.Sids
-               for j2 := 0; j2 < 16; j2++ {
-                       var s2 ip_types.IP6Address
-                       _ = s2
-                       if j2 < len(s1.Sids) {
-                               s2 = s1.Sids[j2]
-                       }
-                       size += 16
-               }
-       }
-       return size
-}
-func (m *SrPoliciesDetails) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.Bsid
-       for i := 0; i < 16; i++ {
-               var x uint8
-               if i < len(m.Bsid) {
-                       x = uint8(m.Bsid[i])
-               }
-               buf[pos] = uint8(x)
-               pos += 1
-       }
-       // field[1] m.IsSpray
-       if m.IsSpray {
-               buf[pos] = 1
-       }
-       pos += 1
-       // field[1] m.IsEncap
-       if m.IsEncap {
-               buf[pos] = 1
-       }
-       pos += 1
-       // field[1] m.FibTable
-       o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
-       pos += 4
-       // field[1] m.NumSidLists
-       buf[pos] = uint8(len(m.SidLists))
-       pos += 1
-       // field[1] m.SidLists
-       for j1 := 0; j1 < len(m.SidLists); j1++ {
-               var v1 Srv6SidList
-               if j1 < len(m.SidLists) {
-                       v1 = m.SidLists[j1]
-               }
-               // field[2] v1.NumSids
-               buf[pos] = uint8(v1.NumSids)
-               pos += 1
-               // field[2] v1.Weight
-               o.PutUint32(buf[pos:pos+4], uint32(v1.Weight))
-               pos += 4
-               // field[2] v1.Sids
-               for j2 := 0; j2 < 16; j2++ {
-                       var v2 ip_types.IP6Address
-                       if j2 < len(v1.Sids) {
-                               v2 = v1.Sids[j2]
-                       }
-                       for i := 0; i < 16; i++ {
-                               var x uint8
-                               if i < len(v2) {
-                                       x = uint8(v2[i])
-                               }
-                               buf[pos] = uint8(x)
-                               pos += 1
-                       }
-               }
-       }
-       return buf, nil
-}
-func (m *SrPoliciesDetails) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.Bsid
-       for i := 0; i < len(m.Bsid); i++ {
-               m.Bsid[i] = uint8(tmp[pos])
-               pos += 1
-       }
-       // field[1] m.IsSpray
-       m.IsSpray = tmp[pos] != 0
-       pos += 1
-       // field[1] m.IsEncap
-       m.IsEncap = tmp[pos] != 0
-       pos += 1
-       // field[1] m.FibTable
-       m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.NumSidLists
-       m.NumSidLists = uint8(tmp[pos])
-       pos += 1
-       // field[1] m.SidLists
-       m.SidLists = make([]Srv6SidList, int(m.NumSidLists))
-       for j1 := 0; j1 < int(m.NumSidLists); j1++ {
-               // field[2] m.SidLists[j1].NumSids
-               m.SidLists[j1].NumSids = uint8(tmp[pos])
-               pos += 1
-               // field[2] m.SidLists[j1].Weight
-               m.SidLists[j1].Weight = uint32(o.Uint32(tmp[pos : pos+4]))
-               pos += 4
-               // field[2] m.SidLists[j1].Sids
-               for j2 := 0; j2 < 16; j2++ {
-                       for i := 0; i < len(m.SidLists[j1].Sids[j2]); i++ {
-                               m.SidLists[j1].Sids[j2][i] = uint8(tmp[pos])
-                               pos += 1
-                       }
-               }
-       }
-       return nil
-}
-
-// SrPoliciesDump represents VPP binary API 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) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       return buf, nil
-}
-func (m *SrPoliciesDump) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       return nil
-}
-
-// SrPolicyAdd represents VPP binary API 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
-       // field[1] m.BsidAddr
-       size += 16
-       // field[1] m.Weight
-       size += 4
-       // field[1] m.IsEncap
-       size += 1
-       // field[1] m.IsSpray
-       size += 1
-       // field[1] m.FibTable
-       size += 4
-       // field[1] m.Sids
-       // field[2] m.Sids.NumSids
-       size += 1
-       // field[2] m.Sids.Weight
-       size += 4
-       // field[2] m.Sids.Sids
-       for j2 := 0; j2 < 16; j2++ {
-               var s2 ip_types.IP6Address
-               _ = s2
-               if j2 < len(m.Sids.Sids) {
-                       s2 = m.Sids.Sids[j2]
-               }
-               size += 16
-       }
-       return size
-}
-func (m *SrPolicyAdd) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.BsidAddr
-       for i := 0; i < 16; i++ {
-               var x uint8
-               if i < len(m.BsidAddr) {
-                       x = uint8(m.BsidAddr[i])
-               }
-               buf[pos] = uint8(x)
-               pos += 1
-       }
-       // field[1] m.Weight
-       o.PutUint32(buf[pos:pos+4], uint32(m.Weight))
-       pos += 4
-       // field[1] m.IsEncap
-       if m.IsEncap {
-               buf[pos] = 1
-       }
-       pos += 1
-       // field[1] m.IsSpray
-       if m.IsSpray {
-               buf[pos] = 1
-       }
-       pos += 1
-       // field[1] m.FibTable
-       o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
-       pos += 4
-       // field[1] m.Sids
-       // field[2] m.Sids.NumSids
-       buf[pos] = uint8(m.Sids.NumSids)
-       pos += 1
-       // field[2] m.Sids.Weight
-       o.PutUint32(buf[pos:pos+4], uint32(m.Sids.Weight))
-       pos += 4
-       // field[2] m.Sids.Sids
-       for j2 := 0; j2 < 16; j2++ {
-               var v2 ip_types.IP6Address
-               if j2 < len(m.Sids.Sids) {
-                       v2 = m.Sids.Sids[j2]
-               }
-               for i := 0; i < 16; i++ {
-                       var x uint8
-                       if i < len(v2) {
-                               x = uint8(v2[i])
-                       }
-                       buf[pos] = uint8(x)
-                       pos += 1
-               }
-       }
-       return buf, nil
-}
-func (m *SrPolicyAdd) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.BsidAddr
-       for i := 0; i < len(m.BsidAddr); i++ {
-               m.BsidAddr[i] = uint8(tmp[pos])
-               pos += 1
-       }
-       // field[1] m.Weight
-       m.Weight = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.IsEncap
-       m.IsEncap = tmp[pos] != 0
-       pos += 1
-       // field[1] m.IsSpray
-       m.IsSpray = tmp[pos] != 0
-       pos += 1
-       // field[1] m.FibTable
-       m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.Sids
-       // field[2] m.Sids.NumSids
-       m.Sids.NumSids = uint8(tmp[pos])
-       pos += 1
-       // field[2] m.Sids.Weight
-       m.Sids.Weight = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[2] m.Sids.Sids
-       for j2 := 0; j2 < 16; j2++ {
-               for i := 0; i < len(m.Sids.Sids[j2]); i++ {
-                       m.Sids.Sids[j2][i] = uint8(tmp[pos])
-                       pos += 1
-               }
-       }
-       return nil
-}
-
-// SrPolicyAddReply represents VPP binary API 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
-       // field[1] m.Retval
-       size += 4
-       return size
-}
-func (m *SrPolicyAddReply) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.Retval
-       o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
-       pos += 4
-       return buf, nil
-}
-func (m *SrPolicyAddReply) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.Retval
-       m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       return nil
-}
-
-// SrPolicyDel represents VPP binary API 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
-       // field[1] m.BsidAddr
-       size += 16
-       // field[1] m.SrPolicyIndex
-       size += 4
-       return size
-}
-func (m *SrPolicyDel) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.BsidAddr
-       for i := 0; i < 16; i++ {
-               var x uint8
-               if i < len(m.BsidAddr) {
-                       x = uint8(m.BsidAddr[i])
-               }
-               buf[pos] = uint8(x)
-               pos += 1
-       }
-       // field[1] m.SrPolicyIndex
-       o.PutUint32(buf[pos:pos+4], uint32(m.SrPolicyIndex))
-       pos += 4
-       return buf, nil
-}
-func (m *SrPolicyDel) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.BsidAddr
-       for i := 0; i < len(m.BsidAddr); i++ {
-               m.BsidAddr[i] = uint8(tmp[pos])
-               pos += 1
-       }
-       // field[1] m.SrPolicyIndex
-       m.SrPolicyIndex = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       return nil
-}
-
-// SrPolicyDelReply represents VPP binary API 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
-       // field[1] m.Retval
-       size += 4
-       return size
-}
-func (m *SrPolicyDelReply) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.Retval
-       o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
-       pos += 4
-       return buf, nil
-}
-func (m *SrPolicyDelReply) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.Retval
-       m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       return nil
-}
-
-// SrPolicyMod represents VPP binary API 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     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
-       // field[1] m.BsidAddr
-       size += 16
-       // field[1] m.SrPolicyIndex
-       size += 4
-       // field[1] m.FibTable
-       size += 4
-       // field[1] m.Operation
-       size += 1
-       // field[1] m.SlIndex
-       size += 4
-       // field[1] m.Weight
-       size += 4
-       // field[1] m.Sids
-       // field[2] m.Sids.NumSids
-       size += 1
-       // field[2] m.Sids.Weight
-       size += 4
-       // field[2] m.Sids.Sids
-       for j2 := 0; j2 < 16; j2++ {
-               var s2 ip_types.IP6Address
-               _ = s2
-               if j2 < len(m.Sids.Sids) {
-                       s2 = m.Sids.Sids[j2]
-               }
-               size += 16
-       }
-       return size
-}
-func (m *SrPolicyMod) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.BsidAddr
-       for i := 0; i < 16; i++ {
-               var x uint8
-               if i < len(m.BsidAddr) {
-                       x = uint8(m.BsidAddr[i])
-               }
-               buf[pos] = uint8(x)
-               pos += 1
-       }
-       // field[1] m.SrPolicyIndex
-       o.PutUint32(buf[pos:pos+4], uint32(m.SrPolicyIndex))
-       pos += 4
-       // field[1] m.FibTable
-       o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
-       pos += 4
-       // field[1] m.Operation
-       buf[pos] = uint8(m.Operation)
-       pos += 1
-       // field[1] m.SlIndex
-       o.PutUint32(buf[pos:pos+4], uint32(m.SlIndex))
-       pos += 4
-       // field[1] m.Weight
-       o.PutUint32(buf[pos:pos+4], uint32(m.Weight))
-       pos += 4
-       // field[1] m.Sids
-       // field[2] m.Sids.NumSids
-       buf[pos] = uint8(m.Sids.NumSids)
-       pos += 1
-       // field[2] m.Sids.Weight
-       o.PutUint32(buf[pos:pos+4], uint32(m.Sids.Weight))
-       pos += 4
-       // field[2] m.Sids.Sids
-       for j2 := 0; j2 < 16; j2++ {
-               var v2 ip_types.IP6Address
-               if j2 < len(m.Sids.Sids) {
-                       v2 = m.Sids.Sids[j2]
-               }
-               for i := 0; i < 16; i++ {
-                       var x uint8
-                       if i < len(v2) {
-                               x = uint8(v2[i])
-                       }
-                       buf[pos] = uint8(x)
-                       pos += 1
-               }
-       }
-       return buf, nil
-}
-func (m *SrPolicyMod) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.BsidAddr
-       for i := 0; i < len(m.BsidAddr); i++ {
-               m.BsidAddr[i] = uint8(tmp[pos])
-               pos += 1
-       }
-       // field[1] m.SrPolicyIndex
-       m.SrPolicyIndex = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.FibTable
-       m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.Operation
-       m.Operation = SrPolicyOp(tmp[pos])
-       pos += 1
-       // field[1] m.SlIndex
-       m.SlIndex = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.Weight
-       m.Weight = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.Sids
-       // field[2] m.Sids.NumSids
-       m.Sids.NumSids = uint8(tmp[pos])
-       pos += 1
-       // field[2] m.Sids.Weight
-       m.Sids.Weight = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[2] m.Sids.Sids
-       for j2 := 0; j2 < 16; j2++ {
-               for i := 0; i < len(m.Sids.Sids[j2]); i++ {
-                       m.Sids.Sids[j2][i] = uint8(tmp[pos])
-                       pos += 1
-               }
-       }
-       return nil
-}
-
-// SrPolicyModReply represents VPP binary API 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
-       // field[1] m.Retval
-       size += 4
-       return size
-}
-func (m *SrPolicyModReply) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.Retval
-       o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
-       pos += 4
-       return buf, nil
-}
-func (m *SrPolicyModReply) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.Retval
-       m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       return nil
-}
-
-// SrSetEncapHopLimit represents VPP binary API 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
-       // field[1] m.HopLimit
-       size += 1
-       return size
-}
-func (m *SrSetEncapHopLimit) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.HopLimit
-       buf[pos] = uint8(m.HopLimit)
-       pos += 1
-       return buf, nil
-}
-func (m *SrSetEncapHopLimit) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.HopLimit
-       m.HopLimit = uint8(tmp[pos])
-       pos += 1
-       return nil
-}
-
-// SrSetEncapHopLimitReply represents VPP binary API 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
-       // field[1] m.Retval
-       size += 4
-       return size
-}
-func (m *SrSetEncapHopLimitReply) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.Retval
-       o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
-       pos += 4
-       return buf, nil
-}
-func (m *SrSetEncapHopLimitReply) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.Retval
-       m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       return nil
-}
-
-// SrSetEncapSource represents VPP binary API 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
-       // field[1] m.EncapsSource
-       size += 16
-       return size
-}
-func (m *SrSetEncapSource) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.EncapsSource
-       for i := 0; i < 16; i++ {
-               var x uint8
-               if i < len(m.EncapsSource) {
-                       x = uint8(m.EncapsSource[i])
-               }
-               buf[pos] = uint8(x)
-               pos += 1
-       }
-       return buf, nil
-}
-func (m *SrSetEncapSource) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.EncapsSource
-       for i := 0; i < len(m.EncapsSource); i++ {
-               m.EncapsSource[i] = uint8(tmp[pos])
-               pos += 1
-       }
-       return nil
-}
-
-// SrSetEncapSourceReply represents VPP binary API 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
-       // field[1] m.Retval
-       size += 4
-       return size
-}
-func (m *SrSetEncapSourceReply) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.Retval
-       o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
-       pos += 4
-       return buf, nil
-}
-func (m *SrSetEncapSourceReply) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.Retval
-       m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       return nil
-}
-
-// SrSteeringAddDel represents VPP binary API message 'sr_steering_add_del'.
-type SrSteeringAddDel struct {
-       IsDel         bool                           `binapi:"bool,name=is_del,default=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   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
-       // field[1] m.IsDel
-       size += 1
-       // field[1] m.BsidAddr
-       size += 16
-       // field[1] m.SrPolicyIndex
-       size += 4
-       // field[1] m.TableID
-       size += 4
-       // field[1] m.Prefix
-       // field[2] m.Prefix.Address
-       // field[3] m.Prefix.Address.Af
-       size += 1
-       // field[3] m.Prefix.Address.Un
-       size += 16
-       // field[2] m.Prefix.Len
-       size += 1
-       // field[1] m.SwIfIndex
-       size += 4
-       // field[1] m.TrafficType
-       size += 1
-       return size
-}
-func (m *SrSteeringAddDel) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.IsDel
-       if m.IsDel {
-               buf[pos] = 1
-       }
-       pos += 1
-       // field[1] m.BsidAddr
-       for i := 0; i < 16; i++ {
-               var x uint8
-               if i < len(m.BsidAddr) {
-                       x = uint8(m.BsidAddr[i])
-               }
-               buf[pos] = uint8(x)
-               pos += 1
-       }
-       // field[1] m.SrPolicyIndex
-       o.PutUint32(buf[pos:pos+4], uint32(m.SrPolicyIndex))
-       pos += 4
-       // field[1] m.TableID
-       o.PutUint32(buf[pos:pos+4], uint32(m.TableID))
-       pos += 4
-       // field[1] m.Prefix
-       // field[2] m.Prefix.Address
-       // field[3] m.Prefix.Address.Af
-       buf[pos] = uint8(m.Prefix.Address.Af)
-       pos += 1
-       // field[3] m.Prefix.Address.Un
-       copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
-       pos += 16
-       // field[2] m.Prefix.Len
-       buf[pos] = uint8(m.Prefix.Len)
-       pos += 1
-       // field[1] m.SwIfIndex
-       o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
-       pos += 4
-       // field[1] m.TrafficType
-       buf[pos] = uint8(m.TrafficType)
-       pos += 1
-       return buf, nil
-}
-func (m *SrSteeringAddDel) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.IsDel
-       m.IsDel = tmp[pos] != 0
-       pos += 1
-       // field[1] m.BsidAddr
-       for i := 0; i < len(m.BsidAddr); i++ {
-               m.BsidAddr[i] = uint8(tmp[pos])
-               pos += 1
-       }
-       // field[1] m.SrPolicyIndex
-       m.SrPolicyIndex = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.TableID
-       m.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.Prefix
-       // field[2] m.Prefix.Address
-       // field[3] m.Prefix.Address.Af
-       m.Prefix.Address.Af = ip_types.AddressFamily(tmp[pos])
-       pos += 1
-       // field[3] m.Prefix.Address.Un
-       copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
-       pos += 16
-       // field[2] m.Prefix.Len
-       m.Prefix.Len = uint8(tmp[pos])
-       pos += 1
-       // field[1] m.SwIfIndex
-       m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.TrafficType
-       m.TrafficType = SrSteer(tmp[pos])
-       pos += 1
-       return nil
-}
-
-// SrSteeringAddDelReply represents VPP binary API 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
-       // field[1] m.Retval
-       size += 4
-       return size
-}
-func (m *SrSteeringAddDelReply) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.Retval
-       o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
-       pos += 4
-       return buf, nil
-}
-func (m *SrSteeringAddDelReply) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.Retval
-       m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       return nil
-}
-
-// SrSteeringPolDetails represents VPP binary API message 'sr_steering_pol_details'.
-type SrSteeringPolDetails struct {
-       TrafficType 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
-       // field[1] m.TrafficType
-       size += 1
-       // field[1] m.FibTable
-       size += 4
-       // field[1] m.Prefix
-       // field[2] m.Prefix.Address
-       // field[3] m.Prefix.Address.Af
-       size += 1
-       // field[3] m.Prefix.Address.Un
-       size += 16
-       // field[2] m.Prefix.Len
-       size += 1
-       // field[1] m.SwIfIndex
-       size += 4
-       // field[1] m.Bsid
-       size += 16
-       return size
-}
-func (m *SrSteeringPolDetails) Marshal(b []byte) ([]byte, error) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       // field[1] m.TrafficType
-       buf[pos] = uint8(m.TrafficType)
-       pos += 1
-       // field[1] m.FibTable
-       o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
-       pos += 4
-       // field[1] m.Prefix
-       // field[2] m.Prefix.Address
-       // field[3] m.Prefix.Address.Af
-       buf[pos] = uint8(m.Prefix.Address.Af)
-       pos += 1
-       // field[3] m.Prefix.Address.Un
-       copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
-       pos += 16
-       // field[2] m.Prefix.Len
-       buf[pos] = uint8(m.Prefix.Len)
-       pos += 1
-       // field[1] m.SwIfIndex
-       o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
-       pos += 4
-       // field[1] m.Bsid
-       for i := 0; i < 16; i++ {
-               var x uint8
-               if i < len(m.Bsid) {
-                       x = uint8(m.Bsid[i])
-               }
-               buf[pos] = uint8(x)
-               pos += 1
-       }
-       return buf, nil
-}
-func (m *SrSteeringPolDetails) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       // field[1] m.TrafficType
-       m.TrafficType = SrSteer(tmp[pos])
-       pos += 1
-       // field[1] m.FibTable
-       m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.Prefix
-       // field[2] m.Prefix.Address
-       // field[3] m.Prefix.Address.Af
-       m.Prefix.Address.Af = ip_types.AddressFamily(tmp[pos])
-       pos += 1
-       // field[3] m.Prefix.Address.Un
-       copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
-       pos += 16
-       // field[2] m.Prefix.Len
-       m.Prefix.Len = uint8(tmp[pos])
-       pos += 1
-       // field[1] m.SwIfIndex
-       m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
-       pos += 4
-       // field[1] m.Bsid
-       for i := 0; i < len(m.Bsid); i++ {
-               m.Bsid[i] = uint8(tmp[pos])
-               pos += 1
-       }
-       return nil
-}
-
-// SrSteeringPolDump represents VPP binary API 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) {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       var buf []byte
-       if b == nil {
-               buf = make([]byte, m.Size())
-       } else {
-               buf = b
-       }
-       return buf, nil
-}
-func (m *SrSteeringPolDump) Unmarshal(tmp []byte) error {
-       o := binary.BigEndian
-       _ = o
-       pos := 0
-       _ = pos
-       return nil
-}
-
-func init() { file_sr_binapi_init() }
-func file_sr_binapi_init() {
-       api.RegisterMessage((*SrLocalsidAddDel)(nil), "sr.SrLocalsidAddDel")
-       api.RegisterMessage((*SrLocalsidAddDelReply)(nil), "sr.SrLocalsidAddDelReply")
-       api.RegisterMessage((*SrLocalsidsDetails)(nil), "sr.SrLocalsidsDetails")
-       api.RegisterMessage((*SrLocalsidsDump)(nil), "sr.SrLocalsidsDump")
-       api.RegisterMessage((*SrPoliciesDetails)(nil), "sr.SrPoliciesDetails")
-       api.RegisterMessage((*SrPoliciesDump)(nil), "sr.SrPoliciesDump")
-       api.RegisterMessage((*SrPolicyAdd)(nil), "sr.SrPolicyAdd")
-       api.RegisterMessage((*SrPolicyAddReply)(nil), "sr.SrPolicyAddReply")
-       api.RegisterMessage((*SrPolicyDel)(nil), "sr.SrPolicyDel")
-       api.RegisterMessage((*SrPolicyDelReply)(nil), "sr.SrPolicyDelReply")
-       api.RegisterMessage((*SrPolicyMod)(nil), "sr.SrPolicyMod")
-       api.RegisterMessage((*SrPolicyModReply)(nil), "sr.SrPolicyModReply")
-       api.RegisterMessage((*SrSetEncapHopLimit)(nil), "sr.SrSetEncapHopLimit")
-       api.RegisterMessage((*SrSetEncapHopLimitReply)(nil), "sr.SrSetEncapHopLimitReply")
-       api.RegisterMessage((*SrSetEncapSource)(nil), "sr.SrSetEncapSource")
-       api.RegisterMessage((*SrSetEncapSourceReply)(nil), "sr.SrSetEncapSourceReply")
-       api.RegisterMessage((*SrSteeringAddDel)(nil), "sr.SrSteeringAddDel")
-       api.RegisterMessage((*SrSteeringAddDelReply)(nil), "sr.SrSteeringAddDelReply")
-       api.RegisterMessage((*SrSteeringPolDetails)(nil), "sr.SrSteeringPolDetails")
-       api.RegisterMessage((*SrSteeringPolDump)(nil), "sr.SrSteeringPolDump")
-}
-
-// 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),
-       }
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = api.RegisterMessage
-var _ = codec.DecodeString
-var _ = bytes.NewBuffer
-var _ = context.Background
-var _ = io.Copy
-var _ = strconv.Itoa
-var _ = strings.Contains
-var _ = struc.Pack
-var _ = binary.BigEndian
-var _ = math.Float32bits
-var _ = net.ParseIP
-var _ = fmt.Errorf