// 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/plugins/l3xc.api.json // Package l3xc contains generated bindings for API file l3xc.api. // // Contents: // 1 struct // 8 messages // package l3xc import ( api "git.fd.io/govpp.git/api" fib_types "git.fd.io/govpp.git/binapi/fib_types" interface_types "git.fd.io/govpp.git/binapi/interface_types" _ "git.fd.io/govpp.git/binapi/ip_types" codec "git.fd.io/govpp.git/codec" ) // This is a compile-time assertion to ensure that this generated file // is compatible with the GoVPP api package it is being compiled against. // A compilation error at this line likely means your copy of the // GoVPP api package needs to be updated. const _ = api.GoVppAPIPackageIsVersion2 const ( APIFile = "l3xc" APIVersion = "1.0.1" VersionCrc = 0xaf18effb ) // L3xc defines type 'l3xc'. type L3xc struct { SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"` NPaths uint8 `binapi:"u8,name=n_paths" json:"-"` Paths []fib_types.FibPath `binapi:"fib_path[n_paths],name=paths" json:"paths,omitempty"` } // L3xcDel defines message 'l3xc_del'. type L3xcDel struct { SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"` } func (m *L3xcDel) Reset() { *m = L3xcDel{} } func (*L3xcDel) GetMessageName() string { return "l3xc_del" } func (*L3xcDel) GetCrcString() string { return "e7dbef91" } func (*L3xcDel) GetMessageType() api.MessageType { return api.RequestMessage } func (m *L3xcDel) Size() (size int) { if m == nil { return 0 } size += 4 // m.SwIfIndex size += 1 // m.IsIP6 return size } func (m *L3xcDel) Marshal(b []byte) ([]byte, error) { if b == nil { b = make([]byte, m.Size()) } buf := codec.NewBuffer(b) buf.EncodeUint32(uint32(m.SwIfIndex)) buf.EncodeBool(m.IsIP6) return buf.Bytes(), nil } func (m *L3xcDel) Unmarshal(b []byte) error { buf := codec.NewBuffer(b) m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) m.IsIP6 = buf.DecodeBool() return nil } // L3xcDelReply defines message 'l3xc_del_reply'. type L3xcDelReply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` } func (m *L3xcDelReply) Reset() { *m = L3xcDelReply{} } func (*L3xcDelReply) GetMessageName() string { return "l3xc_del_reply" } func (*L3xcDelReply) GetCrcString() string { return "e8d4e804" } func (*L3xcDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (m *L3xcDelReply) Size() (size int) { if m == nil { return 0 } size += 4 // m.Retval return size } func (m *L3xcDelReply) Marshal(b []byte) ([]byte, error) { if b == nil { b = make([]byte, m.Size()) } buf := codec.NewBuffer(b) buf.EncodeInt32(m.Retval) return buf.Bytes(), nil } func (m *L3xcDelReply) Unmarshal(b []byte) error { buf := codec.NewBuffer(b) m.Retval = buf.DecodeInt32() return nil } // L3xcDetails defines message 'l3xc_details'. type L3xcDetails struct { L3xc L3xc `binapi:"l3xc,name=l3xc" json:"l3xc,omitempty"` } func (m *L3xcDetails) Reset() { *m = L3xcDetails{} } func (*L3xcDetails) GetMessageName() string { return "l3xc_details" } func (*L3xcDetails) GetCrcString() string { return "d4f69627" } func (*L3xcDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (m *L3xcDetails) Size() (size int) { if m == nil { return 0 } size += 4 // m.L3xc.SwIfIndex size += 1 // m.L3xc.IsIP6 size += 1 // m.L3xc.NPaths for j2 := 0; j2 < len(m.L3xc.Paths); j2++ { var s2 fib_types.FibPath _ = s2 if j2 < len(m.L3xc.Paths) { s2 = m.L3xc.Paths[j2] } size += 4 // s2.SwIfIndex size += 4 // s2.TableID size += 4 // s2.RpfID size += 1 // s2.Weight size += 1 // s2.Preference size += 4 // s2.Type size += 4 // s2.Flags size += 4 // s2.Proto size += 1 * 16 // s2.Nh.Address size += 4 // s2.Nh.ViaLabel size += 4 // s2.Nh.ObjID size += 4 // s2.Nh.ClassifyTableIndex size += 1 // s2.NLabels for j3 := 0; j3 < 16; j3++ { size += 1 // s2.LabelStack[j3].IsUniform size += 4 // s2.LabelStack[j3].Label size += 1 // s2.LabelStack[j3].TTL size += 1 // s2.LabelStack[j3].Exp } } return size } func (m *L3xcDetails) Marshal(b []byte) ([]byte, error) { if b == nil { b = make([]byte, m.Size()) } buf := codec.NewBuffer(b) buf.EncodeUint32(uint32(m.L3xc.SwIfIndex)) buf.EncodeBool(m.L3xc.IsIP6) buf.EncodeUint8(uint8(len(m.L3xc.Paths))) for j1 := 0; j1 < len(m.L3xc.Paths); j1++ { var v1 fib_types.FibPath // Paths if j1 < len(m.L3xc.Paths) { v1 = m.L3xc.Paths[j1] } buf.EncodeUint32(v1.SwIfIndex) buf.EncodeUint32(v1.TableID) buf.EncodeUint32(v1.RpfID) buf.EncodeUint8(v1.Weight) buf.EncodeUint8(v1.Preference) buf.EncodeUint32(uint32(v1.Type)) buf.EncodeUint32(uint32(v1.Flags)) buf.EncodeUint32(uint32(v1.Proto)) buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 16) buf.EncodeUint32(v1.Nh.ViaLabel) buf.EncodeUint32(v1.Nh.ObjID) buf.EncodeUint32(v1.Nh.ClassifyTableIndex) buf.EncodeUint8(v1.NLabels) for j2 := 0; j2 < 16; j2++ { buf.EncodeUint8(v1.LabelStack[j2].IsUniform) buf.EncodeUint32(v1.LabelStack[j2].Label) buf.EncodeUint8(v1.LabelStack[j2].TTL) buf.EncodeUint8(v1.LabelStack[j2].Exp) } } return buf.Bytes(), nil } func (m *L3xcDetails) Unmarshal(b []byte) error { buf := codec.NewBuffer(b) m.L3xc.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) m.L3xc.IsIP6 = buf.DecodeBool() m.L3xc.NPaths = buf.DecodeUint8() m.L3xc.Paths = make([]fib_types.FibPath, m.L3xc.NPaths) for j1 := 0; j1 < len(m.L3xc.Paths); j1++ { m.L3xc.Paths[j1].SwIfIndex = buf.DecodeUint32() m.L3xc.Paths[j1].TableID = buf.DecodeUint32() m.L3xc.Paths[j1].RpfID = buf.DecodeUint32() m.L3xc.Paths[j1].Weight = buf.DecodeUint8() m.L3xc.Paths[j1].Preference = buf.DecodeUint8() m.L3xc.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32()) m.L3xc.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32()) m.L3xc.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) copy(m.L3xc.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) m.L3xc.Paths[j1].Nh.ViaLabel = buf.DecodeUint32() m.L3xc.Paths[j1].Nh.ObjID = buf.DecodeUint32() m.L3xc.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32() m.L3xc.Paths[j1].NLabels = buf.DecodeUint8() for j2 := 0; j2 < 16; j2++ { m.L3xc.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8() m.L3xc.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32() m.L3xc.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8() m.L3xc.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8() } } return nil } // L3xcDump defines message 'l3xc_dump'. type L3xcDump struct { SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` } func (m *L3xcDump) Reset() { *m = L3xcDump{} } func (*L3xcDump) GetMessageName() string { return "l3xc_dump" } func (*L3xcDump) GetCrcString() string { return "f9e6675e" } func (*L3xcDump) GetMessageType() api.MessageType { return api.RequestMessage } func (m *L3xcDump) Size() (size int) { if m == nil { return 0 } size += 4 // m.SwIfIndex return size } func (m *L3xcDump) Marshal(b []byte) ([]byte, error) { if b == nil { b = make([]byte, m.Size()) } buf := codec.NewBuffer(b) buf.EncodeUint32(uint32(m.SwIfIndex)) return buf.Bytes(), nil } func (m *L3xcDump) Unmarshal(b []byte) error { buf := codec.NewBuffer(b) m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) return nil } // L3xcPluginGetVersion defines message 'l3xc_plugin_get_version'. type L3xcPluginGetVersion struct{} func (m *L3xcPluginGetVersion) Reset() { *m = L3xcPluginGetVersion{} } func (*L3xcPluginGetVersion) GetMessageName() string { return "l3xc_plugin_get_version" } func (*L3xcPluginGetVersion) GetCrcString() string { return "51077d14" } func (*L3xcPluginGetVersion) GetMessageType() api.MessageType { return api.RequestMessage } func (m *L3xcPluginGetVersion) Size() (size int) { if m == nil { return 0 } return size } func (m *L3xcPluginGetVersion) Marshal(b []byte) ([]byte, error) { if b == nil { b = make([]byte, m.Size()) } buf := codec.NewBuffer(b) return buf.Bytes(), nil } func (m *L3xcPluginGetVersion) Unmarshal(b []byte) error { return nil } // L3xcPluginGetVersionReply defines message 'l3xc_plugin_get_version_reply'. type L3xcPluginGetVersionReply struct { Major uint32 `binapi:"u32,name=major" json:"major,omitempty"` Minor uint32 `binapi:"u32,name=minor" json:"minor,omitempty"` } func (m *L3xcPluginGetVersionReply) Reset() { *m = L3xcPluginGetVersionReply{} } func (*L3xcPluginGetVersionReply) GetMessageName() string { return "l3xc_plugin_get_version_reply" } func (*L3xcPluginGetVersionReply) GetCrcString() string { return "9b32cf86" } func (*L3xcPluginGetVersionReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (m *L3xcPluginGetVersionReply) Size() (size int) { if m == nil { return 0 } size += 4 // m.Major size += 4 // m.Minor return size } func (m *L3xcPluginGetVersionReply) Marshal(b []byte) ([]byte, error) { if b == nil { b = make([]byte, m.Size()) } buf := codec.NewBuffer(b) buf.EncodeUint32(m.Major) buf.EncodeUint32(m.Minor) return buf.Bytes(), nil } func (m *L3xcPluginGetVersionReply) Unmarshal(b []byte) error { buf := codec.NewBuffer(b) m.Major = buf.DecodeUint32() m.Minor = buf.DecodeUint32() return nil } // L3xcUpdate defines message 'l3xc_update'. type L3xcUpdate struct { L3xc L3xc `binapi:"l3xc,name=l3xc" json:"l3xc,omitempty"` } func (m *L3xcUpdate) Reset() { *m = L3xcUpdate{} } func (*L3xcUpdate) GetMessageName() string { return "l3xc_update" } func (*L3xcUpdate) GetCrcString() string { return "0787b1d3" } func (*L3xcUpdate) GetMessageType() api.MessageType { return api.RequestMessage } func (m *L3xcUpdate) Size() (size int) { if m == nil { return 0 } size += 4 // m.L3xc.SwIfIndex size += 1 // m.L3xc.IsIP6 size += 1 // m.L3xc.NPaths for j2 := 0; j2 < len(m.L3xc.Paths); j2++ { var s2 fib_types.FibPath _ = s2 if j2 < len(m.L3xc.Paths) { s2 = m.L3xc.Paths[j2] } size += 4 // s2.SwIfIndex size += 4 // s2.TableID size += 4 // s2.RpfID size += 1 // s2.Weight size += 1 // s2.Preference size += 4 // s2.Type size += 4 // s2.Flags size += 4 // s2.Proto size += 1 * 16 // s2.Nh.Address size += 4 // s2.Nh.ViaLabel size += 4 // s2.Nh.ObjID size += 4 // s2.Nh.ClassifyTableIndex size += 1 // s2.NLabels for j3 := 0; j3 < 16; j3++ { size += 1 // s2.LabelStack[j3].IsUniform size += 4 // s2.LabelStack[j3].Label size += 1 // s2.LabelStack[j3].TTL size += 1 // s2.LabelStack[j3].Exp } } return size } func (m *L3xcUpdate) Marshal(b []byte) ([]byte, error) { if b == nil { b = make([]byte, m.Size()) } buf := codec.NewBuffer(b) buf.EncodeUint32(uint32(m.L3xc.SwIfIndex)) buf.EncodeBool(m.L3xc.IsIP6) buf.EncodeUint8(uint8(len(m.L3xc.Paths))) for j1 := 0; j1 < len(m.L3xc.Paths); j1++ { var v1 fib_types.FibPath // Paths if j1 < len(m.L3xc.Paths) { v1 = m.L3xc.Paths[j1] } buf.EncodeUint32(v1.SwIfIndex) buf.EncodeUint32(v1.TableID) buf.EncodeUint32(v1.RpfID) buf.EncodeUint8(v1.Weight) buf.EncodeUint8(v1.Preference) buf.EncodeUint32(uint32(v1.Type)) buf.EncodeUint32(uint32(v1.Flags)) buf.EncodeUint32(uint32(v1.Proto)) buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 16) buf.EncodeUint32(v1.Nh.ViaLabel) buf.EncodeUint32(v1.Nh.ObjID) buf.EncodeUint32(v1.Nh.ClassifyTableIndex) buf.EncodeUint8(v1.NLabels) for j2 := 0; j2 < 16; j2++ { buf.EncodeUint8(v1.LabelStack[j2].IsUniform) buf.EncodeUint32(v1.LabelStack[j2].Label) buf.EncodeUint8(v1.LabelStack[j2].TTL) buf.EncodeUint8(v1.LabelStack[j2].Exp) } } return buf.Bytes(), nil } func (m *L3xcUpdate) Unmarshal(b []byte) error { buf := codec.NewBuffer(b) m.L3xc.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) m.L3xc.IsIP6 = buf.DecodeBool() m.L3xc.NPaths = buf.DecodeUint8() m.L3xc.Paths = make([]fib_types.FibPath, m.L3xc.NPaths) for j1 := 0; j1 < len(m.L3xc.Paths); j1++ { m.L3xc.Paths[j1].SwIfIndex = buf.DecodeUint32() m.L3xc.Paths[j1].TableID = buf.DecodeUint32() m.L3xc.Paths[j1].RpfID = buf.DecodeUint32() m.L3xc.Paths[j1].Weight = buf.DecodeUint8() m.L3xc.Paths[j1].Preference = buf.DecodeUint8() m.L3xc.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32()) m.L3xc.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32()) m.L3xc.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32()) copy(m.L3xc.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16)) m.L3xc.Paths[j1].Nh.ViaLabel = buf.DecodeUint32() m.L3xc.Paths[j1].Nh.ObjID = buf.DecodeUint32() m.L3xc.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32() m.L3xc.Paths[j1].NLabels = buf.DecodeUint8() for j2 := 0; j2 < 16; j2++ { m.L3xc.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8() m.L3xc.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32() m.L3xc.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8() m.L3xc.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8() } } return nil } // L3xcUpdateReply defines message 'l3xc_update_reply'. type L3xcUpdateReply struct { Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"` } func (m *L3xcUpdateReply) Reset() { *m = L3xcUpdateReply{} } func (*L3xcUpdateReply) GetMessageName() string { return "l3xc_update_reply" } func (*L3xcUpdateReply) GetCrcString() string { return "1992deab" } func (*L3xcUpdateReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (m *L3xcUpdateReply) Size() (size int) { if m == nil { return 0 } size += 4 // m.Retval size += 4 // m.StatsIndex return size } func (m *L3xcUpdateReply) Marshal(b []byte) ([]byte, error) { if b == nil { b = make([]byte, m.Size()) } buf := codec.NewBuffer(b) buf.EncodeInt32(m.Retval) buf.EncodeUint32(m.StatsIndex) return buf.Bytes(), nil } func (m *L3xcUpdateReply) Unmarshal(b []byte) error { buf := codec.NewBuffer(b) m.Retval = buf.DecodeInt32() m.StatsIndex = buf.DecodeUint32() return nil } func init() { file_l3xc_binapi_init() } func file_l3xc_binapi_init() { api.RegisterMessage((*L3xcDel)(nil), "l3xc_del_e7dbef91") api.RegisterMessage((*L3xcDelReply)(nil), "l3xc_del_reply_e8d4e804") api.RegisterMessage((*L3xcDetails)(nil), "l3xc_details_d4f69627") api.RegisterMessage((*L3xcDump)(nil), "l3xc_dump_f9e6675e") api.RegisterMessage((*L3xcPluginGetVersion)(nil), "l3xc_plugin_get_version_51077d14") api.RegisterMessage((*L3xcPluginGetVersionReply)(nil), "l3xc_plugin_get_version_reply_9b32cf86") api.RegisterMessage((*L3xcUpdate)(nil), "l3xc_update_0787b1d3") api.RegisterMessage((*L3xcUpdateReply)(nil), "l3xc_update_reply_1992deab") } // Messages returns list of all messages in this module. func AllMessages() []api.Message { return []api.Message{ (*L3xcDel)(nil), (*L3xcDelReply)(nil), (*L3xcDetails)(nil), (*L3xcDump)(nil), (*L3xcPluginGetVersion)(nil), (*L3xcPluginGetVersionReply)(nil), (*L3xcUpdate)(nil), (*L3xcUpdateReply)(nil), } }