// 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" "io" "math" "strconv" 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 ) type AddressFamily = ip_types.AddressFamily type IfStatusFlags = interface_types.IfStatusFlags type IfType = interface_types.IfType type IPDscp = ip_types.IPDscp type IPEcn = ip_types.IPEcn type IPProto = ip_types.IPProto type LinkDuplex = interface_types.LinkDuplex type MtuProto = interface_types.MtuProto type RxMode = interface_types.RxMode // 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)) + ")" } type SubIfFlags = interface_types.SubIfFlags type AddressWithPrefix = ip_types.AddressWithPrefix type InterfaceIndex = interface_types.InterfaceIndex type IP4Address = ip_types.IP4Address type IP4AddressWithPrefix = ip_types.IP4AddressWithPrefix type IP6Address = ip_types.IP6Address type IP6AddressWithPrefix = ip_types.IP6AddressWithPrefix type Address = ip_types.Address type IP4Prefix = ip_types.IP4Prefix type IP6Prefix = ip_types.IP6Prefix type Mprefix = ip_types.Mprefix type Prefix = ip_types.Prefix type PrefixMatcher = ip_types.PrefixMatcher // 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]IP6Address `binapi:"ip6_address[16],name=sids" json:"sids,omitempty" struc:"[16]IP6Address"` } func (*Srv6SidList) GetTypeName() string { return "srv6_sid_list" } type AddressUnion = ip_types.AddressUnion // 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 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 InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" 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 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 = 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 = 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 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 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 = 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 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 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 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 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 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 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 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 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 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 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 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 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 Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"` SwIfIndex 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 = 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 = 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 Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"` SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` Bsid 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 = 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 = 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 _ = struc.Pack var _ = binary.BigEndian var _ = math.Float32bits