1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.4.0-dev
4 // VPP: 20.01-45~g7a071e370~b63
5 // source: /usr/share/vpp/api/core/af_packet.api.json
8 Package af_packet contains generated code for VPP binary API defined by af_packet.api (version 2.0.0).
25 api "git.fd.io/govpp.git/api"
26 codec "git.fd.io/govpp.git/codec"
27 struc "github.com/lunixbochs/struc"
30 // This is a compile-time assertion to ensure that this generated file
31 // is compatible with the GoVPP api package it is being compiled against.
32 // A compilation error at this line likely means your copy of the
33 // GoVPP api package needs to be updated.
34 const _ = api.GoVppAPIPackageIsVersion2 // please upgrade the GoVPP api package
37 // ModuleName is the name of this module.
38 ModuleName = "af_packet"
39 // APIVersion is the API version of this module.
41 // VersionCrc is the CRC of this module.
42 VersionCrc = 0xba745e20
45 // IfStatusFlags represents VPP binary API enum 'if_status_flags'.
46 type IfStatusFlags uint32
49 IF_STATUS_API_FLAG_ADMIN_UP IfStatusFlags = 1
50 IF_STATUS_API_FLAG_LINK_UP IfStatusFlags = 2
54 IfStatusFlags_name = map[uint32]string{
55 1: "IF_STATUS_API_FLAG_ADMIN_UP",
56 2: "IF_STATUS_API_FLAG_LINK_UP",
58 IfStatusFlags_value = map[string]uint32{
59 "IF_STATUS_API_FLAG_ADMIN_UP": 1,
60 "IF_STATUS_API_FLAG_LINK_UP": 2,
64 func (x IfStatusFlags) String() string {
65 s, ok := IfStatusFlags_name[uint32(x)]
69 return "IfStatusFlags(" + strconv.Itoa(int(x)) + ")"
72 // IfType represents VPP binary API enum 'if_type'.
76 IF_API_TYPE_HARDWARE IfType = 1
77 IF_API_TYPE_SUB IfType = 2
78 IF_API_TYPE_P2P IfType = 3
79 IF_API_TYPE_PIPE IfType = 4
83 IfType_name = map[uint32]string{
84 1: "IF_API_TYPE_HARDWARE",
87 4: "IF_API_TYPE_PIPE",
89 IfType_value = map[string]uint32{
90 "IF_API_TYPE_HARDWARE": 1,
93 "IF_API_TYPE_PIPE": 4,
97 func (x IfType) String() string {
98 s, ok := IfType_name[uint32(x)]
102 return "IfType(" + strconv.Itoa(int(x)) + ")"
105 // LinkDuplex represents VPP binary API enum 'link_duplex'.
106 type LinkDuplex uint32
109 LINK_DUPLEX_API_UNKNOWN LinkDuplex = 0
110 LINK_DUPLEX_API_HALF LinkDuplex = 1
111 LINK_DUPLEX_API_FULL LinkDuplex = 2
115 LinkDuplex_name = map[uint32]string{
116 0: "LINK_DUPLEX_API_UNKNOWN",
117 1: "LINK_DUPLEX_API_HALF",
118 2: "LINK_DUPLEX_API_FULL",
120 LinkDuplex_value = map[string]uint32{
121 "LINK_DUPLEX_API_UNKNOWN": 0,
122 "LINK_DUPLEX_API_HALF": 1,
123 "LINK_DUPLEX_API_FULL": 2,
127 func (x LinkDuplex) String() string {
128 s, ok := LinkDuplex_name[uint32(x)]
132 return "LinkDuplex(" + strconv.Itoa(int(x)) + ")"
135 // MtuProto represents VPP binary API enum 'mtu_proto'.
139 MTU_PROTO_API_L3 MtuProto = 1
140 MTU_PROTO_API_IP4 MtuProto = 2
141 MTU_PROTO_API_IP6 MtuProto = 3
142 MTU_PROTO_API_MPLS MtuProto = 4
143 MTU_PROTO_API_N MtuProto = 5
147 MtuProto_name = map[uint32]string{
148 1: "MTU_PROTO_API_L3",
149 2: "MTU_PROTO_API_IP4",
150 3: "MTU_PROTO_API_IP6",
151 4: "MTU_PROTO_API_MPLS",
152 5: "MTU_PROTO_API_N",
154 MtuProto_value = map[string]uint32{
155 "MTU_PROTO_API_L3": 1,
156 "MTU_PROTO_API_IP4": 2,
157 "MTU_PROTO_API_IP6": 3,
158 "MTU_PROTO_API_MPLS": 4,
159 "MTU_PROTO_API_N": 5,
163 func (x MtuProto) String() string {
164 s, ok := MtuProto_name[uint32(x)]
168 return "MtuProto(" + strconv.Itoa(int(x)) + ")"
171 // RxMode represents VPP binary API enum 'rx_mode'.
175 RX_MODE_API_UNKNOWN RxMode = 0
176 RX_MODE_API_POLLING RxMode = 1
177 RX_MODE_API_INTERRUPT RxMode = 2
178 RX_MODE_API_ADAPTIVE RxMode = 3
179 RX_MODE_API_DEFAULT RxMode = 4
183 RxMode_name = map[uint32]string{
184 0: "RX_MODE_API_UNKNOWN",
185 1: "RX_MODE_API_POLLING",
186 2: "RX_MODE_API_INTERRUPT",
187 3: "RX_MODE_API_ADAPTIVE",
188 4: "RX_MODE_API_DEFAULT",
190 RxMode_value = map[string]uint32{
191 "RX_MODE_API_UNKNOWN": 0,
192 "RX_MODE_API_POLLING": 1,
193 "RX_MODE_API_INTERRUPT": 2,
194 "RX_MODE_API_ADAPTIVE": 3,
195 "RX_MODE_API_DEFAULT": 4,
199 func (x RxMode) String() string {
200 s, ok := RxMode_name[uint32(x)]
204 return "RxMode(" + strconv.Itoa(int(x)) + ")"
207 // SubIfFlags represents VPP binary API enum 'sub_if_flags'.
208 type SubIfFlags uint32
211 SUB_IF_API_FLAG_NO_TAGS SubIfFlags = 1
212 SUB_IF_API_FLAG_ONE_TAG SubIfFlags = 2
213 SUB_IF_API_FLAG_TWO_TAGS SubIfFlags = 4
214 SUB_IF_API_FLAG_DOT1AD SubIfFlags = 8
215 SUB_IF_API_FLAG_EXACT_MATCH SubIfFlags = 16
216 SUB_IF_API_FLAG_DEFAULT SubIfFlags = 32
217 SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY SubIfFlags = 64
218 SUB_IF_API_FLAG_INNER_VLAN_ID_ANY SubIfFlags = 128
219 SUB_IF_API_FLAG_MASK_VNET SubIfFlags = 254
220 SUB_IF_API_FLAG_DOT1AH SubIfFlags = 256
224 SubIfFlags_name = map[uint32]string{
225 1: "SUB_IF_API_FLAG_NO_TAGS",
226 2: "SUB_IF_API_FLAG_ONE_TAG",
227 4: "SUB_IF_API_FLAG_TWO_TAGS",
228 8: "SUB_IF_API_FLAG_DOT1AD",
229 16: "SUB_IF_API_FLAG_EXACT_MATCH",
230 32: "SUB_IF_API_FLAG_DEFAULT",
231 64: "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
232 128: "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
233 254: "SUB_IF_API_FLAG_MASK_VNET",
234 256: "SUB_IF_API_FLAG_DOT1AH",
236 SubIfFlags_value = map[string]uint32{
237 "SUB_IF_API_FLAG_NO_TAGS": 1,
238 "SUB_IF_API_FLAG_ONE_TAG": 2,
239 "SUB_IF_API_FLAG_TWO_TAGS": 4,
240 "SUB_IF_API_FLAG_DOT1AD": 8,
241 "SUB_IF_API_FLAG_EXACT_MATCH": 16,
242 "SUB_IF_API_FLAG_DEFAULT": 32,
243 "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY": 64,
244 "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY": 128,
245 "SUB_IF_API_FLAG_MASK_VNET": 254,
246 "SUB_IF_API_FLAG_DOT1AH": 256,
250 func (x SubIfFlags) String() string {
251 s, ok := SubIfFlags_name[uint32(x)]
255 return "SubIfFlags(" + strconv.Itoa(int(x)) + ")"
258 // InterfaceIndex represents VPP binary API alias 'interface_index'.
259 type InterfaceIndex uint32
261 // MacAddress represents VPP binary API alias 'mac_address'.
262 type MacAddress [6]uint8
264 // AfPacketCreate represents VPP binary API message 'af_packet_create'.
265 type AfPacketCreate struct {
266 HwAddr MacAddress `binapi:"mac_address,name=hw_addr" json:"hw_addr,omitempty"`
267 UseRandomHwAddr bool `binapi:"bool,name=use_random_hw_addr" json:"use_random_hw_addr,omitempty"`
268 HostIfName string `binapi:"string[64],name=host_if_name" json:"host_if_name,omitempty" struc:"[64]byte"`
271 func (m *AfPacketCreate) Reset() { *m = AfPacketCreate{} }
272 func (*AfPacketCreate) GetMessageName() string { return "af_packet_create" }
273 func (*AfPacketCreate) GetCrcString() string { return "a190415f" }
274 func (*AfPacketCreate) GetMessageType() api.MessageType { return api.RequestMessage }
276 func (m *AfPacketCreate) Size() int {
283 // field[1] m.UseRandomHwAddr
285 // field[1] m.HostIfName
289 func (m *AfPacketCreate) Marshal(b []byte) ([]byte, error) {
290 o := binary.BigEndian
296 buf = make([]byte, m.Size())
301 for i := 0; i < 6; i++ {
303 if i < len(m.HwAddr) {
304 x = uint8(m.HwAddr[i])
309 // field[1] m.UseRandomHwAddr
310 if m.UseRandomHwAddr {
314 // field[1] m.HostIfName
315 copy(buf[pos:pos+64], m.HostIfName)
319 func (m *AfPacketCreate) Unmarshal(tmp []byte) error {
320 o := binary.BigEndian
325 for i := 0; i < len(m.HwAddr); i++ {
326 m.HwAddr[i] = uint8(tmp[pos])
329 // field[1] m.UseRandomHwAddr
330 m.UseRandomHwAddr = tmp[pos] != 0
332 // field[1] m.HostIfName
334 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
335 m.HostIfName = codec.DecodeString(tmp[pos : pos+nul])
341 // AfPacketCreateReply represents VPP binary API message 'af_packet_create_reply'.
342 type AfPacketCreateReply struct {
343 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
344 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
347 func (m *AfPacketCreateReply) Reset() { *m = AfPacketCreateReply{} }
348 func (*AfPacketCreateReply) GetMessageName() string { return "af_packet_create_reply" }
349 func (*AfPacketCreateReply) GetCrcString() string { return "5383d31f" }
350 func (*AfPacketCreateReply) GetMessageType() api.MessageType { return api.ReplyMessage }
352 func (m *AfPacketCreateReply) Size() int {
359 // field[1] m.SwIfIndex
363 func (m *AfPacketCreateReply) Marshal(b []byte) ([]byte, error) {
364 o := binary.BigEndian
370 buf = make([]byte, m.Size())
375 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
377 // field[1] m.SwIfIndex
378 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
382 func (m *AfPacketCreateReply) Unmarshal(tmp []byte) error {
383 o := binary.BigEndian
388 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
390 // field[1] m.SwIfIndex
391 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
396 // AfPacketDelete represents VPP binary API message 'af_packet_delete'.
397 type AfPacketDelete struct {
398 HostIfName string `binapi:"string[64],name=host_if_name" json:"host_if_name,omitempty" struc:"[64]byte"`
401 func (m *AfPacketDelete) Reset() { *m = AfPacketDelete{} }
402 func (*AfPacketDelete) GetMessageName() string { return "af_packet_delete" }
403 func (*AfPacketDelete) GetCrcString() string { return "863fa648" }
404 func (*AfPacketDelete) GetMessageType() api.MessageType { return api.RequestMessage }
406 func (m *AfPacketDelete) Size() int {
411 // field[1] m.HostIfName
415 func (m *AfPacketDelete) Marshal(b []byte) ([]byte, error) {
416 o := binary.BigEndian
422 buf = make([]byte, m.Size())
426 // field[1] m.HostIfName
427 copy(buf[pos:pos+64], m.HostIfName)
431 func (m *AfPacketDelete) Unmarshal(tmp []byte) error {
432 o := binary.BigEndian
436 // field[1] m.HostIfName
438 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
439 m.HostIfName = codec.DecodeString(tmp[pos : pos+nul])
445 // AfPacketDeleteReply represents VPP binary API message 'af_packet_delete_reply'.
446 type AfPacketDeleteReply struct {
447 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
450 func (m *AfPacketDeleteReply) Reset() { *m = AfPacketDeleteReply{} }
451 func (*AfPacketDeleteReply) GetMessageName() string { return "af_packet_delete_reply" }
452 func (*AfPacketDeleteReply) GetCrcString() string { return "e8d4e804" }
453 func (*AfPacketDeleteReply) GetMessageType() api.MessageType { return api.ReplyMessage }
455 func (m *AfPacketDeleteReply) Size() int {
464 func (m *AfPacketDeleteReply) Marshal(b []byte) ([]byte, error) {
465 o := binary.BigEndian
471 buf = make([]byte, m.Size())
476 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
480 func (m *AfPacketDeleteReply) Unmarshal(tmp []byte) error {
481 o := binary.BigEndian
486 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
491 // AfPacketDetails represents VPP binary API message 'af_packet_details'.
492 type AfPacketDetails struct {
493 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
494 HostIfName string `binapi:"string[64],name=host_if_name" json:"host_if_name,omitempty" struc:"[64]byte"`
497 func (m *AfPacketDetails) Reset() { *m = AfPacketDetails{} }
498 func (*AfPacketDetails) GetMessageName() string { return "af_packet_details" }
499 func (*AfPacketDetails) GetCrcString() string { return "58c7c042" }
500 func (*AfPacketDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
502 func (m *AfPacketDetails) Size() int {
507 // field[1] m.SwIfIndex
509 // field[1] m.HostIfName
513 func (m *AfPacketDetails) Marshal(b []byte) ([]byte, error) {
514 o := binary.BigEndian
520 buf = make([]byte, m.Size())
524 // field[1] m.SwIfIndex
525 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
527 // field[1] m.HostIfName
528 copy(buf[pos:pos+64], m.HostIfName)
532 func (m *AfPacketDetails) Unmarshal(tmp []byte) error {
533 o := binary.BigEndian
537 // field[1] m.SwIfIndex
538 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
540 // field[1] m.HostIfName
542 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
543 m.HostIfName = codec.DecodeString(tmp[pos : pos+nul])
549 // AfPacketDump represents VPP binary API message 'af_packet_dump'.
550 type AfPacketDump struct{}
552 func (m *AfPacketDump) Reset() { *m = AfPacketDump{} }
553 func (*AfPacketDump) GetMessageName() string { return "af_packet_dump" }
554 func (*AfPacketDump) GetCrcString() string { return "51077d14" }
555 func (*AfPacketDump) GetMessageType() api.MessageType { return api.RequestMessage }
557 func (m *AfPacketDump) Size() int {
564 func (m *AfPacketDump) Marshal(b []byte) ([]byte, error) {
565 o := binary.BigEndian
571 buf = make([]byte, m.Size())
577 func (m *AfPacketDump) Unmarshal(tmp []byte) error {
578 o := binary.BigEndian
585 // AfPacketSetL4CksumOffload represents VPP binary API message 'af_packet_set_l4_cksum_offload'.
586 type AfPacketSetL4CksumOffload struct {
587 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
588 Set bool `binapi:"bool,name=set" json:"set,omitempty"`
591 func (m *AfPacketSetL4CksumOffload) Reset() { *m = AfPacketSetL4CksumOffload{} }
592 func (*AfPacketSetL4CksumOffload) GetMessageName() string { return "af_packet_set_l4_cksum_offload" }
593 func (*AfPacketSetL4CksumOffload) GetCrcString() string { return "319cd5c8" }
594 func (*AfPacketSetL4CksumOffload) GetMessageType() api.MessageType { return api.RequestMessage }
596 func (m *AfPacketSetL4CksumOffload) Size() int {
601 // field[1] m.SwIfIndex
607 func (m *AfPacketSetL4CksumOffload) Marshal(b []byte) ([]byte, error) {
608 o := binary.BigEndian
614 buf = make([]byte, m.Size())
618 // field[1] m.SwIfIndex
619 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
628 func (m *AfPacketSetL4CksumOffload) Unmarshal(tmp []byte) error {
629 o := binary.BigEndian
633 // field[1] m.SwIfIndex
634 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
637 m.Set = tmp[pos] != 0
642 // AfPacketSetL4CksumOffloadReply represents VPP binary API message 'af_packet_set_l4_cksum_offload_reply'.
643 type AfPacketSetL4CksumOffloadReply struct {
644 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
647 func (m *AfPacketSetL4CksumOffloadReply) Reset() { *m = AfPacketSetL4CksumOffloadReply{} }
648 func (*AfPacketSetL4CksumOffloadReply) GetMessageName() string {
649 return "af_packet_set_l4_cksum_offload_reply"
651 func (*AfPacketSetL4CksumOffloadReply) GetCrcString() string { return "e8d4e804" }
652 func (*AfPacketSetL4CksumOffloadReply) GetMessageType() api.MessageType { return api.ReplyMessage }
654 func (m *AfPacketSetL4CksumOffloadReply) Size() int {
663 func (m *AfPacketSetL4CksumOffloadReply) Marshal(b []byte) ([]byte, error) {
664 o := binary.BigEndian
670 buf = make([]byte, m.Size())
675 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
679 func (m *AfPacketSetL4CksumOffloadReply) Unmarshal(tmp []byte) error {
680 o := binary.BigEndian
685 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
690 func init() { file_af_packet_binapi_init() }
691 func file_af_packet_binapi_init() {
692 api.RegisterMessage((*AfPacketCreate)(nil), "af_packet.AfPacketCreate")
693 api.RegisterMessage((*AfPacketCreateReply)(nil), "af_packet.AfPacketCreateReply")
694 api.RegisterMessage((*AfPacketDelete)(nil), "af_packet.AfPacketDelete")
695 api.RegisterMessage((*AfPacketDeleteReply)(nil), "af_packet.AfPacketDeleteReply")
696 api.RegisterMessage((*AfPacketDetails)(nil), "af_packet.AfPacketDetails")
697 api.RegisterMessage((*AfPacketDump)(nil), "af_packet.AfPacketDump")
698 api.RegisterMessage((*AfPacketSetL4CksumOffload)(nil), "af_packet.AfPacketSetL4CksumOffload")
699 api.RegisterMessage((*AfPacketSetL4CksumOffloadReply)(nil), "af_packet.AfPacketSetL4CksumOffloadReply")
702 // Messages returns list of all messages in this module.
703 func AllMessages() []api.Message {
704 return []api.Message{
705 (*AfPacketCreate)(nil),
706 (*AfPacketCreateReply)(nil),
707 (*AfPacketDelete)(nil),
708 (*AfPacketDeleteReply)(nil),
709 (*AfPacketDetails)(nil),
710 (*AfPacketDump)(nil),
711 (*AfPacketSetL4CksumOffload)(nil),
712 (*AfPacketSetL4CksumOffloadReply)(nil),
716 // Reference imports to suppress errors if they are not otherwise used.
717 var _ = api.RegisterMessage
718 var _ = codec.DecodeString
719 var _ = bytes.NewBuffer
720 var _ = context.Background
724 var _ = binary.BigEndian
725 var _ = math.Float32bits