Generator improvements
[govpp.git] / examples / bin_api / vpe / vpe.ba.go
index 50476c3..9eb4c98 100644 (file)
@@ -1,15 +1,13 @@
 // Code generated by GoVPP binapi-generator. DO NOT EDIT.
-// source: vpe.api.json
+//  source: vpe.api.json
 
 /*
-Package vpe is a generated VPP binary API of the 'vpe' VPP module.
+ Package vpe is a generated from VPP binary API module 'vpe'.
 
-It is generated from this file:
-       vpe.api.json
-
-It contains these VPP binary API objects:
-       16 messages
-       8 services
+ It contains following objects:
+         9 services
+         1 type
+        18 messages
 */
 package vpe
 
@@ -22,113 +20,181 @@ var _ = api.RegisterMessage
 var _ = struc.Pack
 var _ = bytes.NewBuffer
 
+// Services represents VPP binary API services:
+//
+//     "services": {
+//         "cli_inband": {
+//             "reply": "cli_inband_reply"
+//         },
+//         "get_node_index": {
+//             "reply": "get_node_index_reply"
+//         },
+//         "cli": {
+//             "reply": "cli_reply"
+//         },
+//         "show_version": {
+//             "reply": "show_version_reply"
+//         },
+//         "get_node_graph": {
+//             "reply": "get_node_graph_reply"
+//         },
+//         "get_next_index": {
+//             "reply": "get_next_index_reply"
+//         },
+//         "show_threads": {
+//             "reply": "show_threads_reply"
+//         },
+//         "add_node_next": {
+//             "reply": "add_node_next_reply"
+//         },
+//         "control_ping": {
+//             "reply": "control_ping_reply"
+//         }
+//     },
+//
+type Services interface {
+       AddNodeNext(*AddNodeNext) (*AddNodeNextReply, error)
+       Cli(*Cli) (*CliReply, error)
+       CliInband(*CliInband) (*CliInbandReply, error)
+       ControlPing(*ControlPing) (*ControlPingReply, error)
+       GetNextIndex(*GetNextIndex) (*GetNextIndexReply, error)
+       GetNodeGraph(*GetNodeGraph) (*GetNodeGraphReply, error)
+       GetNodeIndex(*GetNodeIndex) (*GetNodeIndexReply, error)
+       ShowThreads(*ShowThreads) (*ShowThreadsReply, error)
+       ShowVersion(*ShowVersion) (*ShowVersionReply, error)
+}
+
+/* Types */
+
+// ThreadData represents VPP binary API type 'thread_data':
+//
+//     "thread_data",
+//     0,
+//     "count"
+//
+type ThreadData struct {
+       ID        uint32
+       Name      []byte `struc:"[64]byte"`
+       Type      []byte `struc:"[64]byte"`
+       PID       uint32
+       CPUID     uint32
+       Core      uint32
+       CPUSocket uint32
+}
+
+func (*ThreadData) GetTypeName() string {
+       return "thread_data"
+}
+func (*ThreadData) GetCrcString() string {
+       return "0f57094e"
+}
+
 /* Messages */
 
-// ControlPing represents the VPP binary API message 'control_ping'.
-// Generated from 'vpe.api.json', line 4:
-//
-//            "control_ping",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "client_index"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            {
-//                "crc": "0x51077d14"
-//            }
+// AddNodeNext represents VPP binary API message 'add_node_next':
+//
+//     "add_node_next",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "u8",
+//         "node_name",
+//         64
+//     ],
+//     [
+//         "u8",
+//         "next_name",
+//         64
+//     ],
+//     {
+//         "crc": "0x9ab92f7a"
+//     }
 //
-type ControlPing struct{}
+type AddNodeNext struct {
+       NodeName []byte `struc:"[64]byte"`
+       NextName []byte `struc:"[64]byte"`
+}
 
-func (*ControlPing) GetMessageName() string {
-       return "control_ping"
+func (*AddNodeNext) GetMessageName() string {
+       return "add_node_next"
 }
-func (*ControlPing) GetCrcString() string {
-       return "51077d14"
+func (*AddNodeNext) GetCrcString() string {
+       return "9ab92f7a"
 }
-func (*ControlPing) GetMessageType() api.MessageType {
+func (*AddNodeNext) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
-func NewControlPing() api.Message {
-       return &ControlPing{}
-}
-
-// ControlPingReply represents the VPP binary API message 'control_ping_reply'.
-// Generated from 'vpe.api.json', line 22:
-//
-//            "control_ping_reply",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "i32",
-//                "retval"
-//            ],
-//            [
-//                "u32",
-//                "client_index"
-//            ],
-//            [
-//                "u32",
-//                "vpe_pid"
-//            ],
-//            {
-//                "crc": "0xf6b0b8ca"
-//            }
+
+// AddNodeNextReply represents VPP binary API message 'add_node_next_reply':
+//
+//     "add_node_next_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "u32",
+//         "next_index"
+//     ],
+//     {
+//         "crc": "0x2ed75f32"
+//     }
 //
-type ControlPingReply struct {
-       Retval      int32
-       ClientIndex uint32
-       VpePID      uint32
+type AddNodeNextReply struct {
+       Retval    int32
+       NextIndex uint32
 }
 
-func (*ControlPingReply) GetMessageName() string {
-       return "control_ping_reply"
+func (*AddNodeNextReply) GetMessageName() string {
+       return "add_node_next_reply"
 }
-func (*ControlPingReply) GetCrcString() string {
-       return "f6b0b8ca"
+func (*AddNodeNextReply) GetCrcString() string {
+       return "2ed75f32"
 }
-func (*ControlPingReply) GetMessageType() api.MessageType {
+func (*AddNodeNextReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
-func NewControlPingReply() api.Message {
-       return &ControlPingReply{}
-}
-
-// Cli represents the VPP binary API message 'cli'.
-// Generated from 'vpe.api.json', line 48:
-//
-//            "cli",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "client_index"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "u64",
-//                "cmd_in_shmem"
-//            ],
-//            {
-//                "crc": "0x23bfbfff"
-//            }
+
+// Cli represents VPP binary API message 'cli':
+//
+//     "cli",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "u64",
+//         "cmd_in_shmem"
+//     ],
+//     {
+//         "crc": "0x23bfbfff"
+//     }
 //
 type Cli struct {
        CmdInShmem uint64
@@ -143,81 +209,106 @@ func (*Cli) GetCrcString() string {
 func (*Cli) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
-func NewCli() api.Message {
-       return &Cli{}
-}
-
-// CliInband represents the VPP binary API message 'cli_inband'.
-// Generated from 'vpe.api.json', line 70:
-//
-//            "cli_inband",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "client_index"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "u32",
-//                "length"
-//            ],
-//            [
-//                "u8",
-//                "cmd",
-//                0,
-//                "length"
-//            ],
-//            {
-//                "crc": "0x74e00a49"
-//            }
+
+// CliInband represents VPP binary API message 'cli_inband':
+//
+//     "cli_inband",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "string",
+//         "cmd"
+//     ],
+//     {
+//         "crc": "0xb1ad59b3"
+//     }
 //
 type CliInband struct {
-       Length uint32 `struc:"sizeof=Cmd"`
-       Cmd    []byte
+       XXX_CmdLen uint32 `struc:"sizeof=Cmd"`
+       Cmd        string
 }
 
 func (*CliInband) GetMessageName() string {
        return "cli_inband"
 }
 func (*CliInband) GetCrcString() string {
-       return "74e00a49"
+       return "b1ad59b3"
 }
 func (*CliInband) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
-func NewCliInband() api.Message {
-       return &CliInband{}
-}
-
-// CliReply represents the VPP binary API message 'cli_reply'.
-// Generated from 'vpe.api.json', line 98:
-//
-//            "cli_reply",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "i32",
-//                "retval"
-//            ],
-//            [
-//                "u64",
-//                "reply_in_shmem"
-//            ],
-//            {
-//                "crc": "0x06d68297"
-//            }
+
+// CliInbandReply represents VPP binary API message 'cli_inband_reply':
+//
+//     "cli_inband_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "string",
+//         "reply"
+//     ],
+//     {
+//         "crc": "0x6d3c80a4"
+//     }
+//
+type CliInbandReply struct {
+       Retval       int32
+       XXX_ReplyLen uint32 `struc:"sizeof=Reply"`
+       Reply        string
+}
+
+func (*CliInbandReply) GetMessageName() string {
+       return "cli_inband_reply"
+}
+func (*CliInbandReply) GetCrcString() string {
+       return "6d3c80a4"
+}
+func (*CliInbandReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// CliReply represents VPP binary API message 'cli_reply':
+//
+//     "cli_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "u64",
+//         "reply_in_shmem"
+//     ],
+//     {
+//         "crc": "0x06d68297"
+//     }
 //
 type CliReply struct {
        Retval       int32
@@ -233,348 +324,181 @@ func (*CliReply) GetCrcString() string {
 func (*CliReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
-func NewCliReply() api.Message {
-       return &CliReply{}
-}
-
-// CliInbandReply represents the VPP binary API message 'cli_inband_reply'.
-// Generated from 'vpe.api.json', line 120:
-//
-//            "cli_inband_reply",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "i32",
-//                "retval"
-//            ],
-//            [
-//                "u32",
-//                "length"
-//            ],
-//            [
-//                "u8",
-//                "reply",
-//                0,
-//                "length"
-//            ],
-//            {
-//                "crc": "0x1f22bbb8"
-//            }
-//
-type CliInbandReply struct {
-       Retval int32
-       Length uint32 `struc:"sizeof=Reply"`
-       Reply  []byte
-}
 
-func (*CliInbandReply) GetMessageName() string {
-       return "cli_inband_reply"
-}
-func (*CliInbandReply) GetCrcString() string {
-       return "1f22bbb8"
-}
-func (*CliInbandReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
-}
-func NewCliInbandReply() api.Message {
-       return &CliInbandReply{}
-}
-
-// GetNodeIndex represents the VPP binary API message 'get_node_index'.
-// Generated from 'vpe.api.json', line 148:
-//
-//            "get_node_index",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "client_index"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "u8",
-//                "node_name",
-//                64
-//            ],
-//            {
-//                "crc": "0x6c9a495d"
-//            }
+// ControlPing represents VPP binary API message 'control_ping':
+//
+//     "control_ping",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     {
+//         "crc": "0x51077d14"
+//     }
 //
-type GetNodeIndex struct {
-       NodeName []byte `struc:"[64]byte"`
-}
+type ControlPing struct{}
 
-func (*GetNodeIndex) GetMessageName() string {
-       return "get_node_index"
+func (*ControlPing) GetMessageName() string {
+       return "control_ping"
 }
-func (*GetNodeIndex) GetCrcString() string {
-       return "6c9a495d"
+func (*ControlPing) GetCrcString() string {
+       return "51077d14"
 }
-func (*GetNodeIndex) GetMessageType() api.MessageType {
+func (*ControlPing) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
-func NewGetNodeIndex() api.Message {
-       return &GetNodeIndex{}
-}
-
-// GetNodeIndexReply represents the VPP binary API message 'get_node_index_reply'.
-// Generated from 'vpe.api.json', line 171:
-//
-//            "get_node_index_reply",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "i32",
-//                "retval"
-//            ],
-//            [
-//                "u32",
-//                "node_index"
-//            ],
-//            {
-//                "crc": "0xa8600b89"
-//            }
+
+// ControlPingReply represents VPP binary API message 'control_ping_reply':
+//
+//     "control_ping_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "vpe_pid"
+//     ],
+//     {
+//         "crc": "0xf6b0b8ca"
+//     }
 //
-type GetNodeIndexReply struct {
-       Retval    int32
-       NodeIndex uint32
+type ControlPingReply struct {
+       Retval      int32
+       ClientIndex uint32
+       VpePID      uint32
 }
 
-func (*GetNodeIndexReply) GetMessageName() string {
-       return "get_node_index_reply"
+func (*ControlPingReply) GetMessageName() string {
+       return "control_ping_reply"
 }
-func (*GetNodeIndexReply) GetCrcString() string {
-       return "a8600b89"
+func (*ControlPingReply) GetCrcString() string {
+       return "f6b0b8ca"
 }
-func (*GetNodeIndexReply) GetMessageType() api.MessageType {
+func (*ControlPingReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
-func NewGetNodeIndexReply() api.Message {
-       return &GetNodeIndexReply{}
-}
-
-// AddNodeNext represents the VPP binary API message 'add_node_next'.
-// Generated from 'vpe.api.json', line 193:
-//
-//            "add_node_next",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "client_index"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "u8",
-//                "node_name",
-//                64
-//            ],
-//            [
-//                "u8",
-//                "next_name",
-//                64
-//            ],
-//            {
-//                "crc": "0x9ab92f7a"
-//            }
+
+// GetNextIndex represents VPP binary API message 'get_next_index':
+//
+//     "get_next_index",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "u8",
+//         "node_name",
+//         64
+//     ],
+//     [
+//         "u8",
+//         "next_name",
+//         64
+//     ],
+//     {
+//         "crc": "0x9ab92f7a"
+//     }
 //
-type AddNodeNext struct {
+type GetNextIndex struct {
        NodeName []byte `struc:"[64]byte"`
        NextName []byte `struc:"[64]byte"`
 }
 
-func (*AddNodeNext) GetMessageName() string {
-       return "add_node_next"
+func (*GetNextIndex) GetMessageName() string {
+       return "get_next_index"
 }
-func (*AddNodeNext) GetCrcString() string {
+func (*GetNextIndex) GetCrcString() string {
        return "9ab92f7a"
 }
-func (*AddNodeNext) GetMessageType() api.MessageType {
+func (*GetNextIndex) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
-func NewAddNodeNext() api.Message {
-       return &AddNodeNext{}
-}
-
-// AddNodeNextReply represents the VPP binary API message 'add_node_next_reply'.
-// Generated from 'vpe.api.json', line 221:
-//
-//            "add_node_next_reply",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "i32",
-//                "retval"
-//            ],
-//            [
-//                "u32",
-//                "next_index"
-//            ],
-//            {
-//                "crc": "0x2ed75f32"
-//            }
+
+// GetNextIndexReply represents VPP binary API message 'get_next_index_reply':
+//
+//     "get_next_index_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "u32",
+//         "next_index"
+//     ],
+//     {
+//         "crc": "0x2ed75f32"
+//     }
 //
-type AddNodeNextReply struct {
+type GetNextIndexReply struct {
        Retval    int32
        NextIndex uint32
 }
 
-func (*AddNodeNextReply) GetMessageName() string {
-       return "add_node_next_reply"
+func (*GetNextIndexReply) GetMessageName() string {
+       return "get_next_index_reply"
 }
-func (*AddNodeNextReply) GetCrcString() string {
+func (*GetNextIndexReply) GetCrcString() string {
        return "2ed75f32"
 }
-func (*AddNodeNextReply) GetMessageType() api.MessageType {
+func (*GetNextIndexReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
-func NewAddNodeNextReply() api.Message {
-       return &AddNodeNextReply{}
-}
-
-// ShowVersion represents the VPP binary API message 'show_version'.
-// Generated from 'vpe.api.json', line 243:
-//
-//            "show_version",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "client_index"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            {
-//                "crc": "0x51077d14"
-//            }
-//
-type ShowVersion struct{}
 
-func (*ShowVersion) GetMessageName() string {
-       return "show_version"
-}
-func (*ShowVersion) GetCrcString() string {
-       return "51077d14"
-}
-func (*ShowVersion) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-func NewShowVersion() api.Message {
-       return &ShowVersion{}
-}
-
-// ShowVersionReply represents the VPP binary API message 'show_version_reply'.
-// Generated from 'vpe.api.json', line 261:
-//
-//            "show_version_reply",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "i32",
-//                "retval"
-//            ],
-//            [
-//                "u8",
-//                "program",
-//                32
-//            ],
-//            [
-//                "u8",
-//                "version",
-//                32
-//            ],
-//            [
-//                "u8",
-//                "build_date",
-//                32
-//            ],
-//            [
-//                "u8",
-//                "build_directory",
-//                256
-//            ],
-//            {
-//                "crc": "0x8b5a13b4"
-//            }
-//
-type ShowVersionReply struct {
-       Retval         int32
-       Program        []byte `struc:"[32]byte"`
-       Version        []byte `struc:"[32]byte"`
-       BuildDate      []byte `struc:"[32]byte"`
-       BuildDirectory []byte `struc:"[256]byte"`
-}
-
-func (*ShowVersionReply) GetMessageName() string {
-       return "show_version_reply"
-}
-func (*ShowVersionReply) GetCrcString() string {
-       return "8b5a13b4"
-}
-func (*ShowVersionReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
-}
-func NewShowVersionReply() api.Message {
-       return &ShowVersionReply{}
-}
-
-// GetNodeGraph represents the VPP binary API message 'get_node_graph'.
-// Generated from 'vpe.api.json', line 299:
-//
-//            "get_node_graph",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "client_index"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            {
-//                "crc": "0x51077d14"
-//            }
+// GetNodeGraph represents VPP binary API message 'get_node_graph':
+//
+//     "get_node_graph",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     {
+//         "crc": "0x51077d14"
+//     }
 //
 type GetNodeGraph struct{}
 
@@ -587,33 +511,29 @@ func (*GetNodeGraph) GetCrcString() string {
 func (*GetNodeGraph) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
-func NewGetNodeGraph() api.Message {
-       return &GetNodeGraph{}
-}
-
-// GetNodeGraphReply represents the VPP binary API message 'get_node_graph_reply'.
-// Generated from 'vpe.api.json', line 317:
-//
-//            "get_node_graph_reply",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "i32",
-//                "retval"
-//            ],
-//            [
-//                "u64",
-//                "reply_in_shmem"
-//            ],
-//            {
-//                "crc": "0x06d68297"
-//            }
+
+// GetNodeGraphReply represents VPP binary API message 'get_node_graph_reply':
+//
+//     "get_node_graph_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "u64",
+//         "reply_in_shmem"
+//     ],
+//     {
+//         "crc": "0x06d68297"
+//     }
 //
 type GetNodeGraphReply struct {
        Retval       int32
@@ -629,128 +549,264 @@ func (*GetNodeGraphReply) GetCrcString() string {
 func (*GetNodeGraphReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
-func NewGetNodeGraphReply() api.Message {
-       return &GetNodeGraphReply{}
-}
-
-// GetNextIndex represents the VPP binary API message 'get_next_index'.
-// Generated from 'vpe.api.json', line 339:
-//
-//            "get_next_index",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "client_index"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "u8",
-//                "node_name",
-//                64
-//            ],
-//            [
-//                "u8",
-//                "next_name",
-//                64
-//            ],
-//            {
-//                "crc": "0x9ab92f7a"
-//            }
+
+// GetNodeIndex represents VPP binary API message 'get_node_index':
+//
+//     "get_node_index",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "u8",
+//         "node_name",
+//         64
+//     ],
+//     {
+//         "crc": "0x6c9a495d"
+//     }
 //
-type GetNextIndex struct {
+type GetNodeIndex struct {
        NodeName []byte `struc:"[64]byte"`
-       NextName []byte `struc:"[64]byte"`
 }
 
-func (*GetNextIndex) GetMessageName() string {
-       return "get_next_index"
+func (*GetNodeIndex) GetMessageName() string {
+       return "get_node_index"
 }
-func (*GetNextIndex) GetCrcString() string {
-       return "9ab92f7a"
+func (*GetNodeIndex) GetCrcString() string {
+       return "6c9a495d"
 }
-func (*GetNextIndex) GetMessageType() api.MessageType {
+func (*GetNodeIndex) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
-func NewGetNextIndex() api.Message {
-       return &GetNextIndex{}
-}
-
-// GetNextIndexReply represents the VPP binary API message 'get_next_index_reply'.
-// Generated from 'vpe.api.json', line 367:
-//
-//            "get_next_index_reply",
-//            [
-//                "u16",
-//                "_vl_msg_id"
-//            ],
-//            [
-//                "u32",
-//                "context"
-//            ],
-//            [
-//                "i32",
-//                "retval"
-//            ],
-//            [
-//                "u32",
-//                "next_index"
-//            ],
-//            {
-//                "crc": "0x2ed75f32"
-//            }
+
+// GetNodeIndexReply represents VPP binary API message 'get_node_index_reply':
+//
+//     "get_node_index_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "u32",
+//         "node_index"
+//     ],
+//     {
+//         "crc": "0xa8600b89"
+//     }
 //
-type GetNextIndexReply struct {
+type GetNodeIndexReply struct {
        Retval    int32
-       NextIndex uint32
+       NodeIndex uint32
 }
 
-func (*GetNextIndexReply) GetMessageName() string {
-       return "get_next_index_reply"
+func (*GetNodeIndexReply) GetMessageName() string {
+       return "get_node_index_reply"
 }
-func (*GetNextIndexReply) GetCrcString() string {
-       return "2ed75f32"
+func (*GetNodeIndexReply) GetCrcString() string {
+       return "a8600b89"
 }
-func (*GetNextIndexReply) GetMessageType() api.MessageType {
+func (*GetNodeIndexReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
-func NewGetNextIndexReply() api.Message {
-       return &GetNextIndexReply{}
+
+// ShowThreads represents VPP binary API message 'show_threads':
+//
+//     "show_threads",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     {
+//         "crc": "0x51077d14"
+//     }
+//
+type ShowThreads struct{}
+
+func (*ShowThreads) GetMessageName() string {
+       return "show_threads"
+}
+func (*ShowThreads) GetCrcString() string {
+       return "51077d14"
+}
+func (*ShowThreads) GetMessageType() api.MessageType {
+       return api.RequestMessage
 }
 
-/* Services */
+// ShowThreadsReply represents VPP binary API message 'show_threads_reply':
+//
+//     "show_threads_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "u32",
+//         "count"
+//     ],
+//     [
+//         "vl_api_thread_data_t",
+//         "thread_data",
+//         0,
+//         "count"
+//     ],
+//     {
+//         "crc": "0x6942fb35"
+//     }
+//
+type ShowThreadsReply struct {
+       Retval     int32
+       Count      uint32 `struc:"sizeof=ThreadData"`
+       ThreadData []ThreadData
+}
+
+func (*ShowThreadsReply) GetMessageName() string {
+       return "show_threads_reply"
+}
+func (*ShowThreadsReply) GetCrcString() string {
+       return "6942fb35"
+}
+func (*ShowThreadsReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
 
-type Services interface {
-       AddNodeNext(*AddNodeNext) (*AddNodeNextReply, error)
-       Cli(*Cli) (*CliReply, error)
-       CliInband(*CliInband) (*CliInbandReply, error)
-       ControlPing(*ControlPing) (*ControlPingReply, error)
-       GetNextIndex(*GetNextIndex) (*GetNextIndexReply, error)
-       GetNodeGraph(*GetNodeGraph) (*GetNodeGraphReply, error)
-       GetNodeIndex(*GetNodeIndex) (*GetNodeIndexReply, error)
-       ShowVersion(*ShowVersion) (*ShowVersionReply, error)
+// ShowVersion represents VPP binary API message 'show_version':
+//
+//     "show_version",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     {
+//         "crc": "0x51077d14"
+//     }
+//
+type ShowVersion struct{}
+
+func (*ShowVersion) GetMessageName() string {
+       return "show_version"
+}
+func (*ShowVersion) GetCrcString() string {
+       return "51077d14"
+}
+func (*ShowVersion) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ShowVersionReply represents VPP binary API message 'show_version_reply':
+//
+//     "show_version_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "string",
+//         "program"
+//     ],
+//     [
+//         "string",
+//         "version"
+//     ],
+//     [
+//         "string",
+//         "build_date"
+//     ],
+//     [
+//         "string",
+//         "build_directory"
+//     ],
+//     {
+//         "crc": "0xb9bcf6df"
+//     }
+//
+type ShowVersionReply struct {
+       Retval                int32
+       XXX_ProgramLen        uint32 `struc:"sizeof=Program"`
+       Program               string
+       XXX_VersionLen        uint32 `struc:"sizeof=Version"`
+       Version               string
+       XXX_BuildDateLen      uint32 `struc:"sizeof=BuildDate"`
+       BuildDate             string
+       XXX_BuildDirectoryLen uint32 `struc:"sizeof=BuildDirectory"`
+       BuildDirectory        string
+}
+
+func (*ShowVersionReply) GetMessageName() string {
+       return "show_version_reply"
+}
+func (*ShowVersionReply) GetCrcString() string {
+       return "b9bcf6df"
+}
+func (*ShowVersionReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
 }
 
 func init() {
-       api.RegisterMessage((*ControlPing)(nil), "vpe.ControlPing")
-       api.RegisterMessage((*ControlPingReply)(nil), "vpe.ControlPingReply")
+       api.RegisterMessage((*AddNodeNext)(nil), "vpe.AddNodeNext")
+       api.RegisterMessage((*AddNodeNextReply)(nil), "vpe.AddNodeNextReply")
        api.RegisterMessage((*Cli)(nil), "vpe.Cli")
        api.RegisterMessage((*CliInband)(nil), "vpe.CliInband")
-       api.RegisterMessage((*CliReply)(nil), "vpe.CliReply")
        api.RegisterMessage((*CliInbandReply)(nil), "vpe.CliInbandReply")
+       api.RegisterMessage((*CliReply)(nil), "vpe.CliReply")
+       api.RegisterMessage((*ControlPing)(nil), "vpe.ControlPing")
+       api.RegisterMessage((*ControlPingReply)(nil), "vpe.ControlPingReply")
+       api.RegisterMessage((*GetNextIndex)(nil), "vpe.GetNextIndex")
+       api.RegisterMessage((*GetNextIndexReply)(nil), "vpe.GetNextIndexReply")
+       api.RegisterMessage((*GetNodeGraph)(nil), "vpe.GetNodeGraph")
+       api.RegisterMessage((*GetNodeGraphReply)(nil), "vpe.GetNodeGraphReply")
        api.RegisterMessage((*GetNodeIndex)(nil), "vpe.GetNodeIndex")
        api.RegisterMessage((*GetNodeIndexReply)(nil), "vpe.GetNodeIndexReply")
-       api.RegisterMessage((*AddNodeNext)(nil), "vpe.AddNodeNext")
-       api.RegisterMessage((*AddNodeNextReply)(nil), "vpe.AddNodeNextReply")
+       api.RegisterMessage((*ShowThreads)(nil), "vpe.ShowThreads")
+       api.RegisterMessage((*ShowThreadsReply)(nil), "vpe.ShowThreadsReply")
        api.RegisterMessage((*ShowVersion)(nil), "vpe.ShowVersion")
        api.RegisterMessage((*ShowVersionReply)(nil), "vpe.ShowVersionReply")
-       api.RegisterMessage((*GetNodeGraph)(nil), "vpe.GetNodeGraph")
-       api.RegisterMessage((*GetNodeGraphReply)(nil), "vpe.GetNodeGraphReply")
-       api.RegisterMessage((*GetNextIndex)(nil), "vpe.GetNextIndex")
-       api.RegisterMessage((*GetNextIndexReply)(nil), "vpe.GetNextIndexReply")
 }