diff options
author | Ondrej Fabry <ofabry@cisco.com> | 2018-08-15 12:59:25 +0200 |
---|---|---|
committer | Ondrej Fabry <ofabry@cisco.com> | 2018-08-16 15:03:29 +0200 |
commit | a3bb834db727a3ac9a1ffcfeae9265e5dead851f (patch) | |
tree | 6ffe64d2dd78a4c3434c2889dd7582b74619fe2b /examples/bin_api/interfaces/interfaces.ba.go | |
parent | da815585c3f75c4ac073b0766dd668abf83844d8 (diff) |
Refactor GoVPP
Squashed commit of the following:
commit 348930db31575e9f59b3834d9fec07411f011e05
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 15 11:30:13 2018 +0200
Use debug level for log about different context
commit 9fc963c559cea67a41b85c6cdadc322fb3b1fc7c
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 15 11:22:03 2018 +0200
Remove annoying logs and add env vars for debugging
commit fdc9fd624d13feadb602e0d03d58f8a44b7a565f
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 15 11:18:47 2018 +0200
Fix printing unknown VPPApiError
commit 8f968be36a91de4d4a8ea17593ba314f82aa9583
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Tue Aug 14 17:25:10 2018 +0200
Refactor entire GoVPP
- fix some cases with inconsistent VPP messages, causing messages
to be incorrectly identified as event or request
- simplify API, remove direct access to internal Go channels
- add module name with message to registration of messages
- start watching filesystem only when vpe-api file does not exist
- simplify code in message codec and remove unneeded parts
- retrieve IDs of all registered messages after connect to VPP
- define fallback for control ping in core to avoid duplicate registration
- add SetLogLevel function to set logger level more easily
- remove lot of unused code
commit 34dd1b7e10ef0324aa8c4e4cc42375bd6021c6cb
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Mon Aug 13 11:29:54 2018 +0200
Rename VnetError to VPPApiError
commit c6549d6f77847a1367a12ff47fb716e2955e973a
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Mon Aug 13 10:23:43 2018 +0200
Fix examples and regenerate binapi
commit 4612e36b416779771f5efab4fc654c2766d2cb1c
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Mon Aug 13 09:51:22 2018 +0200
Add parsing and generation for services
commit ac9c5280c5aa27e325f327609e2364cc66f3723f
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Fri Aug 10 14:30:15 2018 +0200
Fix exit status on error and add continue-onerror flag
commit 9b3f4ef9fc7c8c62037fa107085eae18a8725314
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 15:20:56 2018 +0200
Return VnetError when Retval != 0
commit 8fd21a907b5e628ec4d2026215b83d15da96c297
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 14:59:05 2018 +0200
Add all missing errors from api_errno.h
commit 08450f288d3046ebaecf40203174ae342a07f1eb
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 14:29:27 2018 +0200
Update README
commit d8dced0728dd62243539be741868fb7d9b8de4cc
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:59:59 2018 +0200
Regenerate vpe in core
commit 254da7592cdbf634cf7aa46ae36ce7bb6d4ee555
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:37:00 2018 +0200
Add VnetError type for Retvals
commit 4475c1087fb53ab4c788e530bc7fef7cfc89d2cd
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:36:07 2018 +0200
Add registration API
commit 892a3ea5a2c703e2f7c29331663f6a6fa706bff5
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:30:43 2018 +0200
Generate registration for messages and check all IDs on connect
commit 389ed03b6e7082260281866c3449d72d72347c99
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:32:41 2018 +0200
Show error for empty adapter (on Darwin/Windows)
commit ef1ea040d656ade64242432dc5f06810ed8dcde6
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:31:37 2018 +0200
Improve logged info
commit d4adae3b14ed54c8d693060dd857fa9ba5ec8e06
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:27:48 2018 +0200
Update examples
commit 63921e1346014701a22639a2611129563bb1eb78
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:02:56 2018 +0200
Generate unions and fix some issues
- add comments between sections
- define structs on single line if it has no fields
- generate unions with setters/getters for each field
- fix detection of message type
commit 6ab3e3fa590b245898306a6ffaf32c7721eab60c
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 8 15:37:10 2018 +0200
Refactor binapi-generator
- split JSON parsing from code generation
- parse and generate enums
- parse unions (no generation yet)
- change output file suffix to '.ba.go'
- cleanup and simplify code
- split code into files
- add flag for debug mode
Change-Id: I58f685e0d4c7a38e9a7b6ea0a1f47792d95d7399
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Diffstat (limited to 'examples/bin_api/interfaces/interfaces.ba.go')
-rw-r--r-- | examples/bin_api/interfaces/interfaces.ba.go | 2453 |
1 files changed, 2453 insertions, 0 deletions
diff --git a/examples/bin_api/interfaces/interfaces.ba.go b/examples/bin_api/interfaces/interfaces.ba.go new file mode 100644 index 0000000..5ef58ed --- /dev/null +++ b/examples/bin_api/interfaces/interfaces.ba.go @@ -0,0 +1,2453 @@ +// Code generated by GoVPP binapi-generator. DO NOT EDIT. +// source: interface.api.json + +/* +Package interfaces is a generated VPP binary API of the 'interface' VPP module. + +It is generated from this file: + interface.api.json + +It contains these VPP binary API objects: + 45 messages + 3 types + 22 services +*/ +package interfaces + +import "git.fd.io/govpp.git/api" +import "github.com/lunixbochs/struc" +import "bytes" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = struc.Pack +var _ = bytes.NewBuffer + +/* Types */ + +// VlibCounter represents the VPP binary API type 'vlib_counter'. +// Generated from 'interface.api.json', line 1301: +// +// "vlib_counter", +// [ +// "u64", +// "packets" +// ], +// [ +// "u64", +// "bytes" +// ], +// { +// "crc": "0xce2325a2" +// } +// +type VlibCounter struct { + Packets uint64 + Bytes uint64 +} + +func (*VlibCounter) GetTypeName() string { + return "vlib_counter" +} +func (*VlibCounter) GetCrcString() string { + return "ce2325a2" +} + +// VnetCombinedCounter represents the VPP binary API type 'vnet_combined_counter'. +// Generated from 'interface.api.json', line 1315: +// +// "vnet_combined_counter", +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u64", +// "rx_packets" +// ], +// [ +// "u64", +// "rx_bytes" +// ], +// [ +// "u64", +// "rx_unicast_packets" +// ], +// [ +// "u64", +// "rx_unicast_bytes" +// ], +// [ +// "u64", +// "rx_multicast_packets" +// ], +// [ +// "u64", +// "rx_multicast_bytes" +// ], +// [ +// "u64", +// "rx_broadcast_packets" +// ], +// [ +// "u64", +// "rx_broadcast_bytes" +// ], +// [ +// "u64", +// "tx_packets" +// ], +// [ +// "u64", +// "tx_bytes" +// ], +// [ +// "u64", +// "tx_unicast_packets" +// ], +// [ +// "u64", +// "tx_unicast_bytes" +// ], +// [ +// "u64", +// "tx_multicast_packets" +// ], +// [ +// "u64", +// "tx_multicast_bytes" +// ], +// [ +// "u64", +// "tx_broadcast_packets" +// ], +// [ +// "u64", +// "tx_broadcast_bytes" +// ], +// { +// "crc": "0x20905ca4" +// } +// +type VnetCombinedCounter struct { + SwIfIndex uint32 + RxPackets uint64 + RxBytes uint64 + RxUnicastPackets uint64 + RxUnicastBytes uint64 + RxMulticastPackets uint64 + RxMulticastBytes uint64 + RxBroadcastPackets uint64 + RxBroadcastBytes uint64 + TxPackets uint64 + TxBytes uint64 + TxUnicastPackets uint64 + TxUnicastBytes uint64 + TxMulticastPackets uint64 + TxMulticastBytes uint64 + TxBroadcastPackets uint64 + TxBroadcastBytes uint64 +} + +func (*VnetCombinedCounter) GetTypeName() string { + return "vnet_combined_counter" +} +func (*VnetCombinedCounter) GetCrcString() string { + return "20905ca4" +} + +// VnetSimpleCounter represents the VPP binary API type 'vnet_simple_counter'. +// Generated from 'interface.api.json', line 1389: +// +// "vnet_simple_counter", +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u64", +// "drop" +// ], +// [ +// "u64", +// "punt" +// ], +// [ +// "u64", +// "rx_ip4" +// ], +// [ +// "u64", +// "rx_ip6" +// ], +// [ +// "u64", +// "rx_no_buffer" +// ], +// [ +// "u64", +// "rx_miss" +// ], +// [ +// "u64", +// "rx_error" +// ], +// [ +// "u64", +// "tx_error" +// ], +// [ +// "u64", +// "rx_mpls" +// ], +// { +// "crc": "0x8bd65e2d" +// } +// +type VnetSimpleCounter struct { + SwIfIndex uint32 + Drop uint64 + Punt uint64 + RxIP4 uint64 + RxIP6 uint64 + RxNoBuffer uint64 + RxMiss uint64 + RxError uint64 + TxError uint64 + RxMpls uint64 +} + +func (*VnetSimpleCounter) GetTypeName() string { + return "vnet_simple_counter" +} +func (*VnetSimpleCounter) GetCrcString() string { + return "8bd65e2d" +} + +/* Messages */ + +// SwInterfaceSetFlags represents the VPP binary API message 'sw_interface_set_flags'. +// Generated from 'interface.api.json', line 4: +// +// "sw_interface_set_flags", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "admin_up_down" +// ], +// { +// "crc": "0x555485f5" +// } +// +type SwInterfaceSetFlags struct { + SwIfIndex uint32 + AdminUpDown uint8 +} + +func (*SwInterfaceSetFlags) GetMessageName() string { + return "sw_interface_set_flags" +} +func (*SwInterfaceSetFlags) GetCrcString() string { + return "555485f5" +} +func (*SwInterfaceSetFlags) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceSetFlags() api.Message { + return &SwInterfaceSetFlags{} +} + +// SwInterfaceSetFlagsReply represents the VPP binary API message 'sw_interface_set_flags_reply'. +// Generated from 'interface.api.json', line 30: +// +// "sw_interface_set_flags_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceSetFlagsReply struct { + Retval int32 +} + +func (*SwInterfaceSetFlagsReply) GetMessageName() string { + return "sw_interface_set_flags_reply" +} +func (*SwInterfaceSetFlagsReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceSetFlagsReply() api.Message { + return &SwInterfaceSetFlagsReply{} +} + +// HwInterfaceSetMtu represents the VPP binary API message 'hw_interface_set_mtu'. +// Generated from 'interface.api.json', line 48: +// +// "hw_interface_set_mtu", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u16", +// "mtu" +// ], +// { +// "crc": "0x132da1e7" +// } +// +type HwInterfaceSetMtu struct { + SwIfIndex uint32 + Mtu uint16 +} + +func (*HwInterfaceSetMtu) GetMessageName() string { + return "hw_interface_set_mtu" +} +func (*HwInterfaceSetMtu) GetCrcString() string { + return "132da1e7" +} +func (*HwInterfaceSetMtu) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewHwInterfaceSetMtu() api.Message { + return &HwInterfaceSetMtu{} +} + +// HwInterfaceSetMtuReply represents the VPP binary API message 'hw_interface_set_mtu_reply'. +// Generated from 'interface.api.json', line 74: +// +// "hw_interface_set_mtu_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type HwInterfaceSetMtuReply struct { + Retval int32 +} + +func (*HwInterfaceSetMtuReply) GetMessageName() string { + return "hw_interface_set_mtu_reply" +} +func (*HwInterfaceSetMtuReply) GetCrcString() string { + return "e8d4e804" +} +func (*HwInterfaceSetMtuReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewHwInterfaceSetMtuReply() api.Message { + return &HwInterfaceSetMtuReply{} +} + +// SwInterfaceSetMtu represents the VPP binary API message 'sw_interface_set_mtu'. +// Generated from 'interface.api.json', line 92: +// +// "sw_interface_set_mtu", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "mtu", +// 4 +// ], +// { +// "crc": "0xd0008db8" +// } +// +type SwInterfaceSetMtu struct { + SwIfIndex uint32 + Mtu []uint32 `struc:"[4]uint32"` +} + +func (*SwInterfaceSetMtu) GetMessageName() string { + return "sw_interface_set_mtu" +} +func (*SwInterfaceSetMtu) GetCrcString() string { + return "d0008db8" +} +func (*SwInterfaceSetMtu) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceSetMtu() api.Message { + return &SwInterfaceSetMtu{} +} + +// SwInterfaceSetMtuReply represents the VPP binary API message 'sw_interface_set_mtu_reply'. +// Generated from 'interface.api.json', line 119: +// +// "sw_interface_set_mtu_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceSetMtuReply struct { + Retval int32 +} + +func (*SwInterfaceSetMtuReply) GetMessageName() string { + return "sw_interface_set_mtu_reply" +} +func (*SwInterfaceSetMtuReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceSetMtuReply() api.Message { + return &SwInterfaceSetMtuReply{} +} + +// SwInterfaceEvent represents the VPP binary API message 'sw_interface_event'. +// Generated from 'interface.api.json', line 137: +// +// "sw_interface_event", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "admin_up_down" +// ], +// [ +// "u8", +// "link_up_down" +// ], +// [ +// "u8", +// "deleted" +// ], +// { +// "crc": "0xbf9938e4" +// } +// +type SwInterfaceEvent struct { + PID uint32 + SwIfIndex uint32 + AdminUpDown uint8 + LinkUpDown uint8 + Deleted uint8 +} + +func (*SwInterfaceEvent) GetMessageName() string { + return "sw_interface_event" +} +func (*SwInterfaceEvent) GetCrcString() string { + return "bf9938e4" +} +func (*SwInterfaceEvent) GetMessageType() api.MessageType { + return api.EventMessage +} +func NewSwInterfaceEvent() api.Message { + return &SwInterfaceEvent{} +} + +// WantInterfaceEvents represents the VPP binary API message 'want_interface_events'. +// Generated from 'interface.api.json', line 171: +// +// "want_interface_events", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } +// +type WantInterfaceEvents struct { + EnableDisable uint32 + PID uint32 +} + +func (*WantInterfaceEvents) GetMessageName() string { + return "want_interface_events" +} +func (*WantInterfaceEvents) GetCrcString() string { + return "476f5a08" +} +func (*WantInterfaceEvents) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewWantInterfaceEvents() api.Message { + return &WantInterfaceEvents{} +} + +// WantInterfaceEventsReply represents the VPP binary API message 'want_interface_events_reply'. +// Generated from 'interface.api.json', line 197: +// +// "want_interface_events_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantInterfaceEventsReply struct { + Retval int32 +} + +func (*WantInterfaceEventsReply) GetMessageName() string { + return "want_interface_events_reply" +} +func (*WantInterfaceEventsReply) GetCrcString() string { + return "e8d4e804" +} +func (*WantInterfaceEventsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewWantInterfaceEventsReply() api.Message { + return &WantInterfaceEventsReply{} +} + +// SwInterfaceDetails represents the VPP binary API message 'sw_interface_details'. +// Generated from 'interface.api.json', line 215: +// +// "sw_interface_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "sup_sw_if_index" +// ], +// [ +// "u32", +// "l2_address_length" +// ], +// [ +// "u8", +// "l2_address", +// 8 +// ], +// [ +// "u8", +// "interface_name", +// 64 +// ], +// [ +// "u8", +// "admin_up_down" +// ], +// [ +// "u8", +// "link_up_down" +// ], +// [ +// "u8", +// "link_duplex" +// ], +// [ +// "u8", +// "link_speed" +// ], +// [ +// "u16", +// "link_mtu" +// ], +// [ +// "u32", +// "mtu", +// 4 +// ], +// [ +// "u32", +// "sub_id" +// ], +// [ +// "u8", +// "sub_dot1ad" +// ], +// [ +// "u8", +// "sub_dot1ah" +// ], +// [ +// "u8", +// "sub_number_of_tags" +// ], +// [ +// "u16", +// "sub_outer_vlan_id" +// ], +// [ +// "u16", +// "sub_inner_vlan_id" +// ], +// [ +// "u8", +// "sub_exact_match" +// ], +// [ +// "u8", +// "sub_default" +// ], +// [ +// "u8", +// "sub_outer_vlan_id_any" +// ], +// [ +// "u8", +// "sub_inner_vlan_id_any" +// ], +// [ +// "u32", +// "vtr_op" +// ], +// [ +// "u32", +// "vtr_push_dot1q" +// ], +// [ +// "u32", +// "vtr_tag1" +// ], +// [ +// "u32", +// "vtr_tag2" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// [ +// "u16", +// "outer_tag" +// ], +// [ +// "u8", +// "b_dmac", +// 6 +// ], +// [ +// "u8", +// "b_smac", +// 6 +// ], +// [ +// "u16", +// "b_vlanid" +// ], +// [ +// "u32", +// "i_sid" +// ], +// { +// "crc": "0x09b4b510" +// } +// +type SwInterfaceDetails struct { + SwIfIndex uint32 + SupSwIfIndex uint32 + L2AddressLength uint32 + L2Address []byte `struc:"[8]byte"` + InterfaceName []byte `struc:"[64]byte"` + AdminUpDown uint8 + LinkUpDown uint8 + LinkDuplex uint8 + LinkSpeed uint8 + LinkMtu uint16 + Mtu []uint32 `struc:"[4]uint32"` + SubID uint32 + SubDot1ad uint8 + SubDot1ah uint8 + SubNumberOfTags uint8 + SubOuterVlanID uint16 + SubInnerVlanID uint16 + SubExactMatch uint8 + SubDefault uint8 + SubOuterVlanIDAny uint8 + SubInnerVlanIDAny uint8 + VtrOp uint32 + VtrPushDot1q uint32 + VtrTag1 uint32 + VtrTag2 uint32 + Tag []byte `struc:"[64]byte"` + OuterTag uint16 + BDmac []byte `struc:"[6]byte"` + BSmac []byte `struc:"[6]byte"` + BVlanid uint16 + ISid uint32 +} + +func (*SwInterfaceDetails) GetMessageName() string { + return "sw_interface_details" +} +func (*SwInterfaceDetails) GetCrcString() string { + return "09b4b510" +} +func (*SwInterfaceDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceDetails() api.Message { + return &SwInterfaceDetails{} +} + +// SwInterfaceDump represents the VPP binary API message 'sw_interface_dump'. +// Generated from 'interface.api.json', line 359: +// +// "sw_interface_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "name_filter_valid" +// ], +// [ +// "u8", +// "name_filter", +// 49 +// ], +// { +// "crc": "0x63f5e3b7" +// } +// +type SwInterfaceDump struct { + NameFilterValid uint8 + NameFilter []byte `struc:"[49]byte"` +} + +func (*SwInterfaceDump) GetMessageName() string { + return "sw_interface_dump" +} +func (*SwInterfaceDump) GetCrcString() string { + return "63f5e3b7" +} +func (*SwInterfaceDump) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceDump() api.Message { + return &SwInterfaceDump{} +} + +// SwInterfaceAddDelAddress represents the VPP binary API message 'sw_interface_add_del_address'. +// Generated from 'interface.api.json', line 386: +// +// "sw_interface_add_del_address", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "del_all" +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// { +// "crc": "0x7b583179" +// } +// +type SwInterfaceAddDelAddress struct { + SwIfIndex uint32 + IsAdd uint8 + IsIPv6 uint8 + DelAll uint8 + AddressLength uint8 + Address []byte `struc:"[16]byte"` +} + +func (*SwInterfaceAddDelAddress) GetMessageName() string { + return "sw_interface_add_del_address" +} +func (*SwInterfaceAddDelAddress) GetCrcString() string { + return "7b583179" +} +func (*SwInterfaceAddDelAddress) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceAddDelAddress() api.Message { + return &SwInterfaceAddDelAddress{} +} + +// SwInterfaceAddDelAddressReply represents the VPP binary API message 'sw_interface_add_del_address_reply'. +// Generated from 'interface.api.json', line 429: +// +// "sw_interface_add_del_address_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceAddDelAddressReply struct { + Retval int32 +} + +func (*SwInterfaceAddDelAddressReply) GetMessageName() string { + return "sw_interface_add_del_address_reply" +} +func (*SwInterfaceAddDelAddressReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceAddDelAddressReply() api.Message { + return &SwInterfaceAddDelAddressReply{} +} + +// SwInterfaceSetTable represents the VPP binary API message 'sw_interface_set_table'. +// Generated from 'interface.api.json', line 447: +// +// "sw_interface_set_table", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// { +// "crc": "0xacb25d89" +// } +// +type SwInterfaceSetTable struct { + SwIfIndex uint32 + IsIPv6 uint8 + VrfID uint32 +} + +func (*SwInterfaceSetTable) GetMessageName() string { + return "sw_interface_set_table" +} +func (*SwInterfaceSetTable) GetCrcString() string { + return "acb25d89" +} +func (*SwInterfaceSetTable) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceSetTable() api.Message { + return &SwInterfaceSetTable{} +} + +// SwInterfaceSetTableReply represents the VPP binary API message 'sw_interface_set_table_reply'. +// Generated from 'interface.api.json', line 477: +// +// "sw_interface_set_table_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceSetTableReply struct { + Retval int32 +} + +func (*SwInterfaceSetTableReply) GetMessageName() string { + return "sw_interface_set_table_reply" +} +func (*SwInterfaceSetTableReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceSetTableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceSetTableReply() api.Message { + return &SwInterfaceSetTableReply{} +} + +// SwInterfaceGetTable represents the VPP binary API message 'sw_interface_get_table'. +// Generated from 'interface.api.json', line 495: +// +// "sw_interface_get_table", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x6b7bcd0a" +// } +// +type SwInterfaceGetTable struct { + SwIfIndex uint32 + IsIPv6 uint8 +} + +func (*SwInterfaceGetTable) GetMessageName() string { + return "sw_interface_get_table" +} +func (*SwInterfaceGetTable) GetCrcString() string { + return "6b7bcd0a" +} +func (*SwInterfaceGetTable) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceGetTable() api.Message { + return &SwInterfaceGetTable{} +} + +// SwInterfaceGetTableReply represents the VPP binary API message 'sw_interface_get_table_reply'. +// Generated from 'interface.api.json', line 521: +// +// "sw_interface_get_table_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// { +// "crc": "0xa6eb0109" +// } +// +type SwInterfaceGetTableReply struct { + Retval int32 + VrfID uint32 +} + +func (*SwInterfaceGetTableReply) GetMessageName() string { + return "sw_interface_get_table_reply" +} +func (*SwInterfaceGetTableReply) GetCrcString() string { + return "a6eb0109" +} +func (*SwInterfaceGetTableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceGetTableReply() api.Message { + return &SwInterfaceGetTableReply{} +} + +// SwInterfaceSetUnnumbered represents the VPP binary API message 'sw_interface_set_unnumbered'. +// Generated from 'interface.api.json', line 543: +// +// "sw_interface_set_unnumbered", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "unnumbered_sw_if_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// { +// "crc": "0xa2c1bbda" +// } +// +type SwInterfaceSetUnnumbered struct { + SwIfIndex uint32 + UnnumberedSwIfIndex uint32 + IsAdd uint8 +} + +func (*SwInterfaceSetUnnumbered) GetMessageName() string { + return "sw_interface_set_unnumbered" +} +func (*SwInterfaceSetUnnumbered) GetCrcString() string { + return "a2c1bbda" +} +func (*SwInterfaceSetUnnumbered) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceSetUnnumbered() api.Message { + return &SwInterfaceSetUnnumbered{} +} + +// SwInterfaceSetUnnumberedReply represents the VPP binary API message 'sw_interface_set_unnumbered_reply'. +// Generated from 'interface.api.json', line 573: +// +// "sw_interface_set_unnumbered_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceSetUnnumberedReply struct { + Retval int32 +} + +func (*SwInterfaceSetUnnumberedReply) GetMessageName() string { + return "sw_interface_set_unnumbered_reply" +} +func (*SwInterfaceSetUnnumberedReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceSetUnnumberedReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceSetUnnumberedReply() api.Message { + return &SwInterfaceSetUnnumberedReply{} +} + +// SwInterfaceClearStats represents the VPP binary API message 'sw_interface_clear_stats'. +// Generated from 'interface.api.json', line 591: +// +// "sw_interface_clear_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } +// +type SwInterfaceClearStats struct { + SwIfIndex uint32 +} + +func (*SwInterfaceClearStats) GetMessageName() string { + return "sw_interface_clear_stats" +} +func (*SwInterfaceClearStats) GetCrcString() string { + return "529cb13f" +} +func (*SwInterfaceClearStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceClearStats() api.Message { + return &SwInterfaceClearStats{} +} + +// SwInterfaceClearStatsReply represents the VPP binary API message 'sw_interface_clear_stats_reply'. +// Generated from 'interface.api.json', line 613: +// +// "sw_interface_clear_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceClearStatsReply struct { + Retval int32 +} + +func (*SwInterfaceClearStatsReply) GetMessageName() string { + return "sw_interface_clear_stats_reply" +} +func (*SwInterfaceClearStatsReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceClearStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceClearStatsReply() api.Message { + return &SwInterfaceClearStatsReply{} +} + +// SwInterfaceTagAddDel represents the VPP binary API message 'sw_interface_tag_add_del'. +// Generated from 'interface.api.json', line 631: +// +// "sw_interface_tag_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// { +// "crc": "0x14cc636c" +// } +// +type SwInterfaceTagAddDel struct { + IsAdd uint8 + SwIfIndex uint32 + Tag []byte `struc:"[64]byte"` +} + +func (*SwInterfaceTagAddDel) GetMessageName() string { + return "sw_interface_tag_add_del" +} +func (*SwInterfaceTagAddDel) GetCrcString() string { + return "14cc636c" +} +func (*SwInterfaceTagAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceTagAddDel() api.Message { + return &SwInterfaceTagAddDel{} +} + +// SwInterfaceTagAddDelReply represents the VPP binary API message 'sw_interface_tag_add_del_reply'. +// Generated from 'interface.api.json', line 662: +// +// "sw_interface_tag_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceTagAddDelReply struct { + Retval int32 +} + +func (*SwInterfaceTagAddDelReply) GetMessageName() string { + return "sw_interface_tag_add_del_reply" +} +func (*SwInterfaceTagAddDelReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceTagAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceTagAddDelReply() api.Message { + return &SwInterfaceTagAddDelReply{} +} + +// SwInterfaceSetMacAddress represents the VPP binary API message 'sw_interface_set_mac_address'. +// Generated from 'interface.api.json', line 680: +// +// "sw_interface_set_mac_address", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// { +// "crc": "0xeed5dfca" +// } +// +type SwInterfaceSetMacAddress struct { + SwIfIndex uint32 + MacAddress []byte `struc:"[6]byte"` +} + +func (*SwInterfaceSetMacAddress) GetMessageName() string { + return "sw_interface_set_mac_address" +} +func (*SwInterfaceSetMacAddress) GetCrcString() string { + return "eed5dfca" +} +func (*SwInterfaceSetMacAddress) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceSetMacAddress() api.Message { + return &SwInterfaceSetMacAddress{} +} + +// SwInterfaceSetMacAddressReply represents the VPP binary API message 'sw_interface_set_mac_address_reply'. +// Generated from 'interface.api.json', line 707: +// +// "sw_interface_set_mac_address_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceSetMacAddressReply struct { + Retval int32 +} + +func (*SwInterfaceSetMacAddressReply) GetMessageName() string { + return "sw_interface_set_mac_address_reply" +} +func (*SwInterfaceSetMacAddressReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceSetMacAddressReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceSetMacAddressReply() api.Message { + return &SwInterfaceSetMacAddressReply{} +} + +// SwInterfaceGetMacAddress represents the VPP binary API message 'sw_interface_get_mac_address'. +// Generated from 'interface.api.json', line 725: +// +// "sw_interface_get_mac_address", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } +// +type SwInterfaceGetMacAddress struct { + SwIfIndex uint32 +} + +func (*SwInterfaceGetMacAddress) GetMessageName() string { + return "sw_interface_get_mac_address" +} +func (*SwInterfaceGetMacAddress) GetCrcString() string { + return "529cb13f" +} +func (*SwInterfaceGetMacAddress) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceGetMacAddress() api.Message { + return &SwInterfaceGetMacAddress{} +} + +// SwInterfaceGetMacAddressReply represents the VPP binary API message 'sw_interface_get_mac_address_reply'. +// Generated from 'interface.api.json', line 747: +// +// "sw_interface_get_mac_address_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// { +// "crc": "0x8ea538d3" +// } +// +type SwInterfaceGetMacAddressReply struct { + Retval int32 + MacAddress []byte `struc:"[6]byte"` +} + +func (*SwInterfaceGetMacAddressReply) GetMessageName() string { + return "sw_interface_get_mac_address_reply" +} +func (*SwInterfaceGetMacAddressReply) GetCrcString() string { + return "8ea538d3" +} +func (*SwInterfaceGetMacAddressReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceGetMacAddressReply() api.Message { + return &SwInterfaceGetMacAddressReply{} +} + +// SwInterfaceSetRxMode represents the VPP binary API message 'sw_interface_set_rx_mode'. +// Generated from 'interface.api.json', line 770: +// +// "sw_interface_set_rx_mode", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "queue_id_valid" +// ], +// [ +// "u32", +// "queue_id" +// ], +// [ +// "u8", +// "mode" +// ], +// { +// "crc": "0x2a1cc58c" +// } +// +type SwInterfaceSetRxMode struct { + SwIfIndex uint32 + QueueIDValid uint8 + QueueID uint32 + Mode uint8 +} + +func (*SwInterfaceSetRxMode) GetMessageName() string { + return "sw_interface_set_rx_mode" +} +func (*SwInterfaceSetRxMode) GetCrcString() string { + return "2a1cc58c" +} +func (*SwInterfaceSetRxMode) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewSwInterfaceSetRxMode() api.Message { + return &SwInterfaceSetRxMode{} +} + +// SwInterfaceSetRxModeReply represents the VPP binary API message 'sw_interface_set_rx_mode_reply'. +// Generated from 'interface.api.json', line 804: +// +// "sw_interface_set_rx_mode_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceSetRxModeReply struct { + Retval int32 +} + +func (*SwInterfaceSetRxModeReply) GetMessageName() string { + return "sw_interface_set_rx_mode_reply" +} +func (*SwInterfaceSetRxModeReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceSetRxModeReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewSwInterfaceSetRxModeReply() api.Message { + return &SwInterfaceSetRxModeReply{} +} + +// InterfaceNameRenumber represents the VPP binary API message 'interface_name_renumber'. +// Generated from 'interface.api.json', line 822: +// +// "interface_name_renumber", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "new_show_dev_instance" +// ], +// { +// "crc": "0x39194269" +// } +// +type InterfaceNameRenumber struct { + SwIfIndex uint32 + NewShowDevInstance uint32 +} + +func (*InterfaceNameRenumber) GetMessageName() string { + return "interface_name_renumber" +} +func (*InterfaceNameRenumber) GetCrcString() string { + return "39194269" +} +func (*InterfaceNameRenumber) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewInterfaceNameRenumber() api.Message { + return &InterfaceNameRenumber{} +} + +// InterfaceNameRenumberReply represents the VPP binary API message 'interface_name_renumber_reply'. +// Generated from 'interface.api.json', line 848: +// +// "interface_name_renumber_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type InterfaceNameRenumberReply struct { + Retval int32 +} + +func (*InterfaceNameRenumberReply) GetMessageName() string { + return "interface_name_renumber_reply" +} +func (*InterfaceNameRenumberReply) GetCrcString() string { + return "e8d4e804" +} +func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewInterfaceNameRenumberReply() api.Message { + return &InterfaceNameRenumberReply{} +} + +// CreateSubif represents the VPP binary API message 'create_subif'. +// Generated from 'interface.api.json', line 866: +// +// "create_subif", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "sub_id" +// ], +// [ +// "u8", +// "no_tags" +// ], +// [ +// "u8", +// "one_tag" +// ], +// [ +// "u8", +// "two_tags" +// ], +// [ +// "u8", +// "dot1ad" +// ], +// [ +// "u8", +// "exact_match" +// ], +// [ +// "u8", +// "default_sub" +// ], +// [ +// "u8", +// "outer_vlan_id_any" +// ], +// [ +// "u8", +// "inner_vlan_id_any" +// ], +// [ +// "u16", +// "outer_vlan_id" +// ], +// [ +// "u16", +// "inner_vlan_id" +// ], +// { +// "crc": "0x86cfe408" +// } +// +type CreateSubif struct { + SwIfIndex uint32 + SubID uint32 + NoTags uint8 + OneTag uint8 + TwoTags uint8 + Dot1ad uint8 + ExactMatch uint8 + DefaultSub uint8 + OuterVlanIDAny uint8 + InnerVlanIDAny uint8 + OuterVlanID uint16 + InnerVlanID uint16 +} + +func (*CreateSubif) GetMessageName() string { + return "create_subif" +} +func (*CreateSubif) GetCrcString() string { + return "86cfe408" +} +func (*CreateSubif) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewCreateSubif() api.Message { + return &CreateSubif{} +} + +// CreateSubifReply represents the VPP binary API message 'create_subif_reply'. +// Generated from 'interface.api.json', line 932: +// +// "create_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } +// +type CreateSubifReply struct { + Retval int32 + SwIfIndex uint32 +} + +func (*CreateSubifReply) GetMessageName() string { + return "create_subif_reply" +} +func (*CreateSubifReply) GetCrcString() string { + return "fda5941f" +} +func (*CreateSubifReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewCreateSubifReply() api.Message { + return &CreateSubifReply{} +} + +// CreateVlanSubif represents the VPP binary API message 'create_vlan_subif'. +// Generated from 'interface.api.json', line 954: +// +// "create_vlan_subif", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "vlan_id" +// ], +// { +// "crc": "0x70cadeda" +// } +// +type CreateVlanSubif struct { + SwIfIndex uint32 + VlanID uint32 +} + +func (*CreateVlanSubif) GetMessageName() string { + return "create_vlan_subif" +} +func (*CreateVlanSubif) GetCrcString() string { + return "70cadeda" +} +func (*CreateVlanSubif) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewCreateVlanSubif() api.Message { + return &CreateVlanSubif{} +} + +// CreateVlanSubifReply represents the VPP binary API message 'create_vlan_subif_reply'. +// Generated from 'interface.api.json', line 980: +// +// "create_vlan_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } +// +type CreateVlanSubifReply struct { + Retval int32 + SwIfIndex uint32 +} + +func (*CreateVlanSubifReply) GetMessageName() string { + return "create_vlan_subif_reply" +} +func (*CreateVlanSubifReply) GetCrcString() string { + return "fda5941f" +} +func (*CreateVlanSubifReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewCreateVlanSubifReply() api.Message { + return &CreateVlanSubifReply{} +} + +// DeleteSubif represents the VPP binary API message 'delete_subif'. +// Generated from 'interface.api.json', line 1002: +// +// "delete_subif", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } +// +type DeleteSubif struct { + SwIfIndex uint32 +} + +func (*DeleteSubif) GetMessageName() string { + return "delete_subif" +} +func (*DeleteSubif) GetCrcString() string { + return "529cb13f" +} +func (*DeleteSubif) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewDeleteSubif() api.Message { + return &DeleteSubif{} +} + +// DeleteSubifReply represents the VPP binary API message 'delete_subif_reply'. +// Generated from 'interface.api.json', line 1024: +// +// "delete_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type DeleteSubifReply struct { + Retval int32 +} + +func (*DeleteSubifReply) GetMessageName() string { + return "delete_subif_reply" +} +func (*DeleteSubifReply) GetCrcString() string { + return "e8d4e804" +} +func (*DeleteSubifReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewDeleteSubifReply() api.Message { + return &DeleteSubifReply{} +} + +// CreateLoopback represents the VPP binary API message 'create_loopback'. +// Generated from 'interface.api.json', line 1042: +// +// "create_loopback", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// { +// "crc": "0x3b54129c" +// } +// +type CreateLoopback struct { + MacAddress []byte `struc:"[6]byte"` +} + +func (*CreateLoopback) GetMessageName() string { + return "create_loopback" +} +func (*CreateLoopback) GetCrcString() string { + return "3b54129c" +} +func (*CreateLoopback) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewCreateLoopback() api.Message { + return &CreateLoopback{} +} + +// CreateLoopbackReply represents the VPP binary API message 'create_loopback_reply'. +// Generated from 'interface.api.json', line 1065: +// +// "create_loopback_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } +// +type CreateLoopbackReply struct { + Retval int32 + SwIfIndex uint32 +} + +func (*CreateLoopbackReply) GetMessageName() string { + return "create_loopback_reply" +} +func (*CreateLoopbackReply) GetCrcString() string { + return "fda5941f" +} +func (*CreateLoopbackReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewCreateLoopbackReply() api.Message { + return &CreateLoopbackReply{} +} + +// CreateLoopbackInstance represents the VPP binary API message 'create_loopback_instance'. +// Generated from 'interface.api.json', line 1087: +// +// "create_loopback_instance", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "is_specified" +// ], +// [ +// "u32", +// "user_instance" +// ], +// { +// "crc": "0x7bbd53b6" +// } +// +type CreateLoopbackInstance struct { + MacAddress []byte `struc:"[6]byte"` + IsSpecified uint8 + UserInstance uint32 +} + +func (*CreateLoopbackInstance) GetMessageName() string { + return "create_loopback_instance" +} +func (*CreateLoopbackInstance) GetCrcString() string { + return "7bbd53b6" +} +func (*CreateLoopbackInstance) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewCreateLoopbackInstance() api.Message { + return &CreateLoopbackInstance{} +} + +// CreateLoopbackInstanceReply represents the VPP binary API message 'create_loopback_instance_reply'. +// Generated from 'interface.api.json', line 1118: +// +// "create_loopback_instance_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } +// +type CreateLoopbackInstanceReply struct { + Retval int32 + SwIfIndex uint32 +} + +func (*CreateLoopbackInstanceReply) GetMessageName() string { + return "create_loopback_instance_reply" +} +func (*CreateLoopbackInstanceReply) GetCrcString() string { + return "fda5941f" +} +func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewCreateLoopbackInstanceReply() api.Message { + return &CreateLoopbackInstanceReply{} +} + +// DeleteLoopback represents the VPP binary API message 'delete_loopback'. +// Generated from 'interface.api.json', line 1140: +// +// "delete_loopback", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } +// +type DeleteLoopback struct { + SwIfIndex uint32 +} + +func (*DeleteLoopback) GetMessageName() string { + return "delete_loopback" +} +func (*DeleteLoopback) GetCrcString() string { + return "529cb13f" +} +func (*DeleteLoopback) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewDeleteLoopback() api.Message { + return &DeleteLoopback{} +} + +// DeleteLoopbackReply represents the VPP binary API message 'delete_loopback_reply'. +// Generated from 'interface.api.json', line 1162: +// +// "delete_loopback_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type DeleteLoopbackReply struct { + Retval int32 +} + +func (*DeleteLoopbackReply) GetMessageName() string { + return "delete_loopback_reply" +} +func (*DeleteLoopbackReply) GetCrcString() string { + return "e8d4e804" +} +func (*DeleteLoopbackReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewDeleteLoopbackReply() api.Message { + return &DeleteLoopbackReply{} +} + +// CollectDetailedInterfaceStats represents the VPP binary API message 'collect_detailed_interface_stats'. +// Generated from 'interface.api.json', line 1180: +// +// "collect_detailed_interface_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "enable_disable" +// ], +// { +// "crc": "0x69d24598" +// } +// +type CollectDetailedInterfaceStats struct { + SwIfIndex uint32 + EnableDisable uint8 +} + +func (*CollectDetailedInterfaceStats) GetMessageName() string { + return "collect_detailed_interface_stats" +} +func (*CollectDetailedInterfaceStats) GetCrcString() string { + return "69d24598" +} +func (*CollectDetailedInterfaceStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewCollectDetailedInterfaceStats() api.Message { + return &CollectDetailedInterfaceStats{} +} + +// CollectDetailedInterfaceStatsReply represents the VPP binary API message 'collect_detailed_interface_stats_reply'. +// Generated from 'interface.api.json', line 1206: +// +// "collect_detailed_interface_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type CollectDetailedInterfaceStatsReply struct { + Retval int32 +} + +func (*CollectDetailedInterfaceStatsReply) GetMessageName() string { + return "collect_detailed_interface_stats_reply" +} +func (*CollectDetailedInterfaceStatsReply) GetCrcString() string { + return "e8d4e804" +} +func (*CollectDetailedInterfaceStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewCollectDetailedInterfaceStatsReply() api.Message { + return &CollectDetailedInterfaceStatsReply{} +} + +/* Services */ + +type Services interface { + DumpSwInterface(*SwInterfaceDump) (*SwInterfaceDetails, error) + CollectDetailedInterfaceStats(*CollectDetailedInterfaceStats) (*CollectDetailedInterfaceStatsReply, error) + CreateLoopback(*CreateLoopback) (*CreateLoopbackReply, error) + CreateLoopbackInstance(*CreateLoopbackInstance) (*CreateLoopbackInstanceReply, error) + CreateSubif(*CreateSubif) (*CreateSubifReply, error) + CreateVlanSubif(*CreateVlanSubif) (*CreateVlanSubifReply, error) + DeleteLoopback(*DeleteLoopback) (*DeleteLoopbackReply, error) + DeleteSubif(*DeleteSubif) (*DeleteSubifReply, error) + HwInterfaceSetMtu(*HwInterfaceSetMtu) (*HwInterfaceSetMtuReply, error) + InterfaceNameRenumber(*InterfaceNameRenumber) (*InterfaceNameRenumberReply, error) + SwInterfaceAddDelAddress(*SwInterfaceAddDelAddress) (*SwInterfaceAddDelAddressReply, error) + SwInterfaceClearStats(*SwInterfaceClearStats) (*SwInterfaceClearStatsReply, error) + SwInterfaceGetMacAddress(*SwInterfaceGetMacAddress) (*SwInterfaceGetMacAddressReply, error) + SwInterfaceGetTable(*SwInterfaceGetTable) (*SwInterfaceGetTableReply, error) + SwInterfaceSetFlags(*SwInterfaceSetFlags) (*SwInterfaceSetFlagsReply, error) + SwInterfaceSetMacAddress(*SwInterfaceSetMacAddress) (*SwInterfaceSetMacAddressReply, error) + SwInterfaceSetMtu(*SwInterfaceSetMtu) (*SwInterfaceSetMtuReply, error) + SwInterfaceSetRxMode(*SwInterfaceSetRxMode) (*SwInterfaceSetRxModeReply, error) + SwInterfaceSetTable(*SwInterfaceSetTable) (*SwInterfaceSetTableReply, error) + SwInterfaceSetUnnumbered(*SwInterfaceSetUnnumbered) (*SwInterfaceSetUnnumberedReply, error) + SwInterfaceTagAddDel(*SwInterfaceTagAddDel) (*SwInterfaceTagAddDelReply, error) + WantInterfaceEvents(*WantInterfaceEvents) (*WantInterfaceEventsReply, error) +} + +func init() { + api.RegisterMessage((*SwInterfaceSetFlags)(nil), "interface.SwInterfaceSetFlags") + api.RegisterMessage((*SwInterfaceSetFlagsReply)(nil), "interface.SwInterfaceSetFlagsReply") + api.RegisterMessage((*HwInterfaceSetMtu)(nil), "interface.HwInterfaceSetMtu") + api.RegisterMessage((*HwInterfaceSetMtuReply)(nil), "interface.HwInterfaceSetMtuReply") + api.RegisterMessage((*SwInterfaceSetMtu)(nil), "interface.SwInterfaceSetMtu") + api.RegisterMessage((*SwInterfaceSetMtuReply)(nil), "interface.SwInterfaceSetMtuReply") + api.RegisterMessage((*SwInterfaceEvent)(nil), "interface.SwInterfaceEvent") + api.RegisterMessage((*WantInterfaceEvents)(nil), "interface.WantInterfaceEvents") + api.RegisterMessage((*WantInterfaceEventsReply)(nil), "interface.WantInterfaceEventsReply") + api.RegisterMessage((*SwInterfaceDetails)(nil), "interface.SwInterfaceDetails") + api.RegisterMessage((*SwInterfaceDump)(nil), "interface.SwInterfaceDump") + api.RegisterMessage((*SwInterfaceAddDelAddress)(nil), "interface.SwInterfaceAddDelAddress") + api.RegisterMessage((*SwInterfaceAddDelAddressReply)(nil), "interface.SwInterfaceAddDelAddressReply") + api.RegisterMessage((*SwInterfaceSetTable)(nil), "interface.SwInterfaceSetTable") + api.RegisterMessage((*SwInterfaceSetTableReply)(nil), "interface.SwInterfaceSetTableReply") + api.RegisterMessage((*SwInterfaceGetTable)(nil), "interface.SwInterfaceGetTable") + api.RegisterMessage((*SwInterfaceGetTableReply)(nil), "interface.SwInterfaceGetTableReply") + api.RegisterMessage((*SwInterfaceSetUnnumbered)(nil), "interface.SwInterfaceSetUnnumbered") + api.RegisterMessage((*SwInterfaceSetUnnumberedReply)(nil), "interface.SwInterfaceSetUnnumberedReply") + api.RegisterMessage((*SwInterfaceClearStats)(nil), "interface.SwInterfaceClearStats") + api.RegisterMessage((*SwInterfaceClearStatsReply)(nil), "interface.SwInterfaceClearStatsReply") + api.RegisterMessage((*SwInterfaceTagAddDel)(nil), "interface.SwInterfaceTagAddDel") + api.RegisterMessage((*SwInterfaceTagAddDelReply)(nil), "interface.SwInterfaceTagAddDelReply") + api.RegisterMessage((*SwInterfaceSetMacAddress)(nil), "interface.SwInterfaceSetMacAddress") + api.RegisterMessage((*SwInterfaceSetMacAddressReply)(nil), "interface.SwInterfaceSetMacAddressReply") + api.RegisterMessage((*SwInterfaceGetMacAddress)(nil), "interface.SwInterfaceGetMacAddress") + api.RegisterMessage((*SwInterfaceGetMacAddressReply)(nil), "interface.SwInterfaceGetMacAddressReply") + api.RegisterMessage((*SwInterfaceSetRxMode)(nil), "interface.SwInterfaceSetRxMode") + api.RegisterMessage((*SwInterfaceSetRxModeReply)(nil), "interface.SwInterfaceSetRxModeReply") + api.RegisterMessage((*InterfaceNameRenumber)(nil), "interface.InterfaceNameRenumber") + api.RegisterMessage((*InterfaceNameRenumberReply)(nil), "interface.InterfaceNameRenumberReply") + api.RegisterMessage((*CreateSubif)(nil), "interface.CreateSubif") + api.RegisterMessage((*CreateSubifReply)(nil), "interface.CreateSubifReply") + api.RegisterMessage((*CreateVlanSubif)(nil), "interface.CreateVlanSubif") + api.RegisterMessage((*CreateVlanSubifReply)(nil), "interface.CreateVlanSubifReply") + api.RegisterMessage((*DeleteSubif)(nil), "interface.DeleteSubif") + api.RegisterMessage((*DeleteSubifReply)(nil), "interface.DeleteSubifReply") + api.RegisterMessage((*CreateLoopback)(nil), "interface.CreateLoopback") + api.RegisterMessage((*CreateLoopbackReply)(nil), "interface.CreateLoopbackReply") + api.RegisterMessage((*CreateLoopbackInstance)(nil), "interface.CreateLoopbackInstance") + api.RegisterMessage((*CreateLoopbackInstanceReply)(nil), "interface.CreateLoopbackInstanceReply") + api.RegisterMessage((*DeleteLoopback)(nil), "interface.DeleteLoopback") + api.RegisterMessage((*DeleteLoopbackReply)(nil), "interface.DeleteLoopbackReply") + api.RegisterMessage((*CollectDetailedInterfaceStats)(nil), "interface.CollectDetailedInterfaceStats") + api.RegisterMessage((*CollectDetailedInterfaceStatsReply)(nil), "interface.CollectDetailedInterfaceStatsReply") +} |