diff options
author | 2018-08-15 12:59:25 +0200 | |
---|---|---|
committer | 2018-08-16 15:03:29 +0200 | |
commit | a3bb834db727a3ac9a1ffcfeae9265e5dead851f (patch) | |
tree | 6ffe64d2dd78a4c3434c2889dd7582b74619fe2b /examples/bin_api/interfaces | |
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')
-rw-r--r-- | examples/bin_api/interfaces/interfaces.ba.go (renamed from examples/bin_api/interfaces/interfaces.go) | 966 |
1 files changed, 593 insertions, 373 deletions
diff --git a/examples/bin_api/interfaces/interfaces.go b/examples/bin_api/interfaces/interfaces.ba.go index 41fda27..5ef58ed 100644 --- a/examples/bin_api/interfaces/interfaces.go +++ b/examples/bin_api/interfaces/interfaces.ba.go @@ -1,15 +1,31 @@ -// Code generated by govpp binapi-generator DO NOT EDIT. -// Package interfaces represents the VPP binary API of the 'interfaces' VPP module. -// Generated from '../../bin_api/interface.api.json' +// 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" -// VlApiVersion contains version of the API. -const VlAPIVersion = 0xa9b5d13 +// Reference imports to suppress errors if they are not otherwise used. +var _ = struc.Pack +var _ = bytes.NewBuffer -// VlibCounter represents the VPP binary API data type 'vlib_counter'. -// Generated from '../../bin_api/interface.api.json', line 1296: +/* Types */ + +// VlibCounter represents the VPP binary API type 'vlib_counter'. +// Generated from 'interface.api.json', line 1301: // // "vlib_counter", // [ @@ -36,8 +52,8 @@ func (*VlibCounter) GetCrcString() string { return "ce2325a2" } -// VnetCombinedCounter represents the VPP binary API data type 'vnet_combined_counter'. -// Generated from '../../bin_api/interface.api.json', line 1310: +// VnetCombinedCounter represents the VPP binary API type 'vnet_combined_counter'. +// Generated from 'interface.api.json', line 1315: // // "vnet_combined_counter", // [ @@ -54,33 +70,93 @@ func (*VlibCounter) GetCrcString() string { // ], // [ // "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": "0x3217ba8e" +// "crc": "0x20905ca4" // } // type VnetCombinedCounter struct { - SwIfIndex uint32 - RxPackets uint64 - RxBytes uint64 - TxPackets uint64 - TxBytes uint64 + 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 "3217ba8e" + return "20905ca4" } -// VnetSimpleCounter represents the VPP binary API data type 'vnet_simple_counter'. -// Generated from '../../bin_api/interface.api.json', line 1336: +// VnetSimpleCounter represents the VPP binary API type 'vnet_simple_counter'. +// Generated from 'interface.api.json', line 1389: // // "vnet_simple_counter", // [ @@ -147,8 +223,10 @@ func (*VnetSimpleCounter) GetCrcString() string { return "8bd65e2d" } +/* Messages */ + // SwInterfaceSetFlags represents the VPP binary API message 'sw_interface_set_flags'. -// Generated from '../../bin_api/interface.api.json', line 109: +// Generated from 'interface.api.json', line 4: // // "sw_interface_set_flags", // [ @@ -183,18 +261,18 @@ type SwInterfaceSetFlags struct { func (*SwInterfaceSetFlags) GetMessageName() string { return "sw_interface_set_flags" } -func (*SwInterfaceSetFlags) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 135: +// Generated from 'interface.api.json', line 30: // // "sw_interface_set_flags_reply", // [ @@ -220,20 +298,20 @@ type SwInterfaceSetFlagsReply struct { func (*SwInterfaceSetFlagsReply) GetMessageName() string { return "sw_interface_set_flags_reply" } -func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*SwInterfaceSetFlagsReply) GetCrcString() string { return "e8d4e804" } +func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewSwInterfaceSetFlagsReply() api.Message { return &SwInterfaceSetFlagsReply{} } -// SwInterfaceSetMtu represents the VPP binary API message 'sw_interface_set_mtu'. -// Generated from '../../bin_api/interface.api.json', line 153: +// HwInterfaceSetMtu represents the VPP binary API message 'hw_interface_set_mtu'. +// Generated from 'interface.api.json', line 48: // -// "sw_interface_set_mtu", +// "hw_interface_set_mtu", // [ // "u16", // "_vl_msg_id" @@ -258,26 +336,110 @@ func NewSwInterfaceSetFlagsReply() api.Message { // "crc": "0x132da1e7" // } // -type SwInterfaceSetMtu struct { +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 (*SwInterfaceSetMtu) GetCrcString() string { - return "132da1e7" -} func NewSwInterfaceSetMtu() api.Message { return &SwInterfaceSetMtu{} } // SwInterfaceSetMtuReply represents the VPP binary API message 'sw_interface_set_mtu_reply'. -// Generated from '../../bin_api/interface.api.json', line 179: +// Generated from 'interface.api.json', line 119: // // "sw_interface_set_mtu_reply", // [ @@ -303,18 +465,18 @@ type SwInterfaceSetMtuReply struct { func (*SwInterfaceSetMtuReply) GetMessageName() string { return "sw_interface_set_mtu_reply" } -func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 197: +// Generated from 'interface.api.json', line 137: // // "sw_interface_event", // [ @@ -350,7 +512,7 @@ func NewSwInterfaceSetMtuReply() api.Message { // } // type SwInterfaceEvent struct { - Pid uint32 + PID uint32 SwIfIndex uint32 AdminUpDown uint8 LinkUpDown uint8 @@ -360,18 +522,18 @@ type SwInterfaceEvent struct { func (*SwInterfaceEvent) GetMessageName() string { return "sw_interface_event" } -func (*SwInterfaceEvent) GetMessageType() api.MessageType { - return api.EventMessage -} 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 '../../bin_api/interface.api.json', line 231: +// Generated from 'interface.api.json', line 171: // // "want_interface_events", // [ @@ -400,24 +562,24 @@ func NewSwInterfaceEvent() api.Message { // type WantInterfaceEvents struct { EnableDisable uint32 - Pid uint32 + PID uint32 } func (*WantInterfaceEvents) GetMessageName() string { return "want_interface_events" } -func (*WantInterfaceEvents) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 257: +// Generated from 'interface.api.json', line 197: // // "want_interface_events_reply", // [ @@ -443,18 +605,18 @@ type WantInterfaceEventsReply struct { func (*WantInterfaceEventsReply) GetMessageName() string { return "want_interface_events_reply" } -func (*WantInterfaceEventsReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 275: +// Generated from 'interface.api.json', line 215: // // "sw_interface_details", // [ @@ -509,6 +671,11 @@ func NewWantInterfaceEventsReply() api.Message { // ], // [ // "u32", +// "mtu", +// 4 +// ], +// [ +// "u32", // "sub_id" // ], // [ @@ -591,7 +758,7 @@ func NewWantInterfaceEventsReply() api.Message { // "i_sid" // ], // { -// "crc": "0x23dee0ff" +// "crc": "0x09b4b510" // } // type SwInterfaceDetails struct { @@ -605,6 +772,7 @@ type SwInterfaceDetails struct { LinkDuplex uint8 LinkSpeed uint8 LinkMtu uint16 + Mtu []uint32 `struc:"[4]uint32"` SubID uint32 SubDot1ad uint8 SubDot1ah uint8 @@ -630,18 +798,18 @@ type SwInterfaceDetails struct { func (*SwInterfaceDetails) GetMessageName() string { return "sw_interface_details" } +func (*SwInterfaceDetails) GetCrcString() string { + return "09b4b510" +} func (*SwInterfaceDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -func (*SwInterfaceDetails) GetCrcString() string { - return "23dee0ff" -} func NewSwInterfaceDetails() api.Message { return &SwInterfaceDetails{} } // SwInterfaceDump represents the VPP binary API message 'sw_interface_dump'. -// Generated from '../../bin_api/interface.api.json', line 414: +// Generated from 'interface.api.json', line 359: // // "sw_interface_dump", // [ @@ -677,18 +845,18 @@ type SwInterfaceDump struct { func (*SwInterfaceDump) GetMessageName() string { return "sw_interface_dump" } -func (*SwInterfaceDump) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 441: +// Generated from 'interface.api.json', line 386: // // "sw_interface_add_del_address", // [ @@ -735,7 +903,7 @@ func NewSwInterfaceDump() api.Message { type SwInterfaceAddDelAddress struct { SwIfIndex uint32 IsAdd uint8 - IsIpv6 uint8 + IsIPv6 uint8 DelAll uint8 AddressLength uint8 Address []byte `struc:"[16]byte"` @@ -744,18 +912,18 @@ type SwInterfaceAddDelAddress struct { func (*SwInterfaceAddDelAddress) GetMessageName() string { return "sw_interface_add_del_address" } -func (*SwInterfaceAddDelAddress) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 484: +// Generated from 'interface.api.json', line 429: // // "sw_interface_add_del_address_reply", // [ @@ -781,18 +949,18 @@ type SwInterfaceAddDelAddressReply struct { func (*SwInterfaceAddDelAddressReply) GetMessageName() string { return "sw_interface_add_del_address_reply" } -func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 502: +// Generated from 'interface.api.json', line 447: // // "sw_interface_set_table", // [ @@ -825,25 +993,25 @@ func NewSwInterfaceAddDelAddressReply() api.Message { // type SwInterfaceSetTable struct { SwIfIndex uint32 - IsIpv6 uint8 + IsIPv6 uint8 VrfID uint32 } func (*SwInterfaceSetTable) GetMessageName() string { return "sw_interface_set_table" } -func (*SwInterfaceSetTable) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 532: +// Generated from 'interface.api.json', line 477: // // "sw_interface_set_table_reply", // [ @@ -869,18 +1037,18 @@ type SwInterfaceSetTableReply struct { func (*SwInterfaceSetTableReply) GetMessageName() string { return "sw_interface_set_table_reply" } -func (*SwInterfaceSetTableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 550: +// Generated from 'interface.api.json', line 495: // // "sw_interface_get_table", // [ @@ -909,24 +1077,24 @@ func NewSwInterfaceSetTableReply() api.Message { // type SwInterfaceGetTable struct { SwIfIndex uint32 - IsIpv6 uint8 + IsIPv6 uint8 } func (*SwInterfaceGetTable) GetMessageName() string { return "sw_interface_get_table" } -func (*SwInterfaceGetTable) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 576: +// Generated from 'interface.api.json', line 521: // // "sw_interface_get_table_reply", // [ @@ -957,208 +1125,18 @@ type SwInterfaceGetTableReply struct { func (*SwInterfaceGetTableReply) GetMessageName() string { return "sw_interface_get_table_reply" } -func (*SwInterfaceGetTableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*SwInterfaceGetTableReply) GetCrcString() string { return "a6eb0109" } +func (*SwInterfaceGetTableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewSwInterfaceGetTableReply() api.Message { return &SwInterfaceGetTableReply{} } -// VnetInterfaceSimpleCounters represents the VPP binary API message 'vnet_interface_simple_counters'. -// Generated from '../../bin_api/interface.api.json', line 598: -// -// "vnet_interface_simple_counters", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u8", -// "vnet_counter_type" -// ], -// [ -// "u32", -// "first_sw_if_index" -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "u64", -// "data", -// 0, -// "count" -// ], -// { -// "crc": "0x9bc4a808" -// } -// -type VnetInterfaceSimpleCounters struct { - VnetCounterType uint8 - FirstSwIfIndex uint32 - Count uint32 `struc:"sizeof=Data"` - Data []uint64 -} - -func (*VnetInterfaceSimpleCounters) GetMessageName() string { - return "vnet_interface_simple_counters" -} -func (*VnetInterfaceSimpleCounters) GetMessageType() api.MessageType { - return api.OtherMessage -} -func (*VnetInterfaceSimpleCounters) GetCrcString() string { - return "9bc4a808" -} -func NewVnetInterfaceSimpleCounters() api.Message { - return &VnetInterfaceSimpleCounters{} -} - -// VnetInterfaceCombinedCounters represents the VPP binary API message 'vnet_interface_combined_counters'. -// Generated from '../../bin_api/interface.api.json', line 626: -// -// "vnet_interface_combined_counters", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u8", -// "vnet_counter_type" -// ], -// [ -// "u32", -// "first_sw_if_index" -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "vl_api_vlib_counter_t", -// "data", -// 0, -// "count" -// ], -// { -// "crc": "0x2c595002" -// } -// -type VnetInterfaceCombinedCounters struct { - VnetCounterType uint8 - FirstSwIfIndex uint32 - Count uint32 `struc:"sizeof=Data"` - Data []VlibCounter -} - -func (*VnetInterfaceCombinedCounters) GetMessageName() string { - return "vnet_interface_combined_counters" -} -func (*VnetInterfaceCombinedCounters) GetMessageType() api.MessageType { - return api.OtherMessage -} -func (*VnetInterfaceCombinedCounters) GetCrcString() string { - return "2c595002" -} -func NewVnetInterfaceCombinedCounters() api.Message { - return &VnetInterfaceCombinedCounters{} -} - -// VnetPerInterfaceSimpleCounters represents the VPP binary API message 'vnet_per_interface_simple_counters'. -// Generated from '../../bin_api/interface.api.json', line 654: -// -// "vnet_per_interface_simple_counters", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "u32", -// "timestamp" -// ], -// [ -// "vl_api_vnet_simple_counter_t", -// "data", -// 0, -// "count" -// ], -// { -// "crc": "0xd1fba9ba" -// } -// -type VnetPerInterfaceSimpleCounters struct { - Count uint32 `struc:"sizeof=Data"` - Timestamp uint32 - Data []VnetSimpleCounter -} - -func (*VnetPerInterfaceSimpleCounters) GetMessageName() string { - return "vnet_per_interface_simple_counters" -} -func (*VnetPerInterfaceSimpleCounters) GetMessageType() api.MessageType { - return api.OtherMessage -} -func (*VnetPerInterfaceSimpleCounters) GetCrcString() string { - return "d1fba9ba" -} -func NewVnetPerInterfaceSimpleCounters() api.Message { - return &VnetPerInterfaceSimpleCounters{} -} - -// VnetPerInterfaceCombinedCounters represents the VPP binary API message 'vnet_per_interface_combined_counters'. -// Generated from '../../bin_api/interface.api.json', line 678: -// -// "vnet_per_interface_combined_counters", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "u32", -// "timestamp" -// ], -// [ -// "vl_api_vnet_combined_counter_t", -// "data", -// 0, -// "count" -// ], -// { -// "crc": "0xdc578375" -// } -// -type VnetPerInterfaceCombinedCounters struct { - Count uint32 `struc:"sizeof=Data"` - Timestamp uint32 - Data []VnetCombinedCounter -} - -func (*VnetPerInterfaceCombinedCounters) GetMessageName() string { - return "vnet_per_interface_combined_counters" -} -func (*VnetPerInterfaceCombinedCounters) GetMessageType() api.MessageType { - return api.OtherMessage -} -func (*VnetPerInterfaceCombinedCounters) GetCrcString() string { - return "dc578375" -} -func NewVnetPerInterfaceCombinedCounters() api.Message { - return &VnetPerInterfaceCombinedCounters{} -} - // SwInterfaceSetUnnumbered represents the VPP binary API message 'sw_interface_set_unnumbered'. -// Generated from '../../bin_api/interface.api.json', line 702: +// Generated from 'interface.api.json', line 543: // // "sw_interface_set_unnumbered", // [ @@ -1198,18 +1176,18 @@ type SwInterfaceSetUnnumbered struct { func (*SwInterfaceSetUnnumbered) GetMessageName() string { return "sw_interface_set_unnumbered" } -func (*SwInterfaceSetUnnumbered) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 732: +// Generated from 'interface.api.json', line 573: // // "sw_interface_set_unnumbered_reply", // [ @@ -1235,18 +1213,18 @@ type SwInterfaceSetUnnumberedReply struct { func (*SwInterfaceSetUnnumberedReply) GetMessageName() string { return "sw_interface_set_unnumbered_reply" } -func (*SwInterfaceSetUnnumberedReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 750: +// Generated from 'interface.api.json', line 591: // // "sw_interface_clear_stats", // [ @@ -1276,18 +1254,18 @@ type SwInterfaceClearStats struct { func (*SwInterfaceClearStats) GetMessageName() string { return "sw_interface_clear_stats" } -func (*SwInterfaceClearStats) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 772: +// Generated from 'interface.api.json', line 613: // // "sw_interface_clear_stats_reply", // [ @@ -1313,18 +1291,18 @@ type SwInterfaceClearStatsReply struct { func (*SwInterfaceClearStatsReply) GetMessageName() string { return "sw_interface_clear_stats_reply" } -func (*SwInterfaceClearStatsReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 790: +// Generated from 'interface.api.json', line 631: // // "sw_interface_tag_add_del", // [ @@ -1365,18 +1343,18 @@ type SwInterfaceTagAddDel struct { func (*SwInterfaceTagAddDel) GetMessageName() string { return "sw_interface_tag_add_del" } -func (*SwInterfaceTagAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 821: +// Generated from 'interface.api.json', line 662: // // "sw_interface_tag_add_del_reply", // [ @@ -1402,18 +1380,18 @@ type SwInterfaceTagAddDelReply struct { func (*SwInterfaceTagAddDelReply) GetMessageName() string { return "sw_interface_tag_add_del_reply" } -func (*SwInterfaceTagAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 839: +// Generated from 'interface.api.json', line 680: // // "sw_interface_set_mac_address", // [ @@ -1449,18 +1427,18 @@ type SwInterfaceSetMacAddress struct { func (*SwInterfaceSetMacAddress) GetMessageName() string { return "sw_interface_set_mac_address" } -func (*SwInterfaceSetMacAddress) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 866: +// Generated from 'interface.api.json', line 707: // // "sw_interface_set_mac_address_reply", // [ @@ -1486,18 +1464,102 @@ type SwInterfaceSetMacAddressReply struct { func (*SwInterfaceSetMacAddressReply) GetMessageName() string { return "sw_interface_set_mac_address_reply" } -func (*SwInterfaceSetMacAddressReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 884: +// Generated from 'interface.api.json', line 770: // // "sw_interface_set_rx_mode", // [ @@ -1542,18 +1604,18 @@ type SwInterfaceSetRxMode struct { func (*SwInterfaceSetRxMode) GetMessageName() string { return "sw_interface_set_rx_mode" } -func (*SwInterfaceSetRxMode) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 918: +// Generated from 'interface.api.json', line 804: // // "sw_interface_set_rx_mode_reply", // [ @@ -1579,18 +1641,18 @@ type SwInterfaceSetRxModeReply struct { func (*SwInterfaceSetRxModeReply) GetMessageName() string { return "sw_interface_set_rx_mode_reply" } -func (*SwInterfaceSetRxModeReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 936: +// Generated from 'interface.api.json', line 822: // // "interface_name_renumber", // [ @@ -1625,18 +1687,18 @@ type InterfaceNameRenumber struct { func (*InterfaceNameRenumber) GetMessageName() string { return "interface_name_renumber" } -func (*InterfaceNameRenumber) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 962: +// Generated from 'interface.api.json', line 848: // // "interface_name_renumber_reply", // [ @@ -1662,18 +1724,18 @@ type InterfaceNameRenumberReply struct { func (*InterfaceNameRenumberReply) GetMessageName() string { return "interface_name_renumber_reply" } -func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 980: +// Generated from 'interface.api.json', line 866: // // "create_subif", // [ @@ -1758,18 +1820,18 @@ type CreateSubif struct { func (*CreateSubif) GetMessageName() string { return "create_subif" } -func (*CreateSubif) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 1046: +// Generated from 'interface.api.json', line 932: // // "create_subif_reply", // [ @@ -1800,18 +1862,18 @@ type CreateSubifReply struct { func (*CreateSubifReply) GetMessageName() string { return "create_subif_reply" } -func (*CreateSubifReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 1068: +// Generated from 'interface.api.json', line 954: // // "create_vlan_subif", // [ @@ -1846,18 +1908,18 @@ type CreateVlanSubif struct { func (*CreateVlanSubif) GetMessageName() string { return "create_vlan_subif" } -func (*CreateVlanSubif) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 1094: +// Generated from 'interface.api.json', line 980: // // "create_vlan_subif_reply", // [ @@ -1888,18 +1950,18 @@ type CreateVlanSubifReply struct { func (*CreateVlanSubifReply) GetMessageName() string { return "create_vlan_subif_reply" } -func (*CreateVlanSubifReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 1116: +// Generated from 'interface.api.json', line 1002: // // "delete_subif", // [ @@ -1929,18 +1991,18 @@ type DeleteSubif struct { func (*DeleteSubif) GetMessageName() string { return "delete_subif" } -func (*DeleteSubif) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 1138: +// Generated from 'interface.api.json', line 1024: // // "delete_subif_reply", // [ @@ -1966,18 +2028,18 @@ type DeleteSubifReply struct { func (*DeleteSubifReply) GetMessageName() string { return "delete_subif_reply" } -func (*DeleteSubifReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 1156: +// Generated from 'interface.api.json', line 1042: // // "create_loopback", // [ @@ -2008,18 +2070,18 @@ type CreateLoopback struct { func (*CreateLoopback) GetMessageName() string { return "create_loopback" } -func (*CreateLoopback) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 1179: +// Generated from 'interface.api.json', line 1065: // // "create_loopback_reply", // [ @@ -2050,18 +2112,18 @@ type CreateLoopbackReply struct { func (*CreateLoopbackReply) GetMessageName() string { return "create_loopback_reply" } -func (*CreateLoopbackReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 1201: +// Generated from 'interface.api.json', line 1087: // // "create_loopback_instance", // [ @@ -2102,18 +2164,18 @@ type CreateLoopbackInstance struct { func (*CreateLoopbackInstance) GetMessageName() string { return "create_loopback_instance" } -func (*CreateLoopbackInstance) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 1232: +// Generated from 'interface.api.json', line 1118: // // "create_loopback_instance_reply", // [ @@ -2144,18 +2206,18 @@ type CreateLoopbackInstanceReply struct { func (*CreateLoopbackInstanceReply) GetMessageName() string { return "create_loopback_instance_reply" } -func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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 '../../bin_api/interface.api.json', line 1254: +// Generated from 'interface.api.json', line 1140: // // "delete_loopback", // [ @@ -2185,18 +2247,18 @@ type DeleteLoopback struct { func (*DeleteLoopback) GetMessageName() string { return "delete_loopback" } -func (*DeleteLoopback) GetMessageType() api.MessageType { - return api.RequestMessage -} 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 '../../bin_api/interface.api.json', line 1276: +// Generated from 'interface.api.json', line 1162: // // "delete_loopback_reply", // [ @@ -2222,12 +2284,170 @@ type DeleteLoopbackReply struct { func (*DeleteLoopbackReply) GetMessageName() string { return "delete_loopback_reply" } -func (*DeleteLoopbackReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} 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") +} |