From 6476a2b64a2e1ea6c0d695127d726a348cc5c99b Mon Sep 17 00:00:00 2001 From: Ondrej Fabry Date: Thu, 31 Jan 2019 08:23:02 +0100 Subject: Generator improvements - all objects are now sorted alphabetically for more consistent output - unions now have constructor generated - log level for warnings was changed to debug - GetAllMessages renamed to GetRegisteredMessages Change-Id: I976453004a2fd8b6cb95ca0acfcef56913bf8d38 Signed-off-by: Ondrej Fabry --- api/api.go | 4 +- cmd/binapi-generator/generate.go | 35 +- cmd/binapi-generator/objects.go | 90 +- cmd/binapi-generator/parse.go | 39 +- core/channel.go | 2 +- core/connection.go | 2 +- examples/bin_api/acl/acl.ba.go | 1275 +++++---- examples/bin_api/af_packet/af_packet.ba.go | 127 +- examples/bin_api/interfaces/interfaces.ba.go | 1867 +++++++------ examples/bin_api/ip/ip.ba.go | 3843 +++++++++++++------------- examples/bin_api/maps/maps.ba.go | 1047 +++---- examples/bin_api/memif/memif.ba.go | 307 +- examples/bin_api/tap/tap.ba.go | 263 +- examples/bin_api/vpe/vpe.ba.go | 457 ++- examples/cmd/union-example/union_example.go | 42 +- 15 files changed, 4735 insertions(+), 4665 deletions(-) diff --git a/api/api.go b/api/api.go index 9b7f0ff..57a744e 100644 --- a/api/api.go +++ b/api/api.go @@ -126,7 +126,7 @@ func RegisterMessage(x Message, name string) { registeredMessages[name] = x } -// GetAllMessages returns list of all registered messages. -func GetAllMessages() map[string]Message { +// GetRegisteredMessages returns list of all registered messages. +func GetRegisteredMessages() map[string]Message { return registeredMessages } diff --git a/cmd/binapi-generator/generate.go b/cmd/binapi-generator/generate.go index e165c42..48c3a41 100644 --- a/cmd/binapi-generator/generate.go +++ b/cmd/binapi-generator/generate.go @@ -93,9 +93,9 @@ func generatePackage(ctx *context, w *bufio.Writer) error { // generate services if len(ctx.packageData.Services) > 0 { generateServices(ctx, w, ctx.packageData.Services) - } - // TODO: generate implementation for Services interface + // TODO: generate implementation for Services interface + } // generate enums if len(ctx.packageData.Enums) > 0 { @@ -140,16 +140,15 @@ func generatePackage(ctx *context, w *bufio.Writer) error { for _, msg := range ctx.packageData.Messages { generateMessage(ctx, w, &msg) } - } - // generate message registrations - fmt.Fprintln(w) - fmt.Fprintln(w, "func init() {") - for _, msg := range ctx.packageData.Messages { - name := camelCaseName(msg.Name) - fmt.Fprintf(w, "\tapi.RegisterMessage((*%s)(nil), \"%s\")\n", name, ctx.moduleName+"."+name) + // generate message registrations + fmt.Fprintln(w, "func init() {") + for _, msg := range ctx.packageData.Messages { + name := camelCaseName(msg.Name) + fmt.Fprintf(w, "\tapi.RegisterMessage((*%s)(nil), \"%s\")\n", name, ctx.moduleName+"."+name) + } + fmt.Fprintln(w, "}") } - fmt.Fprintln(w, "}") // flush the data: if err := w.Flush(); err != nil { @@ -181,13 +180,13 @@ func generateHeader(ctx *context, w io.Writer) { fmt.Fprintf(w, "\t%3d %s\n", num, obj) } } - printObjNum("message", len(ctx.packageData.Messages)) - printObjNum("type", len(ctx.packageData.Types)) - printObjNum("alias", len(ctx.packageData.Aliases)) + + printObjNum("service", len(ctx.packageData.Services)) printObjNum("enum", len(ctx.packageData.Enums)) + printObjNum("alias", len(ctx.packageData.Aliases)) + printObjNum("type", len(ctx.packageData.Types)) printObjNum("union", len(ctx.packageData.Unions)) - printObjNum("service", len(ctx.packageData.Services)) - fmt.Fprintln(w) + printObjNum("message", len(ctx.packageData.Messages)) fmt.Fprintln(w, "*/") fmt.Fprintf(w, "package %s\n", ctx.packageName) fmt.Fprintln(w) @@ -416,6 +415,10 @@ func (u *%[1]s) String() string { func generateUnionGetterSetter(w io.Writer, structName string, getterField, getterStruct string) { fmt.Fprintf(w, ` +func %[1]s%[2]s(a %[3]s) (u %[1]s) { + u.Set%[2]s(a) + return +} func (u *%[1]s) Set%[2]s(a %[3]s) { var b = new(bytes.Buffer) if err := struc.Pack(b, &a); err != nil { @@ -530,6 +533,8 @@ func generateMessage(ctx *context, w io.Writer, msg *Message) { // generate message type getter method generateMessageTypeGetter(w, name, msgType) + + fmt.Fprintln(w) } // generateField writes generated code for the field into w diff --git a/cmd/binapi-generator/objects.go b/cmd/binapi-generator/objects.go index 97318cb..4b424f5 100644 --- a/cmd/binapi-generator/objects.go +++ b/cmd/binapi-generator/objects.go @@ -1,34 +1,48 @@ package main -import "strings" +import ( + "strings" +) // Package represents collection of objects parsed from VPP binary API JSON data type Package struct { APIVersion string + Services []Service Enums []Enum - Unions []Union - Types []Type Aliases []Alias + Types []Type + Unions []Union Messages []Message - Services []Service RefMap map[string]string } -// MessageType represents the type of a VPP message -type MessageType int +// Service represents VPP binary API service +type Service struct { + Name string + RequestType string + ReplyType string + Stream bool + Events []string +} -const ( - requestMessage MessageType = iota // VPP request message - replyMessage // VPP reply message - eventMessage // VPP event message - otherMessage // other VPP message -) +// Enum represents VPP binary API enum +type Enum struct { + Name string + Type string + Entries []EnumEntry +} -// Message represents VPP binary API message -type Message struct { +// EnumEntry represents VPP binary API enum entry +type EnumEntry struct { + Name string + Value interface{} +} + +// Alias represents VPP binary API alias +type Alias struct { Name string - CRC string - Fields []Field + Type string + Length int } // Type represents VPP binary API type @@ -38,20 +52,30 @@ type Type struct { Fields []Field } -// Alias represents VPP binary API alias -type Alias struct { +// Union represents VPP binary API union +type Union struct { Name string - Type string - Length int + CRC string + Fields []Field } -// Union represents VPP binary API union -type Union struct { +// Message represents VPP binary API message +type Message struct { Name string CRC string Fields []Field } +// MessageType represents the type of a VPP message +type MessageType int + +const ( + requestMessage MessageType = iota // VPP request message + replyMessage // VPP reply message + eventMessage // VPP event message + otherMessage // other VPP message +) + // Field represents VPP binary API object field type Field struct { Name string @@ -64,28 +88,6 @@ func (f *Field) IsArray() bool { return f.Length > 0 || f.SizeFrom != "" } -// Enum represents VPP binary API enum -type Enum struct { - Name string - Type string - Entries []EnumEntry -} - -// EnumEntry represents VPP binary API enum entry -type EnumEntry struct { - Name string - Value interface{} -} - -// Service represents VPP binary API service -type Service struct { - Name string - RequestType string - ReplyType string - Stream bool - Events []string -} - func (s Service) MethodName() string { reqTyp := camelCaseName(s.RequestType) diff --git a/cmd/binapi-generator/parse.go b/cmd/binapi-generator/parse.go index 5bb3e8e..07abebd 100644 --- a/cmd/binapi-generator/parse.go +++ b/cmd/binapi-generator/parse.go @@ -54,6 +54,10 @@ func parsePackage(ctx *context, jsonRoot *jsongo.JSONNode) (*Package, error) { pkg.Enums[i] = *enum pkg.RefMap[toApiType(enum.Name)] = enum.Name } + // sort enums + sort.SliceStable(pkg.Enums, func(i, j int) bool { + return pkg.Enums[i].Name < pkg.Enums[j].Name + }) // parse aliases aliases := jsonRoot.Map("aliases") @@ -88,6 +92,10 @@ func parsePackage(ctx *context, jsonRoot *jsongo.JSONNode) (*Package, error) { pkg.Types[i] = *typ pkg.RefMap[toApiType(typ.Name)] = typ.Name } + // sort types + sort.SliceStable(pkg.Types, func(i, j int) bool { + return pkg.Types[i].Name < pkg.Types[j].Name + }) // parse unions unions := jsonRoot.Map("unions") @@ -102,6 +110,10 @@ func parsePackage(ctx *context, jsonRoot *jsongo.JSONNode) (*Package, error) { pkg.Unions[i] = *union pkg.RefMap[toApiType(union.Name)] = union.Name } + // sort unions + sort.SliceStable(pkg.Unions, func(i, j int) bool { + return pkg.Unions[i].Name < pkg.Unions[j].Name + }) // parse messages messages := jsonRoot.Map("messages") @@ -115,6 +127,10 @@ func parsePackage(ctx *context, jsonRoot *jsongo.JSONNode) (*Package, error) { } pkg.Messages[i] = *msg } + // sort messages + sort.SliceStable(pkg.Messages, func(i, j int) bool { + return pkg.Messages[i].Name < pkg.Messages[j].Name + }) // parse services services := jsonRoot.Map("services") @@ -129,16 +145,15 @@ func parsePackage(ctx *context, jsonRoot *jsongo.JSONNode) (*Package, error) { } pkg.Services[i] = *svc } - - // sort services - sort.Slice(pkg.Services, func(i, j int) bool { - // dumps first - if pkg.Services[i].Stream != pkg.Services[j].Stream { - return pkg.Services[i].Stream - } - return pkg.Services[i].RequestType < pkg.Services[j].RequestType - }) } + // sort services + sort.Slice(pkg.Services, func(i, j int) bool { + // dumps first + if pkg.Services[i].Stream != pkg.Services[j].Stream { + return pkg.Services[i].Stream + } + return pkg.Services[i].RequestType < pkg.Services[j].RequestType + }) printPackage(&pkg) @@ -456,20 +471,20 @@ func parseService(ctx *context, svcName string, svcNode *jsongo.JSONNode) (*Serv // validate service if svc.IsEventService() { if !strings.HasPrefix(svc.RequestType, "want_") { - log.Warnf("Unusual EVENTS SERVICE: %+v\n"+ + log.Debugf("Unusual EVENTS SERVICE: %+v\n"+ "- events service %q does not have 'want_' prefix in request.", svc, svc.Name) } } else if svc.IsDumpService() { if !strings.HasSuffix(svc.RequestType, "_dump") || !strings.HasSuffix(svc.ReplyType, "_details") { - log.Warnf("Unusual STREAM SERVICE: %+v\n"+ + log.Debugf("Unusual STREAM SERVICE: %+v\n"+ "- stream service %q does not have '_dump' suffix in request or reply does not have '_details' suffix.", svc, svc.Name) } } else if svc.IsRequestService() { if !strings.HasSuffix(svc.ReplyType, "_reply") { - log.Warnf("Unusual REQUEST SERVICE: %+v\n"+ + log.Debugf("Unusual REQUEST SERVICE: %+v\n"+ "- service %q does not have '_reply' suffix in reply.", svc, svc.Name) } diff --git a/core/channel.go b/core/channel.go index a7d95fe..5b69eab 100644 --- a/core/channel.go +++ b/core/channel.go @@ -31,7 +31,7 @@ var ( // MessageCodec provides functionality for decoding binary data to generated API messages. type MessageCodec interface { - //EncodeMsg encodes message into binary data. + // EncodeMsg encodes message into binary data. EncodeMsg(msg api.Message, msgID uint16) ([]byte, error) // DecodeMsg decodes binary-encoded data of a message into provided Message structure. DecodeMsg(data []byte, msg api.Message) error diff --git a/core/connection.go b/core/connection.go index 042a2af..08f08f5 100644 --- a/core/connection.go +++ b/core/connection.go @@ -248,7 +248,7 @@ func (c *Connection) retrieveMessageIDs() (err error) { c.msgMap[msgID] = msg } - msgs := api.GetAllMessages() + msgs := api.GetRegisteredMessages() for name, msg := range msgs { msgID, err := c.vppClient.GetMsgID(msg.GetMessageName(), msg.GetCrcString()) diff --git a/examples/bin_api/acl/acl.ba.go b/examples/bin_api/acl/acl.ba.go index eff85d4..9b43110 100644 --- a/examples/bin_api/acl/acl.ba.go +++ b/examples/bin_api/acl/acl.ba.go @@ -5,10 +5,9 @@ Package acl is a generated from VPP binary API module 'acl'. It contains following objects: - 36 messages - 2 types 18 services - + 2 types + 36 messages */ package acl @@ -244,213 +243,6 @@ func (*MacipACLRule) GetCrcString() string { /* Messages */ -// ACLPluginGetVersion represents VPP binary API message 'acl_plugin_get_version': -// -// "acl_plugin_get_version", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } -// -type ACLPluginGetVersion struct{} - -func (*ACLPluginGetVersion) GetMessageName() string { - return "acl_plugin_get_version" -} -func (*ACLPluginGetVersion) GetCrcString() string { - return "51077d14" -} -func (*ACLPluginGetVersion) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// ACLPluginGetVersionReply represents VPP binary API message 'acl_plugin_get_version_reply': -// -// "acl_plugin_get_version_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "major" -// ], -// [ -// "u32", -// "minor" -// ], -// { -// "crc": "0x9b32cf86" -// } -// -type ACLPluginGetVersionReply struct { - Major uint32 - Minor uint32 -} - -func (*ACLPluginGetVersionReply) GetMessageName() string { - return "acl_plugin_get_version_reply" -} -func (*ACLPluginGetVersionReply) GetCrcString() string { - return "9b32cf86" -} -func (*ACLPluginGetVersionReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// ACLPluginControlPing represents VPP binary API message 'acl_plugin_control_ping': -// -// "acl_plugin_control_ping", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } -// -type ACLPluginControlPing struct{} - -func (*ACLPluginControlPing) GetMessageName() string { - return "acl_plugin_control_ping" -} -func (*ACLPluginControlPing) GetCrcString() string { - return "51077d14" -} -func (*ACLPluginControlPing) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// ACLPluginControlPingReply represents VPP binary API message 'acl_plugin_control_ping_reply': -// -// "acl_plugin_control_ping_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "vpe_pid" -// ], -// { -// "crc": "0xf6b0b8ca" -// } -// -type ACLPluginControlPingReply struct { - Retval int32 - ClientIndex uint32 - VpePID uint32 -} - -func (*ACLPluginControlPingReply) GetMessageName() string { - return "acl_plugin_control_ping_reply" -} -func (*ACLPluginControlPingReply) GetCrcString() string { - return "f6b0b8ca" -} -func (*ACLPluginControlPingReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// ACLPluginGetConnTableMaxEntries represents VPP binary API message 'acl_plugin_get_conn_table_max_entries': -// -// "acl_plugin_get_conn_table_max_entries", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } -// -type ACLPluginGetConnTableMaxEntries struct{} - -func (*ACLPluginGetConnTableMaxEntries) GetMessageName() string { - return "acl_plugin_get_conn_table_max_entries" -} -func (*ACLPluginGetConnTableMaxEntries) GetCrcString() string { - return "51077d14" -} -func (*ACLPluginGetConnTableMaxEntries) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// ACLPluginGetConnTableMaxEntriesReply represents VPP binary API message 'acl_plugin_get_conn_table_max_entries_reply': -// -// "acl_plugin_get_conn_table_max_entries_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u64", -// "conn_table_max_entries" -// ], -// { -// "crc": "0x7a096d3d" -// } -// -type ACLPluginGetConnTableMaxEntriesReply struct { - ConnTableMaxEntries uint64 -} - -func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageName() string { - return "acl_plugin_get_conn_table_max_entries_reply" -} -func (*ACLPluginGetConnTableMaxEntriesReply) GetCrcString() string { - return "7a096d3d" -} -func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - // ACLAddReplace represents VPP binary API message 'acl_add_replace': // // "acl_add_replace", @@ -614,94 +406,97 @@ func (*ACLDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLInterfaceAddDel represents VPP binary API message 'acl_interface_add_del': +// ACLDetails represents VPP binary API message 'acl_details': // -// "acl_interface_add_del", +// "acl_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", // "context" // ], // [ -// "u8", -// "is_add" +// "u32", +// "acl_index" // ], // [ // "u8", -// "is_input" +// "tag", +// 64 // ], // [ // "u32", -// "sw_if_index" +// "count" // ], // [ -// "u32", -// "acl_index" +// "vl_api_acl_rule_t", +// "r", +// 0, +// "count" // ], // { -// "crc": "0x0b2aedd1" +// "crc": "0x5bd895be" // } // -type ACLInterfaceAddDel struct { - IsAdd uint8 - IsInput uint8 - SwIfIndex uint32 - ACLIndex uint32 +type ACLDetails struct { + ACLIndex uint32 + Tag []byte `struc:"[64]byte"` + Count uint32 `struc:"sizeof=R"` + R []ACLRule } -func (*ACLInterfaceAddDel) GetMessageName() string { - return "acl_interface_add_del" +func (*ACLDetails) GetMessageName() string { + return "acl_details" } -func (*ACLInterfaceAddDel) GetCrcString() string { - return "0b2aedd1" +func (*ACLDetails) GetCrcString() string { + return "5bd895be" } -func (*ACLInterfaceAddDel) GetMessageType() api.MessageType { - return api.RequestMessage +func (*ACLDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// ACLInterfaceAddDelReply represents VPP binary API message 'acl_interface_add_del_reply': +// ACLDump represents VPP binary API message 'acl_dump': // -// "acl_interface_add_del_reply", +// "acl_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ -// "i32", -// "retval" +// "u32", +// "acl_index" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0xef34fea4" // } // -type ACLInterfaceAddDelReply struct { - Retval int32 +type ACLDump struct { + ACLIndex uint32 } -func (*ACLInterfaceAddDelReply) GetMessageName() string { - return "acl_interface_add_del_reply" +func (*ACLDump) GetMessageName() string { + return "acl_dump" } -func (*ACLInterfaceAddDelReply) GetCrcString() string { - return "e8d4e804" +func (*ACLDump) GetCrcString() string { + return "ef34fea4" } -func (*ACLInterfaceAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*ACLDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// ACLInterfaceSetACLList represents VPP binary API message 'acl_interface_set_acl_list': +// ACLInterfaceAddDel represents VPP binary API message 'acl_interface_add_del': // -// "acl_interface_set_acl_list", +// "acl_interface_add_del", // [ // "u16", // "_vl_msg_id" @@ -715,47 +510,45 @@ func (*ACLInterfaceAddDelReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" +// "u8", +// "is_add" // ], // [ // "u8", -// "count" +// "is_input" // ], // [ -// "u8", -// "n_input" +// "u32", +// "sw_if_index" // ], // [ // "u32", -// "acls", -// 0, -// "count" +// "acl_index" // ], // { -// "crc": "0x8baece38" +// "crc": "0x0b2aedd1" // } // -type ACLInterfaceSetACLList struct { +type ACLInterfaceAddDel struct { + IsAdd uint8 + IsInput uint8 SwIfIndex uint32 - Count uint8 `struc:"sizeof=Acls"` - NInput uint8 - Acls []uint32 + ACLIndex uint32 } -func (*ACLInterfaceSetACLList) GetMessageName() string { - return "acl_interface_set_acl_list" +func (*ACLInterfaceAddDel) GetMessageName() string { + return "acl_interface_add_del" } -func (*ACLInterfaceSetACLList) GetCrcString() string { - return "8baece38" +func (*ACLInterfaceAddDel) GetCrcString() string { + return "0b2aedd1" } -func (*ACLInterfaceSetACLList) GetMessageType() api.MessageType { +func (*ACLInterfaceAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLInterfaceSetACLListReply represents VPP binary API message 'acl_interface_set_acl_list_reply': +// ACLInterfaceAddDelReply represents VPP binary API message 'acl_interface_add_del_reply': // -// "acl_interface_set_acl_list_reply", +// "acl_interface_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -772,60 +565,23 @@ func (*ACLInterfaceSetACLList) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type ACLInterfaceSetACLListReply struct { +type ACLInterfaceAddDelReply struct { Retval int32 } -func (*ACLInterfaceSetACLListReply) GetMessageName() string { - return "acl_interface_set_acl_list_reply" +func (*ACLInterfaceAddDelReply) GetMessageName() string { + return "acl_interface_add_del_reply" } -func (*ACLInterfaceSetACLListReply) GetCrcString() string { +func (*ACLInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" } -func (*ACLInterfaceSetACLListReply) GetMessageType() api.MessageType { +func (*ACLInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLDump represents VPP binary API message 'acl_dump': -// -// "acl_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// { -// "crc": "0xef34fea4" -// } -// -type ACLDump struct { - ACLIndex uint32 -} - -func (*ACLDump) GetMessageName() string { - return "acl_dump" -} -func (*ACLDump) GetCrcString() string { - return "ef34fea4" -} -func (*ACLDump) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// ACLDetails represents VPP binary API message 'acl_details': +// ACLInterfaceEtypeWhitelistDetails represents VPP binary API message 'acl_interface_etype_whitelist_details': // -// "acl_details", +// "acl_interface_etype_whitelist_details", // [ // "u16", // "_vl_msg_id" @@ -836,47 +592,46 @@ func (*ACLDump) GetMessageType() api.MessageType { // ], // [ // "u32", -// "acl_index" +// "sw_if_index" // ], // [ // "u8", -// "tag", -// 64 +// "count" // ], // [ -// "u32", -// "count" +// "u8", +// "n_input" // ], // [ -// "vl_api_acl_rule_t", -// "r", +// "u16", +// "whitelist", // 0, // "count" // ], // { -// "crc": "0x5bd895be" +// "crc": "0x6a5d4e81" // } // -type ACLDetails struct { - ACLIndex uint32 - Tag []byte `struc:"[64]byte"` - Count uint32 `struc:"sizeof=R"` - R []ACLRule +type ACLInterfaceEtypeWhitelistDetails struct { + SwIfIndex uint32 + Count uint8 `struc:"sizeof=Whitelist"` + NInput uint8 + Whitelist []uint16 } -func (*ACLDetails) GetMessageName() string { - return "acl_details" +func (*ACLInterfaceEtypeWhitelistDetails) GetMessageName() string { + return "acl_interface_etype_whitelist_details" } -func (*ACLDetails) GetCrcString() string { - return "5bd895be" +func (*ACLInterfaceEtypeWhitelistDetails) GetCrcString() string { + return "6a5d4e81" } -func (*ACLDetails) GetMessageType() api.MessageType { +func (*ACLInterfaceEtypeWhitelistDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLInterfaceListDump represents VPP binary API message 'acl_interface_list_dump': +// ACLInterfaceEtypeWhitelistDump represents VPP binary API message 'acl_interface_etype_whitelist_dump': // -// "acl_interface_list_dump", +// "acl_interface_etype_whitelist_dump", // [ // "u16", // "_vl_msg_id" @@ -897,17 +652,17 @@ func (*ACLDetails) GetMessageType() api.MessageType { // "crc": "0x529cb13f" // } // -type ACLInterfaceListDump struct { +type ACLInterfaceEtypeWhitelistDump struct { SwIfIndex uint32 } -func (*ACLInterfaceListDump) GetMessageName() string { - return "acl_interface_list_dump" +func (*ACLInterfaceEtypeWhitelistDump) GetMessageName() string { + return "acl_interface_etype_whitelist_dump" } -func (*ACLInterfaceListDump) GetCrcString() string { +func (*ACLInterfaceEtypeWhitelistDump) GetCrcString() string { return "529cb13f" } -func (*ACLInterfaceListDump) GetMessageType() api.MessageType { +func (*ACLInterfaceEtypeWhitelistDump) GetMessageType() api.MessageType { return api.RequestMessage } @@ -961,9 +716,9 @@ func (*ACLInterfaceListDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLAdd represents VPP binary API message 'macip_acl_add': +// ACLInterfaceListDump represents VPP binary API message 'acl_interface_list_dump': // -// "macip_acl_add", +// "acl_interface_list_dump", // [ // "u16", // "_vl_msg_id" @@ -977,81 +732,117 @@ func (*ACLInterfaceListDetails) GetMessageType() api.MessageType { // "context" // ], // [ -// "u8", -// "tag", -// 64 -// ], -// [ // "u32", -// "count" -// ], -// [ -// "vl_api_macip_acl_rule_t", -// "r", -// 0, -// "count" +// "sw_if_index" // ], // { -// "crc": "0xb3d3d65a" +// "crc": "0x529cb13f" // } // -type MacipACLAdd struct { - Tag []byte `struc:"[64]byte"` - Count uint32 `struc:"sizeof=R"` - R []MacipACLRule +type ACLInterfaceListDump struct { + SwIfIndex uint32 } -func (*MacipACLAdd) GetMessageName() string { - return "macip_acl_add" +func (*ACLInterfaceListDump) GetMessageName() string { + return "acl_interface_list_dump" } -func (*MacipACLAdd) GetCrcString() string { - return "b3d3d65a" +func (*ACLInterfaceListDump) GetCrcString() string { + return "529cb13f" } -func (*MacipACLAdd) GetMessageType() api.MessageType { +func (*ACLInterfaceListDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLAddReply represents VPP binary API message 'macip_acl_add_reply': +// ACLInterfaceSetACLList represents VPP binary API message 'acl_interface_set_acl_list': // -// "macip_acl_add_reply", +// "acl_interface_set_acl_list", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ // "u32", -// "acl_index" +// "sw_if_index" // ], // [ -// "i32", -// "retval" +// "u8", +// "count" +// ], +// [ +// "u8", +// "n_input" +// ], +// [ +// "u32", +// "acls", +// 0, +// "count" // ], // { -// "crc": "0xac407b0c" +// "crc": "0x8baece38" // } // -type MacipACLAddReply struct { - ACLIndex uint32 - Retval int32 +type ACLInterfaceSetACLList struct { + SwIfIndex uint32 + Count uint8 `struc:"sizeof=Acls"` + NInput uint8 + Acls []uint32 } -func (*MacipACLAddReply) GetMessageName() string { - return "macip_acl_add_reply" +func (*ACLInterfaceSetACLList) GetMessageName() string { + return "acl_interface_set_acl_list" } -func (*MacipACLAddReply) GetCrcString() string { - return "ac407b0c" +func (*ACLInterfaceSetACLList) GetCrcString() string { + return "8baece38" } -func (*MacipACLAddReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*ACLInterfaceSetACLList) GetMessageType() api.MessageType { + return api.RequestMessage } -// MacipACLAddReplace represents VPP binary API message 'macip_acl_add_replace': +// ACLInterfaceSetACLListReply represents VPP binary API message 'acl_interface_set_acl_list_reply': // -// "macip_acl_add_replace", +// "acl_interface_set_acl_list_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type ACLInterfaceSetACLListReply struct { + Retval int32 +} + +func (*ACLInterfaceSetACLListReply) GetMessageName() string { + return "acl_interface_set_acl_list_reply" +} +func (*ACLInterfaceSetACLListReply) GetCrcString() string { + return "e8d4e804" +} +func (*ACLInterfaceSetACLListReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// ACLInterfaceSetEtypeWhitelist represents VPP binary API message 'acl_interface_set_etype_whitelist': +// +// "acl_interface_set_etype_whitelist", // [ // "u16", // "_vl_msg_id" @@ -1066,47 +857,46 @@ func (*MacipACLAddReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "acl_index" +// "sw_if_index" // ], // [ // "u8", -// "tag", -// 64 +// "count" // ], // [ -// "u32", -// "count" +// "u8", +// "n_input" // ], // [ -// "vl_api_macip_acl_rule_t", -// "r", +// "u16", +// "whitelist", // 0, // "count" // ], // { -// "crc": "0xa0e8c01b" +// "crc": "0xf515efc5" // } // -type MacipACLAddReplace struct { - ACLIndex uint32 - Tag []byte `struc:"[64]byte"` - Count uint32 `struc:"sizeof=R"` - R []MacipACLRule +type ACLInterfaceSetEtypeWhitelist struct { + SwIfIndex uint32 + Count uint8 `struc:"sizeof=Whitelist"` + NInput uint8 + Whitelist []uint16 } -func (*MacipACLAddReplace) GetMessageName() string { - return "macip_acl_add_replace" +func (*ACLInterfaceSetEtypeWhitelist) GetMessageName() string { + return "acl_interface_set_etype_whitelist" } -func (*MacipACLAddReplace) GetCrcString() string { - return "a0e8c01b" +func (*ACLInterfaceSetEtypeWhitelist) GetCrcString() string { + return "f515efc5" } -func (*MacipACLAddReplace) GetMessageType() api.MessageType { +func (*ACLInterfaceSetEtypeWhitelist) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLAddReplaceReply represents VPP binary API message 'macip_acl_add_replace_reply': +// ACLInterfaceSetEtypeWhitelistReply represents VPP binary API message 'acl_interface_set_etype_whitelist_reply': // -// "macip_acl_add_replace_reply", +// "acl_interface_set_etype_whitelist_reply", // [ // "u16", // "_vl_msg_id" @@ -1116,35 +906,30 @@ func (*MacipACLAddReplace) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "acl_index" -// ], -// [ // "i32", // "retval" // ], // { -// "crc": "0xac407b0c" +// "crc": "0xe8d4e804" // } // -type MacipACLAddReplaceReply struct { - ACLIndex uint32 - Retval int32 +type ACLInterfaceSetEtypeWhitelistReply struct { + Retval int32 } -func (*MacipACLAddReplaceReply) GetMessageName() string { - return "macip_acl_add_replace_reply" +func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageName() string { + return "acl_interface_set_etype_whitelist_reply" } -func (*MacipACLAddReplaceReply) GetCrcString() string { - return "ac407b0c" +func (*ACLInterfaceSetEtypeWhitelistReply) GetCrcString() string { + return "e8d4e804" } -func (*MacipACLAddReplaceReply) GetMessageType() api.MessageType { +func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLDel represents VPP binary API message 'macip_acl_del': +// ACLPluginControlPing represents VPP binary API message 'acl_plugin_control_ping': // -// "macip_acl_del", +// "acl_plugin_control_ping", // [ // "u16", // "_vl_msg_id" @@ -1157,31 +942,25 @@ func (*MacipACLAddReplaceReply) GetMessageType() api.MessageType { // "u32", // "context" // ], -// [ -// "u32", -// "acl_index" -// ], // { -// "crc": "0xef34fea4" +// "crc": "0x51077d14" // } // -type MacipACLDel struct { - ACLIndex uint32 -} +type ACLPluginControlPing struct{} -func (*MacipACLDel) GetMessageName() string { - return "macip_acl_del" +func (*ACLPluginControlPing) GetMessageName() string { + return "acl_plugin_control_ping" } -func (*MacipACLDel) GetCrcString() string { - return "ef34fea4" +func (*ACLPluginControlPing) GetCrcString() string { + return "51077d14" } -func (*MacipACLDel) GetMessageType() api.MessageType { +func (*ACLPluginControlPing) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLDelReply represents VPP binary API message 'macip_acl_del_reply': +// ACLPluginControlPingReply represents VPP binary API message 'acl_plugin_control_ping_reply': // -// "macip_acl_del_reply", +// "acl_plugin_control_ping_reply", // [ // "u16", // "_vl_msg_id" @@ -1194,27 +973,37 @@ func (*MacipACLDel) GetMessageType() api.MessageType { // "i32", // "retval" // ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "vpe_pid" +// ], // { -// "crc": "0xe8d4e804" +// "crc": "0xf6b0b8ca" // } // -type MacipACLDelReply struct { - Retval int32 +type ACLPluginControlPingReply struct { + Retval int32 + ClientIndex uint32 + VpePID uint32 } -func (*MacipACLDelReply) GetMessageName() string { - return "macip_acl_del_reply" +func (*ACLPluginControlPingReply) GetMessageName() string { + return "acl_plugin_control_ping_reply" } -func (*MacipACLDelReply) GetCrcString() string { - return "e8d4e804" +func (*ACLPluginControlPingReply) GetCrcString() string { + return "f6b0b8ca" } -func (*MacipACLDelReply) GetMessageType() api.MessageType { +func (*ACLPluginControlPingReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLInterfaceAddDel represents VPP binary API message 'macip_acl_interface_add_del': +// ACLPluginGetConnTableMaxEntries represents VPP binary API message 'acl_plugin_get_conn_table_max_entries': // -// "macip_acl_interface_add_del", +// "acl_plugin_get_conn_table_max_entries", // [ // "u16", // "_vl_msg_id" @@ -1227,41 +1016,25 @@ func (*MacipACLDelReply) GetMessageType() api.MessageType { // "u32", // "context" // ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "acl_index" -// ], // { -// "crc": "0x6a6be97c" +// "crc": "0x51077d14" // } // -type MacipACLInterfaceAddDel struct { - IsAdd uint8 - SwIfIndex uint32 - ACLIndex uint32 -} +type ACLPluginGetConnTableMaxEntries struct{} -func (*MacipACLInterfaceAddDel) GetMessageName() string { - return "macip_acl_interface_add_del" +func (*ACLPluginGetConnTableMaxEntries) GetMessageName() string { + return "acl_plugin_get_conn_table_max_entries" } -func (*MacipACLInterfaceAddDel) GetCrcString() string { - return "6a6be97c" +func (*ACLPluginGetConnTableMaxEntries) GetCrcString() string { + return "51077d14" } -func (*MacipACLInterfaceAddDel) GetMessageType() api.MessageType { +func (*ACLPluginGetConnTableMaxEntries) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLInterfaceAddDelReply represents VPP binary API message 'macip_acl_interface_add_del_reply': +// ACLPluginGetConnTableMaxEntriesReply represents VPP binary API message 'acl_plugin_get_conn_table_max_entries_reply': // -// "macip_acl_interface_add_del_reply", +// "acl_plugin_get_conn_table_max_entries_reply", // [ // "u16", // "_vl_msg_id" @@ -1271,30 +1044,30 @@ func (*MacipACLInterfaceAddDel) GetMessageType() api.MessageType { // "context" // ], // [ -// "i32", -// "retval" +// "u64", +// "conn_table_max_entries" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x7a096d3d" // } // -type MacipACLInterfaceAddDelReply struct { - Retval int32 +type ACLPluginGetConnTableMaxEntriesReply struct { + ConnTableMaxEntries uint64 } -func (*MacipACLInterfaceAddDelReply) GetMessageName() string { - return "macip_acl_interface_add_del_reply" +func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageName() string { + return "acl_plugin_get_conn_table_max_entries_reply" } -func (*MacipACLInterfaceAddDelReply) GetCrcString() string { - return "e8d4e804" +func (*ACLPluginGetConnTableMaxEntriesReply) GetCrcString() string { + return "7a096d3d" } -func (*MacipACLInterfaceAddDelReply) GetMessageType() api.MessageType { +func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLDump represents VPP binary API message 'macip_acl_dump': +// ACLPluginGetVersion represents VPP binary API message 'acl_plugin_get_version': // -// "macip_acl_dump", +// "acl_plugin_get_version", // [ // "u16", // "_vl_msg_id" @@ -1307,31 +1080,25 @@ func (*MacipACLInterfaceAddDelReply) GetMessageType() api.MessageType { // "u32", // "context" // ], -// [ -// "u32", -// "acl_index" -// ], // { -// "crc": "0xef34fea4" +// "crc": "0x51077d14" // } // -type MacipACLDump struct { - ACLIndex uint32 -} +type ACLPluginGetVersion struct{} -func (*MacipACLDump) GetMessageName() string { - return "macip_acl_dump" +func (*ACLPluginGetVersion) GetMessageName() string { + return "acl_plugin_get_version" } -func (*MacipACLDump) GetCrcString() string { - return "ef34fea4" +func (*ACLPluginGetVersion) GetCrcString() string { + return "51077d14" } -func (*MacipACLDump) GetMessageType() api.MessageType { +func (*ACLPluginGetVersion) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLDetails represents VPP binary API message 'macip_acl_details': +// ACLPluginGetVersionReply represents VPP binary API message 'acl_plugin_get_version_reply': // -// "macip_acl_details", +// "acl_plugin_get_version_reply", // [ // "u16", // "_vl_msg_id" @@ -1342,47 +1109,34 @@ func (*MacipACLDump) GetMessageType() api.MessageType { // ], // [ // "u32", -// "acl_index" -// ], -// [ -// "u8", -// "tag", -// 64 +// "major" // ], // [ // "u32", -// "count" -// ], -// [ -// "vl_api_macip_acl_rule_t", -// "r", -// 0, -// "count" +// "minor" // ], // { -// "crc": "0xdd2b55ba" +// "crc": "0x9b32cf86" // } // -type MacipACLDetails struct { - ACLIndex uint32 - Tag []byte `struc:"[64]byte"` - Count uint32 `struc:"sizeof=R"` - R []MacipACLRule +type ACLPluginGetVersionReply struct { + Major uint32 + Minor uint32 } -func (*MacipACLDetails) GetMessageName() string { - return "macip_acl_details" +func (*ACLPluginGetVersionReply) GetMessageName() string { + return "acl_plugin_get_version_reply" } -func (*MacipACLDetails) GetCrcString() string { - return "dd2b55ba" +func (*ACLPluginGetVersionReply) GetCrcString() string { + return "9b32cf86" } -func (*MacipACLDetails) GetMessageType() api.MessageType { +func (*ACLPluginGetVersionReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLInterfaceGet represents VPP binary API message 'macip_acl_interface_get': +// MacipACLAdd represents VPP binary API message 'macip_acl_add': // -// "macip_acl_interface_get", +// "macip_acl_add", // [ // "u16", // "_vl_msg_id" @@ -1395,65 +1149,175 @@ func (*MacipACLDetails) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u8", +// "tag", +// 64 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_macip_acl_rule_t", +// "r", +// 0, +// "count" +// ], // { -// "crc": "0x51077d14" +// "crc": "0xb3d3d65a" // } // -type MacipACLInterfaceGet struct{} +type MacipACLAdd struct { + Tag []byte `struc:"[64]byte"` + Count uint32 `struc:"sizeof=R"` + R []MacipACLRule +} -func (*MacipACLInterfaceGet) GetMessageName() string { - return "macip_acl_interface_get" +func (*MacipACLAdd) GetMessageName() string { + return "macip_acl_add" } -func (*MacipACLInterfaceGet) GetCrcString() string { - return "51077d14" +func (*MacipACLAdd) GetCrcString() string { + return "b3d3d65a" } -func (*MacipACLInterfaceGet) GetMessageType() api.MessageType { +func (*MacipACLAdd) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLInterfaceGetReply represents VPP binary API message 'macip_acl_interface_get_reply': +// MacipACLAddReplace represents VPP binary API message 'macip_acl_add_replace': // -// "macip_acl_interface_get_reply", +// "macip_acl_add_replace", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ // "u32", -// "count" +// "acl_index" +// ], +// [ +// "u8", +// "tag", +// 64 // ], // [ // "u32", -// "acls", +// "count" +// ], +// [ +// "vl_api_macip_acl_rule_t", +// "r", // 0, // "count" // ], // { -// "crc": "0xaccf9b05" +// "crc": "0xa0e8c01b" // } // -type MacipACLInterfaceGetReply struct { - Count uint32 `struc:"sizeof=Acls"` - Acls []uint32 +type MacipACLAddReplace struct { + ACLIndex uint32 + Tag []byte `struc:"[64]byte"` + Count uint32 `struc:"sizeof=R"` + R []MacipACLRule } -func (*MacipACLInterfaceGetReply) GetMessageName() string { - return "macip_acl_interface_get_reply" +func (*MacipACLAddReplace) GetMessageName() string { + return "macip_acl_add_replace" } -func (*MacipACLInterfaceGetReply) GetCrcString() string { - return "accf9b05" +func (*MacipACLAddReplace) GetCrcString() string { + return "a0e8c01b" } -func (*MacipACLInterfaceGetReply) GetMessageType() api.MessageType { +func (*MacipACLAddReplace) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// MacipACLAddReplaceReply represents VPP binary API message 'macip_acl_add_replace_reply': +// +// "macip_acl_add_replace_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xac407b0c" +// } +// +type MacipACLAddReplaceReply struct { + ACLIndex uint32 + Retval int32 +} + +func (*MacipACLAddReplaceReply) GetMessageName() string { + return "macip_acl_add_replace_reply" +} +func (*MacipACLAddReplaceReply) GetCrcString() string { + return "ac407b0c" +} +func (*MacipACLAddReplaceReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLInterfaceListDump represents VPP binary API message 'macip_acl_interface_list_dump': +// MacipACLAddReply represents VPP binary API message 'macip_acl_add_reply': // -// "macip_acl_interface_list_dump", +// "macip_acl_add_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xac407b0c" +// } +// +type MacipACLAddReply struct { + ACLIndex uint32 + Retval int32 +} + +func (*MacipACLAddReply) GetMessageName() string { + return "macip_acl_add_reply" +} +func (*MacipACLAddReply) GetCrcString() string { + return "ac407b0c" +} +func (*MacipACLAddReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// MacipACLDel represents VPP binary API message 'macip_acl_del': +// +// "macip_acl_del", // [ // "u16", // "_vl_msg_id" @@ -1468,29 +1332,29 @@ func (*MacipACLInterfaceGetReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "sw_if_index" +// "acl_index" // ], // { -// "crc": "0x529cb13f" +// "crc": "0xef34fea4" // } // -type MacipACLInterfaceListDump struct { - SwIfIndex uint32 +type MacipACLDel struct { + ACLIndex uint32 } -func (*MacipACLInterfaceListDump) GetMessageName() string { - return "macip_acl_interface_list_dump" +func (*MacipACLDel) GetMessageName() string { + return "macip_acl_del" } -func (*MacipACLInterfaceListDump) GetCrcString() string { - return "529cb13f" +func (*MacipACLDel) GetCrcString() string { + return "ef34fea4" } -func (*MacipACLInterfaceListDump) GetMessageType() api.MessageType { +func (*MacipACLDel) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLInterfaceListDetails represents VPP binary API message 'macip_acl_interface_list_details': +// MacipACLDelReply represents VPP binary API message 'macip_acl_del_reply': // -// "macip_acl_interface_list_details", +// "macip_acl_del_reply", // [ // "u16", // "_vl_msg_id" @@ -1500,42 +1364,81 @@ func (*MacipACLInterfaceListDump) GetMessageType() api.MessageType { // "context" // ], // [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type MacipACLDelReply struct { + Retval int32 +} + +func (*MacipACLDelReply) GetMessageName() string { + return "macip_acl_del_reply" +} +func (*MacipACLDelReply) GetCrcString() string { + return "e8d4e804" +} +func (*MacipACLDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// MacipACLDetails represents VPP binary API message 'macip_acl_details': +// +// "macip_acl_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ // "u32", -// "sw_if_index" +// "context" +// ], +// [ +// "u32", +// "acl_index" // ], // [ // "u8", -// "count" +// "tag", +// 64 // ], // [ // "u32", -// "acls", +// "count" +// ], +// [ +// "vl_api_macip_acl_rule_t", +// "r", // 0, // "count" // ], // { -// "crc": "0x29783fa0" +// "crc": "0xdd2b55ba" // } // -type MacipACLInterfaceListDetails struct { - SwIfIndex uint32 - Count uint8 `struc:"sizeof=Acls"` - Acls []uint32 +type MacipACLDetails struct { + ACLIndex uint32 + Tag []byte `struc:"[64]byte"` + Count uint32 `struc:"sizeof=R"` + R []MacipACLRule } -func (*MacipACLInterfaceListDetails) GetMessageName() string { - return "macip_acl_interface_list_details" +func (*MacipACLDetails) GetMessageName() string { + return "macip_acl_details" } -func (*MacipACLInterfaceListDetails) GetCrcString() string { - return "29783fa0" +func (*MacipACLDetails) GetCrcString() string { + return "dd2b55ba" } -func (*MacipACLInterfaceListDetails) GetMessageType() api.MessageType { +func (*MacipACLDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLInterfaceSetEtypeWhitelist represents VPP binary API message 'acl_interface_set_etype_whitelist': +// MacipACLDump represents VPP binary API message 'macip_acl_dump': // -// "acl_interface_set_etype_whitelist", +// "macip_acl_dump", // [ // "u16", // "_vl_msg_id" @@ -1550,46 +1453,76 @@ func (*MacipACLInterfaceListDetails) GetMessageType() api.MessageType { // ], // [ // "u32", -// "sw_if_index" +// "acl_index" +// ], +// { +// "crc": "0xef34fea4" +// } +// +type MacipACLDump struct { + ACLIndex uint32 +} + +func (*MacipACLDump) GetMessageName() string { + return "macip_acl_dump" +} +func (*MacipACLDump) GetCrcString() string { + return "ef34fea4" +} +func (*MacipACLDump) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// MacipACLInterfaceAddDel represents VPP binary API message 'macip_acl_interface_add_del': +// +// "macip_acl_interface_add_del", +// [ +// "u16", +// "_vl_msg_id" // ], // [ -// "u8", -// "count" +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" // ], // [ // "u8", -// "n_input" +// "is_add" // ], // [ -// "u16", -// "whitelist", -// 0, -// "count" +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "acl_index" // ], // { -// "crc": "0xf515efc5" +// "crc": "0x6a6be97c" // } // -type ACLInterfaceSetEtypeWhitelist struct { +type MacipACLInterfaceAddDel struct { + IsAdd uint8 SwIfIndex uint32 - Count uint8 `struc:"sizeof=Whitelist"` - NInput uint8 - Whitelist []uint16 + ACLIndex uint32 } -func (*ACLInterfaceSetEtypeWhitelist) GetMessageName() string { - return "acl_interface_set_etype_whitelist" +func (*MacipACLInterfaceAddDel) GetMessageName() string { + return "macip_acl_interface_add_del" } -func (*ACLInterfaceSetEtypeWhitelist) GetCrcString() string { - return "f515efc5" +func (*MacipACLInterfaceAddDel) GetCrcString() string { + return "6a6be97c" } -func (*ACLInterfaceSetEtypeWhitelist) GetMessageType() api.MessageType { +func (*MacipACLInterfaceAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLInterfaceSetEtypeWhitelistReply represents VPP binary API message 'acl_interface_set_etype_whitelist_reply': +// MacipACLInterfaceAddDelReply represents VPP binary API message 'macip_acl_interface_add_del_reply': // -// "acl_interface_set_etype_whitelist_reply", +// "macip_acl_interface_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -1606,23 +1539,23 @@ func (*ACLInterfaceSetEtypeWhitelist) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type ACLInterfaceSetEtypeWhitelistReply struct { +type MacipACLInterfaceAddDelReply struct { Retval int32 } -func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageName() string { - return "acl_interface_set_etype_whitelist_reply" +func (*MacipACLInterfaceAddDelReply) GetMessageName() string { + return "macip_acl_interface_add_del_reply" } -func (*ACLInterfaceSetEtypeWhitelistReply) GetCrcString() string { +func (*MacipACLInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" } -func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageType() api.MessageType { +func (*MacipACLInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLInterfaceEtypeWhitelistDump represents VPP binary API message 'acl_interface_etype_whitelist_dump': +// MacipACLInterfaceGet represents VPP binary API message 'macip_acl_interface_get': // -// "acl_interface_etype_whitelist_dump", +// "macip_acl_interface_get", // [ // "u16", // "_vl_msg_id" @@ -1635,31 +1568,65 @@ func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageType() api.MessageType { // "u32", // "context" // ], +// { +// "crc": "0x51077d14" +// } +// +type MacipACLInterfaceGet struct{} + +func (*MacipACLInterfaceGet) GetMessageName() string { + return "macip_acl_interface_get" +} +func (*MacipACLInterfaceGet) GetCrcString() string { + return "51077d14" +} +func (*MacipACLInterfaceGet) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// MacipACLInterfaceGetReply represents VPP binary API message 'macip_acl_interface_get_reply': +// +// "macip_acl_interface_get_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], // [ // "u32", -// "sw_if_index" +// "context" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "u32", +// "acls", +// 0, +// "count" // ], // { -// "crc": "0x529cb13f" +// "crc": "0xaccf9b05" // } // -type ACLInterfaceEtypeWhitelistDump struct { - SwIfIndex uint32 +type MacipACLInterfaceGetReply struct { + Count uint32 `struc:"sizeof=Acls"` + Acls []uint32 } -func (*ACLInterfaceEtypeWhitelistDump) GetMessageName() string { - return "acl_interface_etype_whitelist_dump" +func (*MacipACLInterfaceGetReply) GetMessageName() string { + return "macip_acl_interface_get_reply" } -func (*ACLInterfaceEtypeWhitelistDump) GetCrcString() string { - return "529cb13f" +func (*MacipACLInterfaceGetReply) GetCrcString() string { + return "accf9b05" } -func (*ACLInterfaceEtypeWhitelistDump) GetMessageType() api.MessageType { - return api.RequestMessage +func (*MacipACLInterfaceGetReply) GetMessageType() api.MessageType { + return api.ReplyMessage } -// ACLInterfaceEtypeWhitelistDetails represents VPP binary API message 'acl_interface_etype_whitelist_details': +// MacipACLInterfaceListDetails represents VPP binary API message 'macip_acl_interface_list_details': // -// "acl_interface_etype_whitelist_details", +// "macip_acl_interface_list_details", // [ // "u16", // "_vl_msg_id" @@ -1677,71 +1644,103 @@ func (*ACLInterfaceEtypeWhitelistDump) GetMessageType() api.MessageType { // "count" // ], // [ -// "u8", -// "n_input" -// ], -// [ -// "u16", -// "whitelist", +// "u32", +// "acls", // 0, // "count" // ], // { -// "crc": "0x6a5d4e81" +// "crc": "0x29783fa0" // } // -type ACLInterfaceEtypeWhitelistDetails struct { +type MacipACLInterfaceListDetails struct { SwIfIndex uint32 - Count uint8 `struc:"sizeof=Whitelist"` - NInput uint8 - Whitelist []uint16 + Count uint8 `struc:"sizeof=Acls"` + Acls []uint32 } -func (*ACLInterfaceEtypeWhitelistDetails) GetMessageName() string { - return "acl_interface_etype_whitelist_details" +func (*MacipACLInterfaceListDetails) GetMessageName() string { + return "macip_acl_interface_list_details" } -func (*ACLInterfaceEtypeWhitelistDetails) GetCrcString() string { - return "6a5d4e81" +func (*MacipACLInterfaceListDetails) GetCrcString() string { + return "29783fa0" } -func (*ACLInterfaceEtypeWhitelistDetails) GetMessageType() api.MessageType { +func (*MacipACLInterfaceListDetails) GetMessageType() api.MessageType { return api.ReplyMessage } +// MacipACLInterfaceListDump represents VPP binary API message 'macip_acl_interface_list_dump': +// +// "macip_acl_interface_list_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } +// +type MacipACLInterfaceListDump struct { + SwIfIndex uint32 +} + +func (*MacipACLInterfaceListDump) GetMessageName() string { + return "macip_acl_interface_list_dump" +} +func (*MacipACLInterfaceListDump) GetCrcString() string { + return "529cb13f" +} +func (*MacipACLInterfaceListDump) GetMessageType() api.MessageType { + return api.RequestMessage +} + func init() { - api.RegisterMessage((*ACLPluginGetVersion)(nil), "acl.ACLPluginGetVersion") - api.RegisterMessage((*ACLPluginGetVersionReply)(nil), "acl.ACLPluginGetVersionReply") - api.RegisterMessage((*ACLPluginControlPing)(nil), "acl.ACLPluginControlPing") - api.RegisterMessage((*ACLPluginControlPingReply)(nil), "acl.ACLPluginControlPingReply") - api.RegisterMessage((*ACLPluginGetConnTableMaxEntries)(nil), "acl.ACLPluginGetConnTableMaxEntries") - api.RegisterMessage((*ACLPluginGetConnTableMaxEntriesReply)(nil), "acl.ACLPluginGetConnTableMaxEntriesReply") api.RegisterMessage((*ACLAddReplace)(nil), "acl.ACLAddReplace") api.RegisterMessage((*ACLAddReplaceReply)(nil), "acl.ACLAddReplaceReply") api.RegisterMessage((*ACLDel)(nil), "acl.ACLDel") api.RegisterMessage((*ACLDelReply)(nil), "acl.ACLDelReply") + api.RegisterMessage((*ACLDetails)(nil), "acl.ACLDetails") + api.RegisterMessage((*ACLDump)(nil), "acl.ACLDump") api.RegisterMessage((*ACLInterfaceAddDel)(nil), "acl.ACLInterfaceAddDel") api.RegisterMessage((*ACLInterfaceAddDelReply)(nil), "acl.ACLInterfaceAddDelReply") + api.RegisterMessage((*ACLInterfaceEtypeWhitelistDetails)(nil), "acl.ACLInterfaceEtypeWhitelistDetails") + api.RegisterMessage((*ACLInterfaceEtypeWhitelistDump)(nil), "acl.ACLInterfaceEtypeWhitelistDump") + api.RegisterMessage((*ACLInterfaceListDetails)(nil), "acl.ACLInterfaceListDetails") + api.RegisterMessage((*ACLInterfaceListDump)(nil), "acl.ACLInterfaceListDump") api.RegisterMessage((*ACLInterfaceSetACLList)(nil), "acl.ACLInterfaceSetACLList") api.RegisterMessage((*ACLInterfaceSetACLListReply)(nil), "acl.ACLInterfaceSetACLListReply") - api.RegisterMessage((*ACLDump)(nil), "acl.ACLDump") - api.RegisterMessage((*ACLDetails)(nil), "acl.ACLDetails") - api.RegisterMessage((*ACLInterfaceListDump)(nil), "acl.ACLInterfaceListDump") - api.RegisterMessage((*ACLInterfaceListDetails)(nil), "acl.ACLInterfaceListDetails") + api.RegisterMessage((*ACLInterfaceSetEtypeWhitelist)(nil), "acl.ACLInterfaceSetEtypeWhitelist") + api.RegisterMessage((*ACLInterfaceSetEtypeWhitelistReply)(nil), "acl.ACLInterfaceSetEtypeWhitelistReply") + api.RegisterMessage((*ACLPluginControlPing)(nil), "acl.ACLPluginControlPing") + api.RegisterMessage((*ACLPluginControlPingReply)(nil), "acl.ACLPluginControlPingReply") + api.RegisterMessage((*ACLPluginGetConnTableMaxEntries)(nil), "acl.ACLPluginGetConnTableMaxEntries") + api.RegisterMessage((*ACLPluginGetConnTableMaxEntriesReply)(nil), "acl.ACLPluginGetConnTableMaxEntriesReply") + api.RegisterMessage((*ACLPluginGetVersion)(nil), "acl.ACLPluginGetVersion") + api.RegisterMessage((*ACLPluginGetVersionReply)(nil), "acl.ACLPluginGetVersionReply") api.RegisterMessage((*MacipACLAdd)(nil), "acl.MacipACLAdd") - api.RegisterMessage((*MacipACLAddReply)(nil), "acl.MacipACLAddReply") api.RegisterMessage((*MacipACLAddReplace)(nil), "acl.MacipACLAddReplace") api.RegisterMessage((*MacipACLAddReplaceReply)(nil), "acl.MacipACLAddReplaceReply") + api.RegisterMessage((*MacipACLAddReply)(nil), "acl.MacipACLAddReply") api.RegisterMessage((*MacipACLDel)(nil), "acl.MacipACLDel") api.RegisterMessage((*MacipACLDelReply)(nil), "acl.MacipACLDelReply") + api.RegisterMessage((*MacipACLDetails)(nil), "acl.MacipACLDetails") + api.RegisterMessage((*MacipACLDump)(nil), "acl.MacipACLDump") api.RegisterMessage((*MacipACLInterfaceAddDel)(nil), "acl.MacipACLInterfaceAddDel") api.RegisterMessage((*MacipACLInterfaceAddDelReply)(nil), "acl.MacipACLInterfaceAddDelReply") - api.RegisterMessage((*MacipACLDump)(nil), "acl.MacipACLDump") - api.RegisterMessage((*MacipACLDetails)(nil), "acl.MacipACLDetails") api.RegisterMessage((*MacipACLInterfaceGet)(nil), "acl.MacipACLInterfaceGet") api.RegisterMessage((*MacipACLInterfaceGetReply)(nil), "acl.MacipACLInterfaceGetReply") - api.RegisterMessage((*MacipACLInterfaceListDump)(nil), "acl.MacipACLInterfaceListDump") api.RegisterMessage((*MacipACLInterfaceListDetails)(nil), "acl.MacipACLInterfaceListDetails") - api.RegisterMessage((*ACLInterfaceSetEtypeWhitelist)(nil), "acl.ACLInterfaceSetEtypeWhitelist") - api.RegisterMessage((*ACLInterfaceSetEtypeWhitelistReply)(nil), "acl.ACLInterfaceSetEtypeWhitelistReply") - api.RegisterMessage((*ACLInterfaceEtypeWhitelistDump)(nil), "acl.ACLInterfaceEtypeWhitelistDump") - api.RegisterMessage((*ACLInterfaceEtypeWhitelistDetails)(nil), "acl.ACLInterfaceEtypeWhitelistDetails") + api.RegisterMessage((*MacipACLInterfaceListDump)(nil), "acl.MacipACLInterfaceListDump") } diff --git a/examples/bin_api/af_packet/af_packet.ba.go b/examples/bin_api/af_packet/af_packet.ba.go index 93d5e58..668c95a 100644 --- a/examples/bin_api/af_packet/af_packet.ba.go +++ b/examples/bin_api/af_packet/af_packet.ba.go @@ -5,9 +5,8 @@ Package af_packet is a generated from VPP binary API module 'af_packet'. It contains following objects: - 8 messages 4 services - + 8 messages */ package af_packet @@ -205,84 +204,79 @@ func (*AfPacketDeleteReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// AfPacketSetL4CksumOffload represents VPP binary API message 'af_packet_set_l4_cksum_offload': +// AfPacketDetails represents VPP binary API message 'af_packet_details': // -// "af_packet_set_l4_cksum_offload", +// "af_packet_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", // "context" // ], // [ -// "u8", +// "u32", // "sw_if_index" // ], // [ // "u8", -// "set" +// "host_if_name", +// 64 // ], // { -// "crc": "0x86538585" +// "crc": "0x057205fa" // } // -type AfPacketSetL4CksumOffload struct { - SwIfIndex uint8 - Set uint8 +type AfPacketDetails struct { + SwIfIndex uint32 + HostIfName []byte `struc:"[64]byte"` } -func (*AfPacketSetL4CksumOffload) GetMessageName() string { - return "af_packet_set_l4_cksum_offload" +func (*AfPacketDetails) GetMessageName() string { + return "af_packet_details" } -func (*AfPacketSetL4CksumOffload) GetCrcString() string { - return "86538585" +func (*AfPacketDetails) GetCrcString() string { + return "057205fa" } -func (*AfPacketSetL4CksumOffload) GetMessageType() api.MessageType { - return api.RequestMessage +func (*AfPacketDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// AfPacketSetL4CksumOffloadReply represents VPP binary API message 'af_packet_set_l4_cksum_offload_reply': +// AfPacketDump represents VPP binary API message 'af_packet_dump': // -// "af_packet_set_l4_cksum_offload_reply", +// "af_packet_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" +// "client_index" // ], // [ -// "i32", -// "retval" +// "u32", +// "context" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x51077d14" // } // -type AfPacketSetL4CksumOffloadReply struct { - Retval int32 -} +type AfPacketDump struct{} -func (*AfPacketSetL4CksumOffloadReply) GetMessageName() string { - return "af_packet_set_l4_cksum_offload_reply" +func (*AfPacketDump) GetMessageName() string { + return "af_packet_dump" } -func (*AfPacketSetL4CksumOffloadReply) GetCrcString() string { - return "e8d4e804" +func (*AfPacketDump) GetCrcString() string { + return "51077d14" } -func (*AfPacketSetL4CksumOffloadReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*AfPacketDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// AfPacketDump represents VPP binary API message 'af_packet_dump': +// AfPacketSetL4CksumOffload represents VPP binary API message 'af_packet_set_l4_cksum_offload': // -// "af_packet_dump", +// "af_packet_set_l4_cksum_offload", // [ // "u16", // "_vl_msg_id" @@ -295,25 +289,36 @@ func (*AfPacketSetL4CksumOffloadReply) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u8", +// "sw_if_index" +// ], +// [ +// "u8", +// "set" +// ], // { -// "crc": "0x51077d14" +// "crc": "0x86538585" // } // -type AfPacketDump struct{} +type AfPacketSetL4CksumOffload struct { + SwIfIndex uint8 + Set uint8 +} -func (*AfPacketDump) GetMessageName() string { - return "af_packet_dump" +func (*AfPacketSetL4CksumOffload) GetMessageName() string { + return "af_packet_set_l4_cksum_offload" } -func (*AfPacketDump) GetCrcString() string { - return "51077d14" +func (*AfPacketSetL4CksumOffload) GetCrcString() string { + return "86538585" } -func (*AfPacketDump) GetMessageType() api.MessageType { +func (*AfPacketSetL4CksumOffload) GetMessageType() api.MessageType { return api.RequestMessage } -// AfPacketDetails represents VPP binary API message 'af_packet_details': +// AfPacketSetL4CksumOffloadReply represents VPP binary API message 'af_packet_set_l4_cksum_offload_reply': // -// "af_packet_details", +// "af_packet_set_l4_cksum_offload_reply", // [ // "u16", // "_vl_msg_id" @@ -323,30 +328,24 @@ func (*AfPacketDump) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "host_if_name", -// 64 +// "i32", +// "retval" // ], // { -// "crc": "0x057205fa" +// "crc": "0xe8d4e804" // } // -type AfPacketDetails struct { - SwIfIndex uint32 - HostIfName []byte `struc:"[64]byte"` +type AfPacketSetL4CksumOffloadReply struct { + Retval int32 } -func (*AfPacketDetails) GetMessageName() string { - return "af_packet_details" +func (*AfPacketSetL4CksumOffloadReply) GetMessageName() string { + return "af_packet_set_l4_cksum_offload_reply" } -func (*AfPacketDetails) GetCrcString() string { - return "057205fa" +func (*AfPacketSetL4CksumOffloadReply) GetCrcString() string { + return "e8d4e804" } -func (*AfPacketDetails) GetMessageType() api.MessageType { +func (*AfPacketSetL4CksumOffloadReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -355,8 +354,8 @@ func init() { api.RegisterMessage((*AfPacketCreateReply)(nil), "af_packet.AfPacketCreateReply") api.RegisterMessage((*AfPacketDelete)(nil), "af_packet.AfPacketDelete") api.RegisterMessage((*AfPacketDeleteReply)(nil), "af_packet.AfPacketDeleteReply") + api.RegisterMessage((*AfPacketDetails)(nil), "af_packet.AfPacketDetails") + api.RegisterMessage((*AfPacketDump)(nil), "af_packet.AfPacketDump") api.RegisterMessage((*AfPacketSetL4CksumOffload)(nil), "af_packet.AfPacketSetL4CksumOffload") api.RegisterMessage((*AfPacketSetL4CksumOffloadReply)(nil), "af_packet.AfPacketSetL4CksumOffloadReply") - api.RegisterMessage((*AfPacketDump)(nil), "af_packet.AfPacketDump") - api.RegisterMessage((*AfPacketDetails)(nil), "af_packet.AfPacketDetails") } diff --git a/examples/bin_api/interfaces/interfaces.ba.go b/examples/bin_api/interfaces/interfaces.ba.go index 2e90fbf..2f9b943 100644 --- a/examples/bin_api/interfaces/interfaces.ba.go +++ b/examples/bin_api/interfaces/interfaces.ba.go @@ -5,10 +5,9 @@ Package interfaces is a generated from VPP binary API module 'interface'. It contains following objects: - 51 messages - 1 alias 25 services - + 1 alias + 51 messages */ package interfaces @@ -146,9 +145,9 @@ type InterfaceIndex uint32 /* Messages */ -// SwInterfaceSetFlags represents VPP binary API message 'sw_interface_set_flags': +// CollectDetailedInterfaceStats represents VPP binary API message 'collect_detailed_interface_stats': // -// "sw_interface_set_flags", +// "collect_detailed_interface_stats", // [ // "u16", // "_vl_msg_id" @@ -167,30 +166,30 @@ type InterfaceIndex uint32 // ], // [ // "u8", -// "admin_up_down" +// "enable_disable" // ], // { -// "crc": "0x555485f5" +// "crc": "0x69d24598" // } // -type SwInterfaceSetFlags struct { - SwIfIndex uint32 - AdminUpDown uint8 +type CollectDetailedInterfaceStats struct { + SwIfIndex uint32 + EnableDisable uint8 } -func (*SwInterfaceSetFlags) GetMessageName() string { - return "sw_interface_set_flags" +func (*CollectDetailedInterfaceStats) GetMessageName() string { + return "collect_detailed_interface_stats" } -func (*SwInterfaceSetFlags) GetCrcString() string { - return "555485f5" +func (*CollectDetailedInterfaceStats) GetCrcString() string { + return "69d24598" } -func (*SwInterfaceSetFlags) GetMessageType() api.MessageType { +func (*CollectDetailedInterfaceStats) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetFlagsReply represents VPP binary API message 'sw_interface_set_flags_reply': +// CollectDetailedInterfaceStatsReply represents VPP binary API message 'collect_detailed_interface_stats_reply': // -// "sw_interface_set_flags_reply", +// "collect_detailed_interface_stats_reply", // [ // "u16", // "_vl_msg_id" @@ -207,23 +206,23 @@ func (*SwInterfaceSetFlags) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type SwInterfaceSetFlagsReply struct { +type CollectDetailedInterfaceStatsReply struct { Retval int32 } -func (*SwInterfaceSetFlagsReply) GetMessageName() string { - return "sw_interface_set_flags_reply" +func (*CollectDetailedInterfaceStatsReply) GetMessageName() string { + return "collect_detailed_interface_stats_reply" } -func (*SwInterfaceSetFlagsReply) GetCrcString() string { +func (*CollectDetailedInterfaceStatsReply) GetCrcString() string { return "e8d4e804" } -func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType { +func (*CollectDetailedInterfaceStatsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// HwInterfaceSetMtu represents VPP binary API message 'hw_interface_set_mtu': +// CreateLoopback represents VPP binary API message 'create_loopback': // -// "hw_interface_set_mtu", +// "create_loopback", // [ // "u16", // "_vl_msg_id" @@ -237,111 +236,117 @@ func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u16", -// "mtu" +// "u8", +// "mac_address", +// 6 // ], // { -// "crc": "0x132da1e7" +// "crc": "0x3b54129c" // } // -type HwInterfaceSetMtu struct { - SwIfIndex uint32 - Mtu uint16 +type CreateLoopback struct { + MacAddress []byte `struc:"[6]byte"` } -func (*HwInterfaceSetMtu) GetMessageName() string { - return "hw_interface_set_mtu" +func (*CreateLoopback) GetMessageName() string { + return "create_loopback" } -func (*HwInterfaceSetMtu) GetCrcString() string { - return "132da1e7" +func (*CreateLoopback) GetCrcString() string { + return "3b54129c" } -func (*HwInterfaceSetMtu) GetMessageType() api.MessageType { +func (*CreateLoopback) GetMessageType() api.MessageType { return api.RequestMessage } -// HwInterfaceSetMtuReply represents VPP binary API message 'hw_interface_set_mtu_reply': +// CreateLoopbackInstance represents VPP binary API message 'create_loopback_instance': // -// "hw_interface_set_mtu_reply", +// "create_loopback_instance", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ -// "i32", -// "retval" +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "is_specified" +// ], +// [ +// "u32", +// "user_instance" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x7bbd53b6" // } // -type HwInterfaceSetMtuReply struct { - Retval int32 +type CreateLoopbackInstance struct { + MacAddress []byte `struc:"[6]byte"` + IsSpecified uint8 + UserInstance uint32 } -func (*HwInterfaceSetMtuReply) GetMessageName() string { - return "hw_interface_set_mtu_reply" +func (*CreateLoopbackInstance) GetMessageName() string { + return "create_loopback_instance" } -func (*HwInterfaceSetMtuReply) GetCrcString() string { - return "e8d4e804" +func (*CreateLoopbackInstance) GetCrcString() string { + return "7bbd53b6" } -func (*HwInterfaceSetMtuReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*CreateLoopbackInstance) GetMessageType() api.MessageType { + return api.RequestMessage } -// SwInterfaceSetMtu represents VPP binary API message 'sw_interface_set_mtu': +// CreateLoopbackInstanceReply represents VPP binary API message 'create_loopback_instance_reply': // -// "sw_interface_set_mtu", +// "create_loopback_instance_reply", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", // "context" // ], // [ -// "u32", -// "sw_if_index" +// "i32", +// "retval" // ], // [ // "u32", -// "mtu", -// 4 +// "sw_if_index" // ], // { -// "crc": "0xd0008db8" +// "crc": "0xfda5941f" // } // -type SwInterfaceSetMtu struct { +type CreateLoopbackInstanceReply struct { + Retval int32 SwIfIndex uint32 - Mtu []uint32 `struc:"[4]uint32"` } -func (*SwInterfaceSetMtu) GetMessageName() string { - return "sw_interface_set_mtu" +func (*CreateLoopbackInstanceReply) GetMessageName() string { + return "create_loopback_instance_reply" } -func (*SwInterfaceSetMtu) GetCrcString() string { - return "d0008db8" +func (*CreateLoopbackInstanceReply) GetCrcString() string { + return "fda5941f" } -func (*SwInterfaceSetMtu) GetMessageType() api.MessageType { - return api.RequestMessage +func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType { + return api.ReplyMessage } -// SwInterfaceSetMtuReply represents VPP binary API message 'sw_interface_set_mtu_reply': +// CreateLoopbackReply represents VPP binary API message 'create_loopback_reply': // -// "sw_interface_set_mtu_reply", +// "create_loopback_reply", // [ // "u16", // "_vl_msg_id" @@ -354,27 +359,32 @@ func (*SwInterfaceSetMtu) GetMessageType() api.MessageType { // "i32", // "retval" // ], +// [ +// "u32", +// "sw_if_index" +// ], // { -// "crc": "0xe8d4e804" +// "crc": "0xfda5941f" // } // -type SwInterfaceSetMtuReply struct { - Retval int32 +type CreateLoopbackReply struct { + Retval int32 + SwIfIndex uint32 } -func (*SwInterfaceSetMtuReply) GetMessageName() string { - return "sw_interface_set_mtu_reply" +func (*CreateLoopbackReply) GetMessageName() string { + return "create_loopback_reply" } -func (*SwInterfaceSetMtuReply) GetCrcString() string { - return "e8d4e804" +func (*CreateLoopbackReply) GetCrcString() string { + return "fda5941f" } -func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType { +func (*CreateLoopbackReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetIPDirectedBroadcast represents VPP binary API message 'sw_interface_set_ip_directed_broadcast': +// CreateSubif represents VPP binary API message 'create_subif': // -// "sw_interface_set_ip_directed_broadcast", +// "create_subif", // [ // "u16", // "_vl_msg_id" @@ -392,31 +402,81 @@ func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType { // "sw_if_index" // ], // [ +// "u32", +// "sub_id" +// ], +// [ // "u8", -// "enable" +// "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": "0xa36fadc0" +// "crc": "0x86cfe408" // } // -type SwInterfaceSetIPDirectedBroadcast struct { - SwIfIndex uint32 - Enable uint8 +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 (*SwInterfaceSetIPDirectedBroadcast) GetMessageName() string { - return "sw_interface_set_ip_directed_broadcast" +func (*CreateSubif) GetMessageName() string { + return "create_subif" } -func (*SwInterfaceSetIPDirectedBroadcast) GetCrcString() string { - return "a36fadc0" +func (*CreateSubif) GetCrcString() string { + return "86cfe408" } -func (*SwInterfaceSetIPDirectedBroadcast) GetMessageType() api.MessageType { +func (*CreateSubif) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetIPDirectedBroadcastReply represents VPP binary API message 'sw_interface_set_ip_directed_broadcast_reply': +// CreateSubifReply represents VPP binary API message 'create_subif_reply': // -// "sw_interface_set_ip_directed_broadcast_reply", +// "create_subif_reply", // [ // "u16", // "_vl_msg_id" @@ -429,27 +489,32 @@ func (*SwInterfaceSetIPDirectedBroadcast) GetMessageType() api.MessageType { // "i32", // "retval" // ], +// [ +// "u32", +// "sw_if_index" +// ], // { -// "crc": "0xe8d4e804" +// "crc": "0xfda5941f" // } // -type SwInterfaceSetIPDirectedBroadcastReply struct { - Retval int32 +type CreateSubifReply struct { + Retval int32 + SwIfIndex uint32 } -func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageName() string { - return "sw_interface_set_ip_directed_broadcast_reply" +func (*CreateSubifReply) GetMessageName() string { + return "create_subif_reply" } -func (*SwInterfaceSetIPDirectedBroadcastReply) GetCrcString() string { - return "e8d4e804" +func (*CreateSubifReply) GetCrcString() string { + return "fda5941f" } -func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageType() api.MessageType { +func (*CreateSubifReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceEvent represents VPP binary API message 'sw_interface_event': +// CreateVlanSubif represents VPP binary API message 'create_vlan_subif': // -// "sw_interface_event", +// "create_vlan_subif", // [ // "u16", // "_vl_msg_id" @@ -460,49 +525,76 @@ func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageType() api.MessageType // ], // [ // "u32", -// "pid" +// "context" // ], // [ // "u32", // "sw_if_index" // ], // [ -// "u8", -// "admin_up_down" +// "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 +} + +// CreateVlanSubifReply represents VPP binary API message 'create_vlan_subif_reply': +// +// "create_vlan_subif_reply", +// [ +// "u16", +// "_vl_msg_id" // ], // [ -// "u8", -// "link_up_down" +// "u32", +// "context" // ], // [ -// "u8", -// "deleted" +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" // ], // { -// "crc": "0xbf9938e4" +// "crc": "0xfda5941f" // } // -type SwInterfaceEvent struct { - PID uint32 - SwIfIndex uint32 - AdminUpDown uint8 - LinkUpDown uint8 - Deleted uint8 +type CreateVlanSubifReply struct { + Retval int32 + SwIfIndex uint32 } -func (*SwInterfaceEvent) GetMessageName() string { - return "sw_interface_event" +func (*CreateVlanSubifReply) GetMessageName() string { + return "create_vlan_subif_reply" } -func (*SwInterfaceEvent) GetCrcString() string { - return "bf9938e4" +func (*CreateVlanSubifReply) GetCrcString() string { + return "fda5941f" } -func (*SwInterfaceEvent) GetMessageType() api.MessageType { - return api.EventMessage +func (*CreateVlanSubifReply) GetMessageType() api.MessageType { + return api.ReplyMessage } -// WantInterfaceEvents represents VPP binary API message 'want_interface_events': +// DeleteLoopback represents VPP binary API message 'delete_loopback': // -// "want_interface_events", +// "delete_loopback", // [ // "u16", // "_vl_msg_id" @@ -517,34 +609,29 @@ func (*SwInterfaceEvent) GetMessageType() api.MessageType { // ], // [ // "u32", -// "enable_disable" -// ], -// [ -// "u32", -// "pid" +// "sw_if_index" // ], // { -// "crc": "0x476f5a08" +// "crc": "0x529cb13f" // } // -type WantInterfaceEvents struct { - EnableDisable uint32 - PID uint32 +type DeleteLoopback struct { + SwIfIndex uint32 } -func (*WantInterfaceEvents) GetMessageName() string { - return "want_interface_events" +func (*DeleteLoopback) GetMessageName() string { + return "delete_loopback" } -func (*WantInterfaceEvents) GetCrcString() string { - return "476f5a08" +func (*DeleteLoopback) GetCrcString() string { + return "529cb13f" } -func (*WantInterfaceEvents) GetMessageType() api.MessageType { +func (*DeleteLoopback) GetMessageType() api.MessageType { return api.RequestMessage } -// WantInterfaceEventsReply represents VPP binary API message 'want_interface_events_reply': +// DeleteLoopbackReply represents VPP binary API message 'delete_loopback_reply': // -// "want_interface_events_reply", +// "delete_loopback_reply", // [ // "u16", // "_vl_msg_id" @@ -561,250 +648,238 @@ func (*WantInterfaceEvents) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type WantInterfaceEventsReply struct { +type DeleteLoopbackReply struct { Retval int32 } -func (*WantInterfaceEventsReply) GetMessageName() string { - return "want_interface_events_reply" +func (*DeleteLoopbackReply) GetMessageName() string { + return "delete_loopback_reply" } -func (*WantInterfaceEventsReply) GetCrcString() string { +func (*DeleteLoopbackReply) GetCrcString() string { return "e8d4e804" } -func (*WantInterfaceEventsReply) GetMessageType() api.MessageType { +func (*DeleteLoopbackReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceDetails represents VPP binary API message 'sw_interface_details': +// DeleteSubif represents VPP binary API message 'delete_subif': // -// "sw_interface_details", +// "delete_subif", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" +// "client_index" // ], // [ // "u32", -// "sup_sw_if_index" +// "context" // ], // [ // "u32", -// "l2_address_length" -// ], -// [ -// "u8", -// "l2_address", -// 8 -// ], -// [ -// "u8", -// "interface_name", -// 64 -// ], -// [ -// "u8", -// "admin_up_down" +// "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 +} + +// DeleteSubifReply represents VPP binary API message 'delete_subif_reply': +// +// "delete_subif_reply", // [ -// "u8", -// "link_up_down" +// "u16", +// "_vl_msg_id" // ], // [ -// "u8", -// "link_duplex" +// "u32", +// "context" // ], // [ -// "u32", -// "link_speed" +// "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 +} + +// HwInterfaceSetMtu represents VPP binary API message 'hw_interface_set_mtu': +// +// "hw_interface_set_mtu", // [ // "u16", -// "link_mtu" +// "_vl_msg_id" // ], // [ // "u32", -// "mtu", -// 4 +// "client_index" // ], // [ // "u32", -// "sub_id" -// ], -// [ -// "u8", -// "sub_dot1ad" +// "context" // ], // [ -// "u8", -// "sub_dot1ah" +// "u32", +// "sw_if_index" // ], // [ -// "u8", -// "sub_number_of_tags" +// "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 +} + +// HwInterfaceSetMtuReply represents VPP binary API message 'hw_interface_set_mtu_reply': +// +// "hw_interface_set_mtu_reply", // [ // "u16", -// "sub_outer_vlan_id" +// "_vl_msg_id" // ], // [ -// "u16", -// "sub_inner_vlan_id" +// "u32", +// "context" // ], // [ -// "u8", -// "sub_exact_match" -// ], -// [ -// "u8", -// "sub_default" -// ], -// [ -// "u8", -// "sub_outer_vlan_id_any" -// ], -// [ -// "u8", -// "sub_inner_vlan_id_any" +// "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 +} + +// InterfaceNameRenumber represents VPP binary API message 'interface_name_renumber': +// +// "interface_name_renumber", // [ -// "u32", -// "vtr_op" +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "vtr_push_dot1q" +// "client_index" // ], // [ // "u32", -// "vtr_tag1" +// "context" // ], // [ // "u32", -// "vtr_tag2" -// ], -// [ -// "u8", -// "tag", -// 64 -// ], -// [ -// "u16", -// "outer_tag" -// ], -// [ -// "u8", -// "b_dmac", -// 6 -// ], -// [ -// "u8", -// "b_smac", -// 6 -// ], -// [ -// "u16", -// "b_vlanid" +// "sw_if_index" // ], // [ // "u32", -// "i_sid" +// "new_show_dev_instance" // ], // { -// "crc": "0xe4ee7eb6" +// "crc": "0x39194269" // } // -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 uint32 - 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 +type InterfaceNameRenumber struct { + SwIfIndex uint32 + NewShowDevInstance uint32 } -func (*SwInterfaceDetails) GetMessageName() string { - return "sw_interface_details" +func (*InterfaceNameRenumber) GetMessageName() string { + return "interface_name_renumber" } -func (*SwInterfaceDetails) GetCrcString() string { - return "e4ee7eb6" +func (*InterfaceNameRenumber) GetCrcString() string { + return "39194269" } -func (*SwInterfaceDetails) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*InterfaceNameRenumber) GetMessageType() api.MessageType { + return api.RequestMessage } -// SwInterfaceDump represents VPP binary API message 'sw_interface_dump': +// InterfaceNameRenumberReply represents VPP binary API message 'interface_name_renumber_reply': // -// "sw_interface_dump", +// "interface_name_renumber_reply", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", // "context" // ], // [ -// "u8", -// "name_filter_valid" -// ], -// [ -// "u8", -// "name_filter", -// 49 +// "i32", +// "retval" // ], // { -// "crc": "0x63f5e3b7" +// "crc": "0xe8d4e804" // } // -type SwInterfaceDump struct { - NameFilterValid uint8 - NameFilter []byte `struc:"[49]byte"` +type InterfaceNameRenumberReply struct { + Retval int32 } -func (*SwInterfaceDump) GetMessageName() string { - return "sw_interface_dump" +func (*InterfaceNameRenumberReply) GetMessageName() string { + return "interface_name_renumber_reply" } -func (*SwInterfaceDump) GetCrcString() string { - return "63f5e3b7" +func (*InterfaceNameRenumberReply) GetCrcString() string { + return "e8d4e804" } -func (*SwInterfaceDump) GetMessageType() api.MessageType { - return api.RequestMessage +func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType { + return api.ReplyMessage } // SwInterfaceAddDelAddress represents VPP binary API message 'sw_interface_add_del_address': @@ -903,9 +978,9 @@ func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetTable represents VPP binary API message 'sw_interface_set_table': +// SwInterfaceClearStats represents VPP binary API message 'sw_interface_clear_stats': // -// "sw_interface_set_table", +// "sw_interface_clear_stats", // [ // "u16", // "_vl_msg_id" @@ -922,37 +997,27 @@ func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType { // "u32", // "sw_if_index" // ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u32", -// "vrf_id" -// ], // { -// "crc": "0xacb25d89" +// "crc": "0x529cb13f" // } // -type SwInterfaceSetTable struct { +type SwInterfaceClearStats struct { SwIfIndex uint32 - IsIPv6 uint8 - VrfID uint32 } -func (*SwInterfaceSetTable) GetMessageName() string { - return "sw_interface_set_table" +func (*SwInterfaceClearStats) GetMessageName() string { + return "sw_interface_clear_stats" } -func (*SwInterfaceSetTable) GetCrcString() string { - return "acb25d89" +func (*SwInterfaceClearStats) GetCrcString() string { + return "529cb13f" } -func (*SwInterfaceSetTable) GetMessageType() api.MessageType { +func (*SwInterfaceClearStats) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetTableReply represents VPP binary API message 'sw_interface_set_table_reply': +// SwInterfaceClearStatsReply represents VPP binary API message 'sw_interface_clear_stats_reply': // -// "sw_interface_set_table_reply", +// "sw_interface_clear_stats_reply", // [ // "u16", // "_vl_msg_id" @@ -969,334 +1034,212 @@ func (*SwInterfaceSetTable) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type SwInterfaceSetTableReply struct { +type SwInterfaceClearStatsReply struct { Retval int32 } -func (*SwInterfaceSetTableReply) GetMessageName() string { - return "sw_interface_set_table_reply" +func (*SwInterfaceClearStatsReply) GetMessageName() string { + return "sw_interface_clear_stats_reply" } -func (*SwInterfaceSetTableReply) GetCrcString() string { +func (*SwInterfaceClearStatsReply) GetCrcString() string { return "e8d4e804" } -func (*SwInterfaceSetTableReply) GetMessageType() api.MessageType { +func (*SwInterfaceClearStatsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceGetTable represents VPP binary API message 'sw_interface_get_table': +// SwInterfaceDetails represents VPP binary API message 'sw_interface_details': // -// "sw_interface_get_table", +// "sw_interface_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ // "u32", -// "context" +// "sw_if_index" // ], // [ // "u32", -// "sw_if_index" +// "sup_sw_if_index" +// ], +// [ +// "u32", +// "l2_address_length" // ], // [ // "u8", -// "is_ipv6" +// "l2_address", +// 8 // ], -// { -// "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 -} - -// SwInterfaceGetTableReply represents VPP binary API message 'sw_interface_get_table_reply': -// -// "sw_interface_get_table_reply", // [ -// "u16", -// "_vl_msg_id" +// "u8", +// "interface_name", +// 64 // ], // [ -// "u32", -// "context" +// "u8", +// "admin_up_down" // ], // [ -// "i32", -// "retval" +// "u8", +// "link_up_down" // ], // [ -// "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 -} - -// SwInterfaceSetUnnumbered represents VPP binary API message 'sw_interface_set_unnumbered': -// -// "sw_interface_set_unnumbered", -// [ -// "u16", -// "_vl_msg_id" +// "u8", +// "link_duplex" // ], // [ // "u32", -// "client_index" +// "link_speed" // ], // [ -// "u32", -// "context" +// "u16", +// "link_mtu" // ], // [ // "u32", -// "sw_if_index" +// "mtu", +// 4 // ], // [ // "u32", -// "unnumbered_sw_if_index" +// "sub_id" // ], // [ // "u8", -// "is_add" +// "sub_dot1ad" // ], -// { -// "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 -} - -// SwInterfaceSetUnnumberedReply represents VPP binary API message 'sw_interface_set_unnumbered_reply': -// -// "sw_interface_set_unnumbered_reply", // [ -// "u16", -// "_vl_msg_id" +// "u8", +// "sub_dot1ah" // ], // [ -// "u32", -// "context" +// "u8", +// "sub_number_of_tags" // ], // [ -// "i32", -// "retval" +// "u16", +// "sub_outer_vlan_id" // ], -// { -// "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 -} - -// SwInterfaceClearStats represents VPP binary API message 'sw_interface_clear_stats': -// -// "sw_interface_clear_stats", // [ // "u16", -// "_vl_msg_id" +// "sub_inner_vlan_id" // ], // [ -// "u32", -// "client_index" +// "u8", +// "sub_exact_match" // ], // [ -// "u32", -// "context" +// "u8", +// "sub_default" // ], // [ -// "u32", -// "sw_if_index" +// "u8", +// "sub_outer_vlan_id_any" // ], -// { -// "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 -} - -// SwInterfaceClearStatsReply represents VPP binary API message 'sw_interface_clear_stats_reply': -// -// "sw_interface_clear_stats_reply", // [ -// "u16", -// "_vl_msg_id" +// "u8", +// "sub_inner_vlan_id_any" // ], // [ // "u32", -// "context" +// "vtr_op" // ], // [ -// "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 -} - -// SwInterfaceTagAddDel represents VPP binary API message 'sw_interface_tag_add_del': -// -// "sw_interface_tag_add_del", -// [ -// "u16", -// "_vl_msg_id" +// "u32", +// "vtr_push_dot1q" // ], // [ // "u32", -// "client_index" +// "vtr_tag1" // ], // [ // "u32", -// "context" +// "vtr_tag2" // ], // [ // "u8", -// "is_add" +// "tag", +// 64 // ], // [ -// "u32", -// "sw_if_index" +// "u16", +// "outer_tag" // ], // [ // "u8", -// "tag", -// 64 +// "b_dmac", +// 6 // ], -// { -// "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 -} - -// SwInterfaceTagAddDelReply represents VPP binary API message 'sw_interface_tag_add_del_reply': -// -// "sw_interface_tag_add_del_reply", // [ -// "u16", -// "_vl_msg_id" +// "u8", +// "b_smac", +// 6 // ], // [ -// "u32", -// "context" +// "u16", +// "b_vlanid" // ], // [ -// "i32", -// "retval" +// "u32", +// "i_sid" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0xe4ee7eb6" // } // -type SwInterfaceTagAddDelReply struct { - Retval int32 +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 uint32 + 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 (*SwInterfaceTagAddDelReply) GetMessageName() string { - return "sw_interface_tag_add_del_reply" +func (*SwInterfaceDetails) GetMessageName() string { + return "sw_interface_details" } -func (*SwInterfaceTagAddDelReply) GetCrcString() string { - return "e8d4e804" +func (*SwInterfaceDetails) GetCrcString() string { + return "e4ee7eb6" } -func (*SwInterfaceTagAddDelReply) GetMessageType() api.MessageType { +func (*SwInterfaceDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetMacAddress represents VPP binary API message 'sw_interface_set_mac_address': +// SwInterfaceDump represents VPP binary API message 'sw_interface_dump': // -// "sw_interface_set_mac_address", +// "sw_interface_dump", // [ // "u16", // "_vl_msg_id" @@ -1310,64 +1253,84 @@ func (*SwInterfaceTagAddDelReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" +// "u8", +// "name_filter_valid" // ], // [ // "u8", -// "mac_address", -// 6 +// "name_filter", +// 49 // ], // { -// "crc": "0xeed5dfca" +// "crc": "0x63f5e3b7" // } // -type SwInterfaceSetMacAddress struct { - SwIfIndex uint32 - MacAddress []byte `struc:"[6]byte"` +type SwInterfaceDump struct { + NameFilterValid uint8 + NameFilter []byte `struc:"[49]byte"` } -func (*SwInterfaceSetMacAddress) GetMessageName() string { - return "sw_interface_set_mac_address" +func (*SwInterfaceDump) GetMessageName() string { + return "sw_interface_dump" } -func (*SwInterfaceSetMacAddress) GetCrcString() string { - return "eed5dfca" +func (*SwInterfaceDump) GetCrcString() string { + return "63f5e3b7" } -func (*SwInterfaceSetMacAddress) GetMessageType() api.MessageType { +func (*SwInterfaceDump) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetMacAddressReply represents VPP binary API message 'sw_interface_set_mac_address_reply': +// SwInterfaceEvent represents VPP binary API message 'sw_interface_event': // -// "sw_interface_set_mac_address_reply", +// "sw_interface_event", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" +// "client_index" // ], // [ -// "i32", -// "retval" +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "admin_up_down" +// ], +// [ +// "u8", +// "link_up_down" +// ], +// [ +// "u8", +// "deleted" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0xbf9938e4" // } // -type SwInterfaceSetMacAddressReply struct { - Retval int32 +type SwInterfaceEvent struct { + PID uint32 + SwIfIndex uint32 + AdminUpDown uint8 + LinkUpDown uint8 + Deleted uint8 } -func (*SwInterfaceSetMacAddressReply) GetMessageName() string { - return "sw_interface_set_mac_address_reply" +func (*SwInterfaceEvent) GetMessageName() string { + return "sw_interface_event" } -func (*SwInterfaceSetMacAddressReply) GetCrcString() string { - return "e8d4e804" +func (*SwInterfaceEvent) GetCrcString() string { + return "bf9938e4" } -func (*SwInterfaceSetMacAddressReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*SwInterfaceEvent) GetMessageType() api.MessageType { + return api.EventMessage } // SwInterfaceGetMacAddress represents VPP binary API message 'sw_interface_get_mac_address': @@ -1446,9 +1409,9 @@ func (*SwInterfaceGetMacAddressReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetRxMode represents VPP binary API message 'sw_interface_set_rx_mode': +// SwInterfaceGetTable represents VPP binary API message 'sw_interface_get_table': // -// "sw_interface_set_rx_mode", +// "sw_interface_get_table", // [ // "u16", // "_vl_msg_id" @@ -1467,40 +1430,30 @@ func (*SwInterfaceGetMacAddressReply) GetMessageType() api.MessageType { // ], // [ // "u8", -// "queue_id_valid" -// ], -// [ -// "u32", -// "queue_id" -// ], -// [ -// "u8", -// "mode" +// "is_ipv6" // ], // { -// "crc": "0x2a1cc58c" +// "crc": "0x6b7bcd0a" // } // -type SwInterfaceSetRxMode struct { - SwIfIndex uint32 - QueueIDValid uint8 - QueueID uint32 - Mode uint8 +type SwInterfaceGetTable struct { + SwIfIndex uint32 + IsIPv6 uint8 } -func (*SwInterfaceSetRxMode) GetMessageName() string { - return "sw_interface_set_rx_mode" +func (*SwInterfaceGetTable) GetMessageName() string { + return "sw_interface_get_table" } -func (*SwInterfaceSetRxMode) GetCrcString() string { - return "2a1cc58c" +func (*SwInterfaceGetTable) GetCrcString() string { + return "6b7bcd0a" } -func (*SwInterfaceSetRxMode) GetMessageType() api.MessageType { +func (*SwInterfaceGetTable) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetRxModeReply represents VPP binary API message 'sw_interface_set_rx_mode_reply': +// SwInterfaceGetTableReply represents VPP binary API message 'sw_interface_get_table_reply': // -// "sw_interface_set_rx_mode_reply", +// "sw_interface_get_table_reply", // [ // "u16", // "_vl_msg_id" @@ -1513,27 +1466,32 @@ func (*SwInterfaceSetRxMode) GetMessageType() api.MessageType { // "i32", // "retval" // ], +// [ +// "u32", +// "vrf_id" +// ], // { -// "crc": "0xe8d4e804" +// "crc": "0xa6eb0109" // } // -type SwInterfaceSetRxModeReply struct { +type SwInterfaceGetTableReply struct { Retval int32 + VrfID uint32 } -func (*SwInterfaceSetRxModeReply) GetMessageName() string { - return "sw_interface_set_rx_mode_reply" +func (*SwInterfaceGetTableReply) GetMessageName() string { + return "sw_interface_get_table_reply" } -func (*SwInterfaceSetRxModeReply) GetCrcString() string { - return "e8d4e804" +func (*SwInterfaceGetTableReply) GetCrcString() string { + return "a6eb0109" } -func (*SwInterfaceSetRxModeReply) GetMessageType() api.MessageType { +func (*SwInterfaceGetTableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetRxPlacement represents VPP binary API message 'sw_interface_set_rx_placement': +// SwInterfaceRxPlacementDetails represents VPP binary API message 'sw_interface_rx_placement_details': // -// "sw_interface_set_rx_placement", +// "sw_interface_rx_placement_details", // [ // "u16", // "_vl_msg_id" @@ -1560,65 +1518,69 @@ func (*SwInterfaceSetRxModeReply) GetMessageType() api.MessageType { // ], // [ // "u8", -// "is_main" +// "mode" // ], // { -// "crc": "0x4ef4377d" +// "crc": "0x0e9e33f4" // } // -type SwInterfaceSetRxPlacement struct { +type SwInterfaceRxPlacementDetails struct { SwIfIndex uint32 QueueID uint32 WorkerID uint32 - IsMain uint8 + Mode uint8 } -func (*SwInterfaceSetRxPlacement) GetMessageName() string { - return "sw_interface_set_rx_placement" +func (*SwInterfaceRxPlacementDetails) GetMessageName() string { + return "sw_interface_rx_placement_details" } -func (*SwInterfaceSetRxPlacement) GetCrcString() string { - return "4ef4377d" +func (*SwInterfaceRxPlacementDetails) GetCrcString() string { + return "0e9e33f4" } -func (*SwInterfaceSetRxPlacement) GetMessageType() api.MessageType { +func (*SwInterfaceRxPlacementDetails) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetRxPlacementReply represents VPP binary API message 'sw_interface_set_rx_placement_reply': +// SwInterfaceRxPlacementDump represents VPP binary API message 'sw_interface_rx_placement_dump': // -// "sw_interface_set_rx_placement_reply", +// "sw_interface_rx_placement_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ -// "i32", -// "retval" +// "u32", +// "sw_if_index" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x529cb13f" // } // -type SwInterfaceSetRxPlacementReply struct { - Retval int32 +type SwInterfaceRxPlacementDump struct { + SwIfIndex uint32 } -func (*SwInterfaceSetRxPlacementReply) GetMessageName() string { - return "sw_interface_set_rx_placement_reply" +func (*SwInterfaceRxPlacementDump) GetMessageName() string { + return "sw_interface_rx_placement_dump" } -func (*SwInterfaceSetRxPlacementReply) GetCrcString() string { - return "e8d4e804" +func (*SwInterfaceRxPlacementDump) GetCrcString() string { + return "529cb13f" } -func (*SwInterfaceSetRxPlacementReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*SwInterfaceRxPlacementDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// SwInterfaceRxPlacementDump represents VPP binary API message 'sw_interface_rx_placement_dump': +// SwInterfaceSetFlags represents VPP binary API message 'sw_interface_set_flags': // -// "sw_interface_rx_placement_dump", +// "sw_interface_set_flags", // [ // "u16", // "_vl_msg_id" @@ -1635,79 +1597,140 @@ func (*SwInterfaceSetRxPlacementReply) GetMessageType() api.MessageType { // "u32", // "sw_if_index" // ], +// [ +// "u8", +// "admin_up_down" +// ], // { -// "crc": "0x529cb13f" +// "crc": "0x555485f5" // } // -type SwInterfaceRxPlacementDump struct { - SwIfIndex uint32 +type SwInterfaceSetFlags struct { + SwIfIndex uint32 + AdminUpDown uint8 } -func (*SwInterfaceRxPlacementDump) GetMessageName() string { - return "sw_interface_rx_placement_dump" +func (*SwInterfaceSetFlags) GetMessageName() string { + return "sw_interface_set_flags" } -func (*SwInterfaceRxPlacementDump) GetCrcString() string { - return "529cb13f" +func (*SwInterfaceSetFlags) GetCrcString() string { + return "555485f5" } -func (*SwInterfaceRxPlacementDump) GetMessageType() api.MessageType { +func (*SwInterfaceSetFlags) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceRxPlacementDetails represents VPP binary API message 'sw_interface_rx_placement_details': +// SwInterfaceSetFlagsReply represents VPP binary API message 'sw_interface_set_flags_reply': // -// "sw_interface_rx_placement_details", +// "sw_interface_set_flags_reply", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ -// "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 +} + +// SwInterfaceSetIPDirectedBroadcast represents VPP binary API message 'sw_interface_set_ip_directed_broadcast': +// +// "sw_interface_set_ip_directed_broadcast", +// [ +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "sw_if_index" +// "client_index" // ], // [ // "u32", -// "queue_id" +// "context" // ], // [ // "u32", -// "worker_id" +// "sw_if_index" // ], // [ // "u8", -// "mode" +// "enable" // ], // { -// "crc": "0x0e9e33f4" +// "crc": "0xa36fadc0" // } // -type SwInterfaceRxPlacementDetails struct { +type SwInterfaceSetIPDirectedBroadcast struct { SwIfIndex uint32 - QueueID uint32 - WorkerID uint32 - Mode uint8 + Enable uint8 } -func (*SwInterfaceRxPlacementDetails) GetMessageName() string { - return "sw_interface_rx_placement_details" +func (*SwInterfaceSetIPDirectedBroadcast) GetMessageName() string { + return "sw_interface_set_ip_directed_broadcast" } -func (*SwInterfaceRxPlacementDetails) GetCrcString() string { - return "0e9e33f4" +func (*SwInterfaceSetIPDirectedBroadcast) GetCrcString() string { + return "a36fadc0" } -func (*SwInterfaceRxPlacementDetails) GetMessageType() api.MessageType { +func (*SwInterfaceSetIPDirectedBroadcast) GetMessageType() api.MessageType { return api.RequestMessage } -// InterfaceNameRenumber represents VPP binary API message 'interface_name_renumber': +// SwInterfaceSetIPDirectedBroadcastReply represents VPP binary API message 'sw_interface_set_ip_directed_broadcast_reply': // -// "interface_name_renumber", +// "sw_interface_set_ip_directed_broadcast_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceSetIPDirectedBroadcastReply struct { + Retval int32 +} + +func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageName() string { + return "sw_interface_set_ip_directed_broadcast_reply" +} +func (*SwInterfaceSetIPDirectedBroadcastReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// SwInterfaceSetMacAddress represents VPP binary API message 'sw_interface_set_mac_address': +// +// "sw_interface_set_mac_address", // [ // "u16", // "_vl_msg_id" @@ -1725,31 +1748,32 @@ func (*SwInterfaceRxPlacementDetails) GetMessageType() api.MessageType { // "sw_if_index" // ], // [ -// "u32", -// "new_show_dev_instance" +// "u8", +// "mac_address", +// 6 // ], // { -// "crc": "0x39194269" +// "crc": "0xeed5dfca" // } // -type InterfaceNameRenumber struct { - SwIfIndex uint32 - NewShowDevInstance uint32 +type SwInterfaceSetMacAddress struct { + SwIfIndex uint32 + MacAddress []byte `struc:"[6]byte"` } - -func (*InterfaceNameRenumber) GetMessageName() string { - return "interface_name_renumber" + +func (*SwInterfaceSetMacAddress) GetMessageName() string { + return "sw_interface_set_mac_address" } -func (*InterfaceNameRenumber) GetCrcString() string { - return "39194269" +func (*SwInterfaceSetMacAddress) GetCrcString() string { + return "eed5dfca" } -func (*InterfaceNameRenumber) GetMessageType() api.MessageType { +func (*SwInterfaceSetMacAddress) GetMessageType() api.MessageType { return api.RequestMessage } -// InterfaceNameRenumberReply represents VPP binary API message 'interface_name_renumber_reply': +// SwInterfaceSetMacAddressReply represents VPP binary API message 'sw_interface_set_mac_address_reply': // -// "interface_name_renumber_reply", +// "sw_interface_set_mac_address_reply", // [ // "u16", // "_vl_msg_id" @@ -1766,23 +1790,23 @@ func (*InterfaceNameRenumber) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type InterfaceNameRenumberReply struct { +type SwInterfaceSetMacAddressReply struct { Retval int32 } -func (*InterfaceNameRenumberReply) GetMessageName() string { - return "interface_name_renumber_reply" +func (*SwInterfaceSetMacAddressReply) GetMessageName() string { + return "sw_interface_set_mac_address_reply" } -func (*InterfaceNameRenumberReply) GetCrcString() string { +func (*SwInterfaceSetMacAddressReply) GetCrcString() string { return "e8d4e804" } -func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetMacAddressReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CreateSubif represents VPP binary API message 'create_subif': +// SwInterfaceSetMtu represents VPP binary API message 'sw_interface_set_mtu': // -// "create_subif", +// "sw_interface_set_mtu", // [ // "u16", // "_vl_msg_id" @@ -1801,80 +1825,31 @@ func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType { // ], // [ // "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" +// "mtu", +// 4 // ], // { -// "crc": "0x86cfe408" +// "crc": "0xd0008db8" // } // -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 +type SwInterfaceSetMtu struct { + SwIfIndex uint32 + Mtu []uint32 `struc:"[4]uint32"` } -func (*CreateSubif) GetMessageName() string { - return "create_subif" +func (*SwInterfaceSetMtu) GetMessageName() string { + return "sw_interface_set_mtu" } -func (*CreateSubif) GetCrcString() string { - return "86cfe408" +func (*SwInterfaceSetMtu) GetCrcString() string { + return "d0008db8" } -func (*CreateSubif) GetMessageType() api.MessageType { +func (*SwInterfaceSetMtu) GetMessageType() api.MessageType { return api.RequestMessage } -// CreateSubifReply represents VPP binary API message 'create_subif_reply': +// SwInterfaceSetMtuReply represents VPP binary API message 'sw_interface_set_mtu_reply': // -// "create_subif_reply", +// "sw_interface_set_mtu_reply", // [ // "u16", // "_vl_msg_id" @@ -1887,32 +1862,27 @@ func (*CreateSubif) GetMessageType() api.MessageType { // "i32", // "retval" // ], -// [ -// "u32", -// "sw_if_index" -// ], // { -// "crc": "0xfda5941f" +// "crc": "0xe8d4e804" // } // -type CreateSubifReply struct { - Retval int32 - SwIfIndex uint32 +type SwInterfaceSetMtuReply struct { + Retval int32 } -func (*CreateSubifReply) GetMessageName() string { - return "create_subif_reply" +func (*SwInterfaceSetMtuReply) GetMessageName() string { + return "sw_interface_set_mtu_reply" } -func (*CreateSubifReply) GetCrcString() string { - return "fda5941f" +func (*SwInterfaceSetMtuReply) GetCrcString() string { + return "e8d4e804" } -func (*CreateSubifReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CreateVlanSubif represents VPP binary API message 'create_vlan_subif': +// SwInterfaceSetRxMode represents VPP binary API message 'sw_interface_set_rx_mode': // -// "create_vlan_subif", +// "sw_interface_set_rx_mode", // [ // "u16", // "_vl_msg_id" @@ -1930,31 +1900,41 @@ func (*CreateSubifReply) GetMessageType() api.MessageType { // "sw_if_index" // ], // [ +// "u8", +// "queue_id_valid" +// ], +// [ // "u32", -// "vlan_id" +// "queue_id" +// ], +// [ +// "u8", +// "mode" // ], // { -// "crc": "0x70cadeda" +// "crc": "0x2a1cc58c" // } // -type CreateVlanSubif struct { - SwIfIndex uint32 - VlanID uint32 +type SwInterfaceSetRxMode struct { + SwIfIndex uint32 + QueueIDValid uint8 + QueueID uint32 + Mode uint8 } -func (*CreateVlanSubif) GetMessageName() string { - return "create_vlan_subif" +func (*SwInterfaceSetRxMode) GetMessageName() string { + return "sw_interface_set_rx_mode" } -func (*CreateVlanSubif) GetCrcString() string { - return "70cadeda" +func (*SwInterfaceSetRxMode) GetCrcString() string { + return "2a1cc58c" } -func (*CreateVlanSubif) GetMessageType() api.MessageType { +func (*SwInterfaceSetRxMode) GetMessageType() api.MessageType { return api.RequestMessage } -// CreateVlanSubifReply represents VPP binary API message 'create_vlan_subif_reply': +// SwInterfaceSetRxModeReply represents VPP binary API message 'sw_interface_set_rx_mode_reply': // -// "create_vlan_subif_reply", +// "sw_interface_set_rx_mode_reply", // [ // "u16", // "_vl_msg_id" @@ -1967,32 +1947,27 @@ func (*CreateVlanSubif) GetMessageType() api.MessageType { // "i32", // "retval" // ], -// [ -// "u32", -// "sw_if_index" -// ], // { -// "crc": "0xfda5941f" +// "crc": "0xe8d4e804" // } // -type CreateVlanSubifReply struct { - Retval int32 - SwIfIndex uint32 +type SwInterfaceSetRxModeReply struct { + Retval int32 } -func (*CreateVlanSubifReply) GetMessageName() string { - return "create_vlan_subif_reply" +func (*SwInterfaceSetRxModeReply) GetMessageName() string { + return "sw_interface_set_rx_mode_reply" } -func (*CreateVlanSubifReply) GetCrcString() string { - return "fda5941f" +func (*SwInterfaceSetRxModeReply) GetCrcString() string { + return "e8d4e804" } -func (*CreateVlanSubifReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetRxModeReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// DeleteSubif represents VPP binary API message 'delete_subif': +// SwInterfaceSetRxPlacement represents VPP binary API message 'sw_interface_set_rx_placement': // -// "delete_subif", +// "sw_interface_set_rx_placement", // [ // "u16", // "_vl_msg_id" @@ -2009,27 +1984,42 @@ func (*CreateVlanSubifReply) GetMessageType() api.MessageType { // "u32", // "sw_if_index" // ], +// [ +// "u32", +// "queue_id" +// ], +// [ +// "u32", +// "worker_id" +// ], +// [ +// "u8", +// "is_main" +// ], // { -// "crc": "0x529cb13f" +// "crc": "0x4ef4377d" // } // -type DeleteSubif struct { +type SwInterfaceSetRxPlacement struct { SwIfIndex uint32 + QueueID uint32 + WorkerID uint32 + IsMain uint8 } -func (*DeleteSubif) GetMessageName() string { - return "delete_subif" +func (*SwInterfaceSetRxPlacement) GetMessageName() string { + return "sw_interface_set_rx_placement" } -func (*DeleteSubif) GetCrcString() string { - return "529cb13f" +func (*SwInterfaceSetRxPlacement) GetCrcString() string { + return "4ef4377d" } -func (*DeleteSubif) GetMessageType() api.MessageType { +func (*SwInterfaceSetRxPlacement) GetMessageType() api.MessageType { return api.RequestMessage } -// DeleteSubifReply represents VPP binary API message 'delete_subif_reply': +// SwInterfaceSetRxPlacementReply represents VPP binary API message 'sw_interface_set_rx_placement_reply': // -// "delete_subif_reply", +// "sw_interface_set_rx_placement_reply", // [ // "u16", // "_vl_msg_id" @@ -2046,23 +2036,23 @@ func (*DeleteSubif) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type DeleteSubifReply struct { +type SwInterfaceSetRxPlacementReply struct { Retval int32 } -func (*DeleteSubifReply) GetMessageName() string { - return "delete_subif_reply" +func (*SwInterfaceSetRxPlacementReply) GetMessageName() string { + return "sw_interface_set_rx_placement_reply" } -func (*DeleteSubifReply) GetCrcString() string { +func (*SwInterfaceSetRxPlacementReply) GetCrcString() string { return "e8d4e804" } -func (*DeleteSubifReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetRxPlacementReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CreateLoopback represents VPP binary API message 'create_loopback': +// SwInterfaceSetTable represents VPP binary API message 'sw_interface_set_table': // -// "create_loopback", +// "sw_interface_set_table", // [ // "u16", // "_vl_msg_id" @@ -2076,31 +2066,40 @@ func (*DeleteSubifReply) GetMessageType() api.MessageType { // "context" // ], // [ +// "u32", +// "sw_if_index" +// ], +// [ // "u8", -// "mac_address", -// 6 +// "is_ipv6" +// ], +// [ +// "u32", +// "vrf_id" // ], // { -// "crc": "0x3b54129c" +// "crc": "0xacb25d89" // } // -type CreateLoopback struct { - MacAddress []byte `struc:"[6]byte"` +type SwInterfaceSetTable struct { + SwIfIndex uint32 + IsIPv6 uint8 + VrfID uint32 } -func (*CreateLoopback) GetMessageName() string { - return "create_loopback" +func (*SwInterfaceSetTable) GetMessageName() string { + return "sw_interface_set_table" } -func (*CreateLoopback) GetCrcString() string { - return "3b54129c" +func (*SwInterfaceSetTable) GetCrcString() string { + return "acb25d89" } -func (*CreateLoopback) GetMessageType() api.MessageType { +func (*SwInterfaceSetTable) GetMessageType() api.MessageType { return api.RequestMessage } -// CreateLoopbackReply represents VPP binary API message 'create_loopback_reply': +// SwInterfaceSetTableReply represents VPP binary API message 'sw_interface_set_table_reply': // -// "create_loopback_reply", +// "sw_interface_set_table_reply", // [ // "u16", // "_vl_msg_id" @@ -2113,32 +2112,27 @@ func (*CreateLoopback) GetMessageType() api.MessageType { // "i32", // "retval" // ], -// [ -// "u32", -// "sw_if_index" -// ], // { -// "crc": "0xfda5941f" +// "crc": "0xe8d4e804" // } // -type CreateLoopbackReply struct { - Retval int32 - SwIfIndex uint32 +type SwInterfaceSetTableReply struct { + Retval int32 } -func (*CreateLoopbackReply) GetMessageName() string { - return "create_loopback_reply" +func (*SwInterfaceSetTableReply) GetMessageName() string { + return "sw_interface_set_table_reply" } -func (*CreateLoopbackReply) GetCrcString() string { - return "fda5941f" +func (*SwInterfaceSetTableReply) GetCrcString() string { + return "e8d4e804" } -func (*CreateLoopbackReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetTableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CreateLoopbackInstance represents VPP binary API message 'create_loopback_instance': +// SwInterfaceSetUnnumbered represents VPP binary API message 'sw_interface_set_unnumbered': // -// "create_loopback_instance", +// "sw_interface_set_unnumbered", // [ // "u16", // "_vl_msg_id" @@ -2152,41 +2146,40 @@ func (*CreateLoopbackReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u8", -// "mac_address", -// 6 +// "u32", +// "sw_if_index" // ], // [ -// "u8", -// "is_specified" +// "u32", +// "unnumbered_sw_if_index" // ], // [ -// "u32", -// "user_instance" +// "u8", +// "is_add" // ], // { -// "crc": "0x7bbd53b6" +// "crc": "0xa2c1bbda" // } // -type CreateLoopbackInstance struct { - MacAddress []byte `struc:"[6]byte"` - IsSpecified uint8 - UserInstance uint32 +type SwInterfaceSetUnnumbered struct { + SwIfIndex uint32 + UnnumberedSwIfIndex uint32 + IsAdd uint8 } -func (*CreateLoopbackInstance) GetMessageName() string { - return "create_loopback_instance" +func (*SwInterfaceSetUnnumbered) GetMessageName() string { + return "sw_interface_set_unnumbered" } -func (*CreateLoopbackInstance) GetCrcString() string { - return "7bbd53b6" +func (*SwInterfaceSetUnnumbered) GetCrcString() string { + return "a2c1bbda" } -func (*CreateLoopbackInstance) GetMessageType() api.MessageType { +func (*SwInterfaceSetUnnumbered) GetMessageType() api.MessageType { return api.RequestMessage } -// CreateLoopbackInstanceReply represents VPP binary API message 'create_loopback_instance_reply': +// SwInterfaceSetUnnumberedReply represents VPP binary API message 'sw_interface_set_unnumbered_reply': // -// "create_loopback_instance_reply", +// "sw_interface_set_unnumbered_reply", // [ // "u16", // "_vl_msg_id" @@ -2199,32 +2192,27 @@ func (*CreateLoopbackInstance) GetMessageType() api.MessageType { // "i32", // "retval" // ], -// [ -// "u32", -// "sw_if_index" -// ], // { -// "crc": "0xfda5941f" +// "crc": "0xe8d4e804" // } // -type CreateLoopbackInstanceReply struct { - Retval int32 - SwIfIndex uint32 +type SwInterfaceSetUnnumberedReply struct { + Retval int32 } -func (*CreateLoopbackInstanceReply) GetMessageName() string { - return "create_loopback_instance_reply" +func (*SwInterfaceSetUnnumberedReply) GetMessageName() string { + return "sw_interface_set_unnumbered_reply" } -func (*CreateLoopbackInstanceReply) GetCrcString() string { - return "fda5941f" +func (*SwInterfaceSetUnnumberedReply) GetCrcString() string { + return "e8d4e804" } -func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetUnnumberedReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// DeleteLoopback represents VPP binary API message 'delete_loopback': +// SwInterfaceTagAddDel represents VPP binary API message 'sw_interface_tag_add_del': // -// "delete_loopback", +// "sw_interface_tag_add_del", // [ // "u16", // "_vl_msg_id" @@ -2238,30 +2226,41 @@ func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType { // "context" // ], // [ +// "u8", +// "is_add" +// ], +// [ // "u32", // "sw_if_index" // ], +// [ +// "u8", +// "tag", +// 64 +// ], // { -// "crc": "0x529cb13f" +// "crc": "0x14cc636c" // } // -type DeleteLoopback struct { +type SwInterfaceTagAddDel struct { + IsAdd uint8 SwIfIndex uint32 + Tag []byte `struc:"[64]byte"` } -func (*DeleteLoopback) GetMessageName() string { - return "delete_loopback" +func (*SwInterfaceTagAddDel) GetMessageName() string { + return "sw_interface_tag_add_del" } -func (*DeleteLoopback) GetCrcString() string { - return "529cb13f" +func (*SwInterfaceTagAddDel) GetCrcString() string { + return "14cc636c" } -func (*DeleteLoopback) GetMessageType() api.MessageType { +func (*SwInterfaceTagAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// DeleteLoopbackReply represents VPP binary API message 'delete_loopback_reply': +// SwInterfaceTagAddDelReply represents VPP binary API message 'sw_interface_tag_add_del_reply': // -// "delete_loopback_reply", +// "sw_interface_tag_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -2278,23 +2277,23 @@ func (*DeleteLoopback) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type DeleteLoopbackReply struct { +type SwInterfaceTagAddDelReply struct { Retval int32 } -func (*DeleteLoopbackReply) GetMessageName() string { - return "delete_loopback_reply" +func (*SwInterfaceTagAddDelReply) GetMessageName() string { + return "sw_interface_tag_add_del_reply" } -func (*DeleteLoopbackReply) GetCrcString() string { +func (*SwInterfaceTagAddDelReply) GetCrcString() string { return "e8d4e804" } -func (*DeleteLoopbackReply) GetMessageType() api.MessageType { +func (*SwInterfaceTagAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CollectDetailedInterfaceStats represents VPP binary API message 'collect_detailed_interface_stats': +// WantInterfaceEvents represents VPP binary API message 'want_interface_events': // -// "collect_detailed_interface_stats", +// "want_interface_events", // [ // "u16", // "_vl_msg_id" @@ -2309,34 +2308,34 @@ func (*DeleteLoopbackReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "sw_if_index" +// "enable_disable" // ], // [ -// "u8", -// "enable_disable" +// "u32", +// "pid" // ], // { -// "crc": "0x69d24598" +// "crc": "0x476f5a08" // } // -type CollectDetailedInterfaceStats struct { - SwIfIndex uint32 - EnableDisable uint8 +type WantInterfaceEvents struct { + EnableDisable uint32 + PID uint32 } -func (*CollectDetailedInterfaceStats) GetMessageName() string { - return "collect_detailed_interface_stats" +func (*WantInterfaceEvents) GetMessageName() string { + return "want_interface_events" } -func (*CollectDetailedInterfaceStats) GetCrcString() string { - return "69d24598" +func (*WantInterfaceEvents) GetCrcString() string { + return "476f5a08" } -func (*CollectDetailedInterfaceStats) GetMessageType() api.MessageType { +func (*WantInterfaceEvents) GetMessageType() api.MessageType { return api.RequestMessage } -// CollectDetailedInterfaceStatsReply represents VPP binary API message 'collect_detailed_interface_stats_reply': +// WantInterfaceEventsReply represents VPP binary API message 'want_interface_events_reply': // -// "collect_detailed_interface_stats_reply", +// "want_interface_events_reply", // [ // "u16", // "_vl_msg_id" @@ -2353,70 +2352,70 @@ func (*CollectDetailedInterfaceStats) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type CollectDetailedInterfaceStatsReply struct { +type WantInterfaceEventsReply struct { Retval int32 } -func (*CollectDetailedInterfaceStatsReply) GetMessageName() string { - return "collect_detailed_interface_stats_reply" +func (*WantInterfaceEventsReply) GetMessageName() string { + return "want_interface_events_reply" } -func (*CollectDetailedInterfaceStatsReply) GetCrcString() string { +func (*WantInterfaceEventsReply) GetCrcString() string { return "e8d4e804" } -func (*CollectDetailedInterfaceStatsReply) GetMessageType() api.MessageType { +func (*WantInterfaceEventsReply) GetMessageType() api.MessageType { return api.ReplyMessage } func init() { - api.RegisterMessage((*SwInterfaceSetFlags)(nil), "interface.SwInterfaceSetFlags") - api.RegisterMessage((*SwInterfaceSetFlagsReply)(nil), "interface.SwInterfaceSetFlagsReply") + api.RegisterMessage((*CollectDetailedInterfaceStats)(nil), "interface.CollectDetailedInterfaceStats") + api.RegisterMessage((*CollectDetailedInterfaceStatsReply)(nil), "interface.CollectDetailedInterfaceStatsReply") + api.RegisterMessage((*CreateLoopback)(nil), "interface.CreateLoopback") + api.RegisterMessage((*CreateLoopbackInstance)(nil), "interface.CreateLoopbackInstance") + api.RegisterMessage((*CreateLoopbackInstanceReply)(nil), "interface.CreateLoopbackInstanceReply") + api.RegisterMessage((*CreateLoopbackReply)(nil), "interface.CreateLoopbackReply") + 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((*DeleteLoopback)(nil), "interface.DeleteLoopback") + api.RegisterMessage((*DeleteLoopbackReply)(nil), "interface.DeleteLoopbackReply") + api.RegisterMessage((*DeleteSubif)(nil), "interface.DeleteSubif") + api.RegisterMessage((*DeleteSubifReply)(nil), "interface.DeleteSubifReply") 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((*SwInterfaceSetIPDirectedBroadcast)(nil), "interface.SwInterfaceSetIPDirectedBroadcast") - api.RegisterMessage((*SwInterfaceSetIPDirectedBroadcastReply)(nil), "interface.SwInterfaceSetIPDirectedBroadcastReply") - 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((*InterfaceNameRenumber)(nil), "interface.InterfaceNameRenumber") + api.RegisterMessage((*InterfaceNameRenumberReply)(nil), "interface.InterfaceNameRenumberReply") 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((*SwInterfaceDetails)(nil), "interface.SwInterfaceDetails") + api.RegisterMessage((*SwInterfaceDump)(nil), "interface.SwInterfaceDump") + api.RegisterMessage((*SwInterfaceEvent)(nil), "interface.SwInterfaceEvent") api.RegisterMessage((*SwInterfaceGetMacAddress)(nil), "interface.SwInterfaceGetMacAddress") api.RegisterMessage((*SwInterfaceGetMacAddressReply)(nil), "interface.SwInterfaceGetMacAddressReply") + api.RegisterMessage((*SwInterfaceGetTable)(nil), "interface.SwInterfaceGetTable") + api.RegisterMessage((*SwInterfaceGetTableReply)(nil), "interface.SwInterfaceGetTableReply") + api.RegisterMessage((*SwInterfaceRxPlacementDetails)(nil), "interface.SwInterfaceRxPlacementDetails") + api.RegisterMessage((*SwInterfaceRxPlacementDump)(nil), "interface.SwInterfaceRxPlacementDump") + api.RegisterMessage((*SwInterfaceSetFlags)(nil), "interface.SwInterfaceSetFlags") + api.RegisterMessage((*SwInterfaceSetFlagsReply)(nil), "interface.SwInterfaceSetFlagsReply") + api.RegisterMessage((*SwInterfaceSetIPDirectedBroadcast)(nil), "interface.SwInterfaceSetIPDirectedBroadcast") + api.RegisterMessage((*SwInterfaceSetIPDirectedBroadcastReply)(nil), "interface.SwInterfaceSetIPDirectedBroadcastReply") + api.RegisterMessage((*SwInterfaceSetMacAddress)(nil), "interface.SwInterfaceSetMacAddress") + api.RegisterMessage((*SwInterfaceSetMacAddressReply)(nil), "interface.SwInterfaceSetMacAddressReply") + api.RegisterMessage((*SwInterfaceSetMtu)(nil), "interface.SwInterfaceSetMtu") + api.RegisterMessage((*SwInterfaceSetMtuReply)(nil), "interface.SwInterfaceSetMtuReply") api.RegisterMessage((*SwInterfaceSetRxMode)(nil), "interface.SwInterfaceSetRxMode") api.RegisterMessage((*SwInterfaceSetRxModeReply)(nil), "interface.SwInterfaceSetRxModeReply") api.RegisterMessage((*SwInterfaceSetRxPlacement)(nil), "interface.SwInterfaceSetRxPlacement") api.RegisterMessage((*SwInterfaceSetRxPlacementReply)(nil), "interface.SwInterfaceSetRxPlacementReply") - api.RegisterMessage((*SwInterfaceRxPlacementDump)(nil), "interface.SwInterfaceRxPlacementDump") - api.RegisterMessage((*SwInterfaceRxPlacementDetails)(nil), "interface.SwInterfaceRxPlacementDetails") - 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") + api.RegisterMessage((*SwInterfaceSetTable)(nil), "interface.SwInterfaceSetTable") + api.RegisterMessage((*SwInterfaceSetTableReply)(nil), "interface.SwInterfaceSetTableReply") + api.RegisterMessage((*SwInterfaceSetUnnumbered)(nil), "interface.SwInterfaceSetUnnumbered") + api.RegisterMessage((*SwInterfaceSetUnnumberedReply)(nil), "interface.SwInterfaceSetUnnumberedReply") + api.RegisterMessage((*SwInterfaceTagAddDel)(nil), "interface.SwInterfaceTagAddDel") + api.RegisterMessage((*SwInterfaceTagAddDelReply)(nil), "interface.SwInterfaceTagAddDelReply") + api.RegisterMessage((*WantInterfaceEvents)(nil), "interface.WantInterfaceEvents") + api.RegisterMessage((*WantInterfaceEventsReply)(nil), "interface.WantInterfaceEventsReply") } diff --git a/examples/bin_api/ip/ip.ba.go b/examples/bin_api/ip/ip.ba.go index 8f31fd4..290abec 100644 --- a/examples/bin_api/ip/ip.ba.go +++ b/examples/bin_api/ip/ip.ba.go @@ -5,13 +5,12 @@ Package ip is a generated from VPP binary API module 'ip'. It contains following objects: - 91 messages - 11 types - 3 aliases + 44 services 1 enum + 3 aliases + 11 types 1 union - 44 services - + 91 messages */ package ip @@ -303,124 +302,6 @@ func (*Address) GetCrcString() string { return "09f11671" } -// Prefix represents VPP binary API type 'prefix': -// -// "prefix", -// [ -// "vl_api_address_t", -// "address" -// ], -// [ -// "u8", -// "address_length" -// ], -// { -// "crc": "0x0403aebc" -// } -// -type Prefix struct { - Address Address - AddressLength uint8 -} - -func (*Prefix) GetTypeName() string { - return "prefix" -} -func (*Prefix) GetCrcString() string { - return "0403aebc" -} - -// Mprefix represents VPP binary API type 'mprefix': -// -// "mprefix", -// [ -// "vl_api_address_family_t", -// "af" -// ], -// [ -// "u16", -// "grp_address_length" -// ], -// [ -// "vl_api_address_union_t", -// "grp_address" -// ], -// [ -// "vl_api_address_union_t", -// "src_address" -// ], -// { -// "crc": "0x1c4cba05" -// } -// -type Mprefix struct { - Af AddressFamily - GrpAddressLength uint16 - GrpAddress AddressUnion - SrcAddress AddressUnion -} - -func (*Mprefix) GetTypeName() string { - return "mprefix" -} -func (*Mprefix) GetCrcString() string { - return "1c4cba05" -} - -// IP6Prefix represents VPP binary API type 'ip6_prefix': -// -// "ip6_prefix", -// [ -// "vl_api_ip6_address_t", -// "prefix" -// ], -// [ -// "u8", -// "len" -// ], -// { -// "crc": "0x779fd64f" -// } -// -type IP6Prefix struct { - Prefix IP6Address - Len uint8 -} - -func (*IP6Prefix) GetTypeName() string { - return "ip6_prefix" -} -func (*IP6Prefix) GetCrcString() string { - return "779fd64f" -} - -// IP4Prefix represents VPP binary API type 'ip4_prefix': -// -// "ip4_prefix", -// [ -// "vl_api_ip4_address_t", -// "prefix" -// ], -// [ -// "u8", -// "len" -// ], -// { -// "crc": "0xea8dc11d" -// } -// -type IP4Prefix struct { - Prefix IP4Address - Len uint8 -} - -func (*IP4Prefix) GetTypeName() string { - return "ip4_prefix" -} -func (*IP4Prefix) GetCrcString() string { - return "ea8dc11d" -} - // FibMplsLabel represents VPP binary API type 'fib_mpls_label': // // "fib_mpls_label", @@ -582,63 +463,58 @@ func (*FibPath) GetCrcString() string { return "ba7a81f0" } -// MfibPath represents VPP binary API type 'mfib_path': +// IP4Prefix represents VPP binary API type 'ip4_prefix': // -// "mfib_path", +// "ip4_prefix", // [ -// "vl_api_fib_path_t", -// "path" +// "vl_api_ip4_address_t", +// "prefix" // ], // [ -// "u32", -// "itf_flags" +// "u8", +// "len" // ], // { -// "crc": "0x4ba77d32" +// "crc": "0xea8dc11d" // } // -type MfibPath struct { - Path FibPath - ItfFlags uint32 +type IP4Prefix struct { + Prefix IP4Address + Len uint8 } -func (*MfibPath) GetTypeName() string { - return "mfib_path" +func (*IP4Prefix) GetTypeName() string { + return "ip4_prefix" } -func (*MfibPath) GetCrcString() string { - return "4ba77d32" +func (*IP4Prefix) GetCrcString() string { + return "ea8dc11d" } -// PuntRedirect represents VPP binary API type 'punt_redirect': +// IP6Prefix represents VPP binary API type 'ip6_prefix': // -// "punt_redirect", -// [ -// "u32", -// "rx_sw_if_index" -// ], +// "ip6_prefix", // [ -// "u32", -// "tx_sw_if_index" +// "vl_api_ip6_address_t", +// "prefix" // ], // [ -// "vl_api_address_t", -// "nh" +// "u8", +// "len" // ], // { -// "crc": "0x3e7a801f" +// "crc": "0x779fd64f" // } // -type PuntRedirect struct { - RxSwIfIndex uint32 - TxSwIfIndex uint32 - Nh Address +type IP6Prefix struct { + Prefix IP6Address + Len uint8 } -func (*PuntRedirect) GetTypeName() string { - return "punt_redirect" +func (*IP6Prefix) GetTypeName() string { + return "ip6_prefix" } -func (*PuntRedirect) GetCrcString() string { - return "3e7a801f" +func (*IP6Prefix) GetCrcString() string { + return "779fd64f" } // IP6RaPrefixInfo represents VPP binary API type 'ip6_ra_prefix_info': @@ -684,483 +560,230 @@ func (*IP6RaPrefixInfo) GetCrcString() string { return "83d7c6e5" } -// ProxyArp represents VPP binary API type 'proxy_arp': +// MfibPath represents VPP binary API type 'mfib_path': // -// "proxy_arp", -// [ -// "u32", -// "vrf_id" -// ], +// "mfib_path", // [ -// "u8", -// "low_address", -// 4 +// "vl_api_fib_path_t", +// "path" // ], // [ -// "u8", -// "hi_address", -// 4 +// "u32", +// "itf_flags" // ], // { -// "crc": "0x6d88106e" +// "crc": "0x4ba77d32" // } // -type ProxyArp struct { - VrfID uint32 - LowAddress []byte `struc:"[4]byte"` - HiAddress []byte `struc:"[4]byte"` +type MfibPath struct { + Path FibPath + ItfFlags uint32 } -func (*ProxyArp) GetTypeName() string { - return "proxy_arp" +func (*MfibPath) GetTypeName() string { + return "mfib_path" } -func (*ProxyArp) GetCrcString() string { - return "6d88106e" +func (*MfibPath) GetCrcString() string { + return "4ba77d32" } -/* Unions */ - -// AddressUnion represents VPP binary API union 'address_union': +// Mprefix represents VPP binary API type 'mprefix': // -// "address_union", +// "mprefix", // [ -// "vl_api_ip4_address_t", -// "ip4" +// "vl_api_address_family_t", +// "af" // ], // [ -// "vl_api_ip6_address_t", -// "ip6" +// "u16", +// "grp_address_length" +// ], +// [ +// "vl_api_address_union_t", +// "grp_address" +// ], +// [ +// "vl_api_address_union_t", +// "src_address" // ], // { -// "crc": "0xd68a2fb4" +// "crc": "0x1c4cba05" // } // -type AddressUnion struct { - Union_data [16]byte +type Mprefix struct { + Af AddressFamily + GrpAddressLength uint16 + GrpAddress AddressUnion + SrcAddress AddressUnion } -func (*AddressUnion) GetTypeName() string { - return "address_union" -} -func (*AddressUnion) GetCrcString() string { - return "d68a2fb4" -} - -func (u *AddressUnion) SetIP4(a IP4Address) { - var b = new(bytes.Buffer) - if err := struc.Pack(b, &a); err != nil { - return - } - copy(u.Union_data[:], b.Bytes()) -} -func (u *AddressUnion) GetIP4() (a IP4Address) { - var b = bytes.NewReader(u.Union_data[:]) - struc.Unpack(b, &a) - return -} - -func (u *AddressUnion) SetIP6(a IP6Address) { - var b = new(bytes.Buffer) - if err := struc.Pack(b, &a); err != nil { - return - } - copy(u.Union_data[:], b.Bytes()) +func (*Mprefix) GetTypeName() string { + return "mprefix" } -func (u *AddressUnion) GetIP6() (a IP6Address) { - var b = bytes.NewReader(u.Union_data[:]) - struc.Unpack(b, &a) - return +func (*Mprefix) GetCrcString() string { + return "1c4cba05" } -/* Messages */ - -// IPTableAddDel represents VPP binary API message 'ip_table_add_del': +// Prefix represents VPP binary API type 'prefix': // -// "ip_table_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u8", -// "is_ipv6" -// ], +// "prefix", // [ -// "u8", -// "is_add" +// "vl_api_address_t", +// "address" // ], // [ // "u8", -// "name", -// 64 -// ], -// { -// "crc": "0x0240c89d" -// } -// -type IPTableAddDel struct { - TableID uint32 - IsIPv6 uint8 - IsAdd uint8 - Name []byte `struc:"[64]byte"` -} - -func (*IPTableAddDel) GetMessageName() string { - return "ip_table_add_del" -} -func (*IPTableAddDel) GetCrcString() string { - return "0240c89d" -} -func (*IPTableAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply': -// -// "ip_table_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" +// "address_length" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x0403aebc" // } // -type IPTableAddDelReply struct { - Retval int32 -} - -func (*IPTableAddDelReply) GetMessageName() string { - return "ip_table_add_del_reply" -} -func (*IPTableAddDelReply) GetCrcString() string { - return "e8d4e804" -} -func (*IPTableAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage +type Prefix struct { + Address Address + AddressLength uint8 } -// IPFibDump represents VPP binary API message 'ip_fib_dump': -// -// "ip_fib_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } -// -type IPFibDump struct{} - -func (*IPFibDump) GetMessageName() string { - return "ip_fib_dump" -} -func (*IPFibDump) GetCrcString() string { - return "51077d14" +func (*Prefix) GetTypeName() string { + return "prefix" } -func (*IPFibDump) GetMessageType() api.MessageType { - return api.RequestMessage +func (*Prefix) GetCrcString() string { + return "0403aebc" } -// IPFibDetails represents VPP binary API message 'ip_fib_details': +// ProxyArp represents VPP binary API type 'proxy_arp': // -// "ip_fib_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], +// "proxy_arp", // [ // "u32", -// "table_id" -// ], -// [ -// "u8", -// "table_name", -// 64 +// "vrf_id" // ], // [ // "u8", -// "address_length" +// "low_address", +// 4 // ], // [ // "u8", -// "address", +// "hi_address", // 4 // ], -// [ -// "u32", -// "count" -// ], -// [ -// "u32", -// "stats_index" -// ], -// [ -// "vl_api_fib_path_t", -// "path", -// 0, -// "count" -// ], // { -// "crc": "0xf6a2fab3" +// "crc": "0x6d88106e" // } // -type IPFibDetails struct { - TableID uint32 - TableName []byte `struc:"[64]byte"` - AddressLength uint8 - Address []byte `struc:"[4]byte"` - Count uint32 `struc:"sizeof=Path"` - StatsIndex uint32 - Path []FibPath -} - -func (*IPFibDetails) GetMessageName() string { - return "ip_fib_details" -} -func (*IPFibDetails) GetCrcString() string { - return "f6a2fab3" -} -func (*IPFibDetails) GetMessageType() api.MessageType { - return api.ReplyMessage +type ProxyArp struct { + VrfID uint32 + LowAddress []byte `struc:"[4]byte"` + HiAddress []byte `struc:"[4]byte"` } -// IP6FibDump represents VPP binary API message 'ip6_fib_dump': -// -// "ip6_fib_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } -// -type IP6FibDump struct{} - -func (*IP6FibDump) GetMessageName() string { - return "ip6_fib_dump" -} -func (*IP6FibDump) GetCrcString() string { - return "51077d14" +func (*ProxyArp) GetTypeName() string { + return "proxy_arp" } -func (*IP6FibDump) GetMessageType() api.MessageType { - return api.RequestMessage +func (*ProxyArp) GetCrcString() string { + return "6d88106e" } -// IP6FibDetails represents VPP binary API message 'ip6_fib_details': +// PuntRedirect represents VPP binary API type 'punt_redirect': // -// "ip6_fib_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u8", -// "table_name", -// 64 -// ], -// [ -// "u8", -// "address_length" -// ], -// [ -// "u8", -// "address", -// 16 -// ], +// "punt_redirect", // [ // "u32", -// "count" +// "rx_sw_if_index" // ], // [ // "u32", -// "stats_index" +// "tx_sw_if_index" // ], // [ -// "vl_api_fib_path_t", -// "path", -// 0, -// "count" +// "vl_api_address_t", +// "nh" // ], // { -// "crc": "0xef11e94d" +// "crc": "0x3e7a801f" // } // -type IP6FibDetails struct { - TableID uint32 - TableName []byte `struc:"[64]byte"` - AddressLength uint8 - Address []byte `struc:"[16]byte"` - Count uint32 `struc:"sizeof=Path"` - StatsIndex uint32 - Path []FibPath +type PuntRedirect struct { + RxSwIfIndex uint32 + TxSwIfIndex uint32 + Nh Address } -func (*IP6FibDetails) GetMessageName() string { - return "ip6_fib_details" -} -func (*IP6FibDetails) GetCrcString() string { - return "ef11e94d" +func (*PuntRedirect) GetTypeName() string { + return "punt_redirect" } -func (*IP6FibDetails) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*PuntRedirect) GetCrcString() string { + return "3e7a801f" } -// IPNeighborDump represents VPP binary API message 'ip_neighbor_dump': +/* Unions */ + +// AddressUnion represents VPP binary API union 'address_union': // -// "ip_neighbor_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], +// "address_union", // [ -// "u32", -// "sw_if_index" +// "vl_api_ip4_address_t", +// "ip4" // ], // [ -// "u8", -// "is_ipv6" +// "vl_api_ip6_address_t", +// "ip6" // ], // { -// "crc": "0x6b7bcd0a" +// "crc": "0xd68a2fb4" // } // -type IPNeighborDump struct { - SwIfIndex uint32 - IsIPv6 uint8 +type AddressUnion struct { + Union_data [16]byte } -func (*IPNeighborDump) GetMessageName() string { - return "ip_neighbor_dump" -} -func (*IPNeighborDump) GetCrcString() string { - return "6b7bcd0a" +func (*AddressUnion) GetTypeName() string { + return "address_union" } -func (*IPNeighborDump) GetMessageType() api.MessageType { - return api.RequestMessage +func (*AddressUnion) GetCrcString() string { + return "d68a2fb4" } -// IPNeighborDetails represents VPP binary API message 'ip_neighbor_details': -// -// "ip_neighbor_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "stats_index" -// ], -// [ -// "u8", -// "is_static" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "mac_address", -// 6 -// ], -// [ -// "u8", -// "ip_address", -// 16 -// ], -// { -// "crc": "0xc7001770" -// } -// -type IPNeighborDetails struct { - SwIfIndex uint32 - StatsIndex uint32 - IsStatic uint8 - IsIPv6 uint8 - MacAddress []byte `struc:"[6]byte"` - IPAddress []byte `struc:"[16]byte"` +func AddressUnionIP4(a IP4Address) (u AddressUnion) { + u.SetIP4(a) + return +} +func (u *AddressUnion) SetIP4(a IP4Address) { + var b = new(bytes.Buffer) + if err := struc.Pack(b, &a); err != nil { + return + } + copy(u.Union_data[:], b.Bytes()) +} +func (u *AddressUnion) GetIP4() (a IP4Address) { + var b = bytes.NewReader(u.Union_data[:]) + struc.Unpack(b, &a) + return } -func (*IPNeighborDetails) GetMessageName() string { - return "ip_neighbor_details" +func AddressUnionIP6(a IP6Address) (u AddressUnion) { + u.SetIP6(a) + return } -func (*IPNeighborDetails) GetCrcString() string { - return "c7001770" +func (u *AddressUnion) SetIP6(a IP6Address) { + var b = new(bytes.Buffer) + if err := struc.Pack(b, &a); err != nil { + return + } + copy(u.Union_data[:], b.Bytes()) } -func (*IPNeighborDetails) GetMessageType() api.MessageType { - return api.ReplyMessage +func (u *AddressUnion) GetIP6() (a IP6Address) { + var b = bytes.NewReader(u.Union_data[:]) + struc.Unpack(b, &a) + return } -// IPNeighborAddDel represents VPP binary API message 'ip_neighbor_add_del': +/* Messages */ + +// IoamDisable represents VPP binary API message 'ioam_disable': // -// "ip_neighbor_add_del", +// "ioam_disable", // [ // "u16", // "_vl_msg_id" @@ -1174,62 +797,30 @@ func (*IPNeighborDetails) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "is_static" -// ], -// [ -// "u8", -// "is_no_adj_fib" -// ], -// [ -// "u8", -// "mac_address", -// 6 -// ], -// [ -// "u8", -// "dst_address", -// 16 +// "u16", +// "id" // ], // { -// "crc": "0x4711eb25" +// "crc": "0x6b16a45e" // } // -type IPNeighborAddDel struct { - SwIfIndex uint32 - IsAdd uint8 - IsIPv6 uint8 - IsStatic uint8 - IsNoAdjFib uint8 - MacAddress []byte `struc:"[6]byte"` - DstAddress []byte `struc:"[16]byte"` +type IoamDisable struct { + ID uint16 } -func (*IPNeighborAddDel) GetMessageName() string { - return "ip_neighbor_add_del" +func (*IoamDisable) GetMessageName() string { + return "ioam_disable" } -func (*IPNeighborAddDel) GetCrcString() string { - return "4711eb25" +func (*IoamDisable) GetCrcString() string { + return "6b16a45e" } -func (*IPNeighborAddDel) GetMessageType() api.MessageType { +func (*IoamDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// IPNeighborAddDelReply represents VPP binary API message 'ip_neighbor_add_del_reply': +// IoamDisableReply represents VPP binary API message 'ioam_disable_reply': // -// "ip_neighbor_add_del_reply", +// "ioam_disable_reply", // [ // "u16", // "_vl_msg_id" @@ -1242,32 +833,27 @@ func (*IPNeighborAddDel) GetMessageType() api.MessageType { // "i32", // "retval" // ], -// [ -// "u32", -// "stats_index" -// ], // { -// "crc": "0x1992deab" +// "crc": "0xe8d4e804" // } // -type IPNeighborAddDelReply struct { - Retval int32 - StatsIndex uint32 +type IoamDisableReply struct { + Retval int32 } -func (*IPNeighborAddDelReply) GetMessageName() string { - return "ip_neighbor_add_del_reply" -} -func (*IPNeighborAddDelReply) GetCrcString() string { - return "1992deab" +func (*IoamDisableReply) GetMessageName() string { + return "ioam_disable_reply" } -func (*IPNeighborAddDelReply) GetMessageType() api.MessageType { +func (*IoamDisableReply) GetCrcString() string { + return "e8d4e804" +} +func (*IoamDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash': +// IoamEnable represents VPP binary API message 'ioam_enable': // -// "set_ip_flow_hash", +// "ioam_enable", // [ // "u16", // "_vl_msg_id" @@ -1281,70 +867,55 @@ func (*IPNeighborAddDelReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "vrf_id" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "src" -// ], -// [ -// "u8", -// "dst" +// "u16", +// "id" // ], // [ // "u8", -// "sport" +// "seqno" // ], // [ // "u8", -// "dport" +// "analyse" // ], // [ // "u8", -// "proto" +// "pot_enable" // ], // [ // "u8", -// "reverse" +// "trace_enable" // ], // [ -// "u8", -// "symmetric" +// "u32", +// "node_id" // ], // { -// "crc": "0xa9084bfb" +// "crc": "0x9392e032" // } // -type SetIPFlowHash struct { - VrfID uint32 - IsIPv6 uint8 - Src uint8 - Dst uint8 - Sport uint8 - Dport uint8 - Proto uint8 - Reverse uint8 - Symmetric uint8 +type IoamEnable struct { + ID uint16 + Seqno uint8 + Analyse uint8 + PotEnable uint8 + TraceEnable uint8 + NodeID uint32 } -func (*SetIPFlowHash) GetMessageName() string { - return "set_ip_flow_hash" +func (*IoamEnable) GetMessageName() string { + return "ioam_enable" } -func (*SetIPFlowHash) GetCrcString() string { - return "a9084bfb" +func (*IoamEnable) GetCrcString() string { + return "9392e032" } -func (*SetIPFlowHash) GetMessageType() api.MessageType { +func (*IoamEnable) GetMessageType() api.MessageType { return api.RequestMessage } -// SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply': +// IoamEnableReply represents VPP binary API message 'ioam_enable_reply': // -// "set_ip_flow_hash_reply", +// "ioam_enable_reply", // [ // "u16", // "_vl_msg_id" @@ -1361,23 +932,23 @@ func (*SetIPFlowHash) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type SetIPFlowHashReply struct { +type IoamEnableReply struct { Retval int32 } -func (*SetIPFlowHashReply) GetMessageName() string { - return "set_ip_flow_hash_reply" +func (*IoamEnableReply) GetMessageName() string { + return "ioam_enable_reply" } -func (*SetIPFlowHashReply) GetCrcString() string { +func (*IoamEnableReply) GetCrcString() string { return "e8d4e804" } -func (*SetIPFlowHashReply) GetMessageType() api.MessageType { +func (*IoamEnableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceIP6ndRaConfig represents VPP binary API message 'sw_interface_ip6nd_ra_config': +// IP4ArpEvent represents VPP binary API message 'ip4_arp_event': // -// "sw_interface_ip6nd_ra_config", +// "ip4_arp_event", // [ // "u16", // "_vl_msg_id" @@ -1388,7 +959,11 @@ func (*SetIPFlowHashReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "context" +// "address" +// ], +// [ +// "u32", +// "pid" // ], // [ // "u32", @@ -1396,123 +971,229 @@ func (*SetIPFlowHashReply) GetMessageType() api.MessageType { // ], // [ // "u8", -// "suppress" +// "new_mac", +// 6 // ], // [ // "u8", -// "managed" +// "mac_ip" // ], +// { +// "crc": "0xef7235f7" +// } +// +type IP4ArpEvent struct { + Address uint32 + PID uint32 + SwIfIndex uint32 + NewMac []byte `struc:"[6]byte"` + MacIP uint8 +} + +func (*IP4ArpEvent) GetMessageName() string { + return "ip4_arp_event" +} +func (*IP4ArpEvent) GetCrcString() string { + return "ef7235f7" +} +func (*IP4ArpEvent) GetMessageType() api.MessageType { + return api.EventMessage +} + +// IP6FibDetails represents VPP binary API message 'ip6_fib_details': +// +// "ip6_fib_details", // [ -// "u8", -// "other" +// "u16", +// "_vl_msg_id" // ], // [ -// "u8", -// "ll_option" +// "u32", +// "context" // ], // [ -// "u8", -// "send_unicast" +// "u32", +// "table_id" // ], // [ // "u8", -// "cease" +// "table_name", +// 64 // ], // [ // "u8", -// "is_no" +// "address_length" // ], // [ // "u8", -// "default_router" +// "address", +// 16 // ], // [ // "u32", -// "max_interval" +// "count" // ], // [ // "u32", -// "min_interval" +// "stats_index" +// ], +// [ +// "vl_api_fib_path_t", +// "path", +// 0, +// "count" +// ], +// { +// "crc": "0xef11e94d" +// } +// +type IP6FibDetails struct { + TableID uint32 + TableName []byte `struc:"[64]byte"` + AddressLength uint8 + Address []byte `struc:"[16]byte"` + Count uint32 `struc:"sizeof=Path"` + StatsIndex uint32 + Path []FibPath +} + +func (*IP6FibDetails) GetMessageName() string { + return "ip6_fib_details" +} +func (*IP6FibDetails) GetCrcString() string { + return "ef11e94d" +} +func (*IP6FibDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// IP6FibDump represents VPP binary API message 'ip6_fib_dump': +// +// "ip6_fib_dump", +// [ +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "lifetime" +// "client_index" // ], // [ // "u32", -// "initial_count" +// "context" +// ], +// { +// "crc": "0x51077d14" +// } +// +type IP6FibDump struct{} + +func (*IP6FibDump) GetMessageName() string { + return "ip6_fib_dump" +} +func (*IP6FibDump) GetCrcString() string { + return "51077d14" +} +func (*IP6FibDump) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IP6MfibDetails represents VPP binary API message 'ip6_mfib_details': +// +// "ip6_mfib_details", +// [ +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "initial_interval" +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "grp_address", +// 16 +// ], +// [ +// "u8", +// "src_address", +// 16 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_mfib_path_t", +// "path", +// 0, +// "count" // ], // { -// "crc": "0xc3f02daa" +// "crc": "0x738c546e" // } // -type SwInterfaceIP6ndRaConfig struct { - SwIfIndex uint32 - Suppress uint8 - Managed uint8 - Other uint8 - LlOption uint8 - SendUnicast uint8 - Cease uint8 - IsNo uint8 - DefaultRouter uint8 - MaxInterval uint32 - MinInterval uint32 - Lifetime uint32 - InitialCount uint32 - InitialInterval uint32 +type IP6MfibDetails struct { + TableID uint32 + AddressLength uint8 + GrpAddress []byte `struc:"[16]byte"` + SrcAddress []byte `struc:"[16]byte"` + Count uint32 `struc:"sizeof=Path"` + Path []MfibPath } -func (*SwInterfaceIP6ndRaConfig) GetMessageName() string { - return "sw_interface_ip6nd_ra_config" +func (*IP6MfibDetails) GetMessageName() string { + return "ip6_mfib_details" } -func (*SwInterfaceIP6ndRaConfig) GetCrcString() string { - return "c3f02daa" +func (*IP6MfibDetails) GetCrcString() string { + return "738c546e" } -func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType { - return api.RequestMessage +func (*IP6MfibDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// SwInterfaceIP6ndRaConfigReply represents VPP binary API message 'sw_interface_ip6nd_ra_config_reply': +// IP6MfibDump represents VPP binary API message 'ip6_mfib_dump': // -// "sw_interface_ip6nd_ra_config_reply", +// "ip6_mfib_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" +// "client_index" // ], // [ -// "i32", -// "retval" +// "u32", +// "context" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x51077d14" // } // -type SwInterfaceIP6ndRaConfigReply struct { - Retval int32 -} +type IP6MfibDump struct{} -func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string { - return "sw_interface_ip6nd_ra_config_reply" +func (*IP6MfibDump) GetMessageName() string { + return "ip6_mfib_dump" } -func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string { - return "e8d4e804" +func (*IP6MfibDump) GetCrcString() string { + return "51077d14" } -func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*IP6MfibDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// SwInterfaceIP6ndRaPrefix represents VPP binary API message 'sw_interface_ip6nd_ra_prefix': +// IP6NdEvent represents VPP binary API message 'ip6_nd_event': // -// "sw_interface_ip6nd_ra_prefix", +// "ip6_nd_event", // [ // "u16", // "_vl_msg_id" @@ -1523,7 +1204,7 @@ func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "context" +// "pid" // ], // [ // "u32", @@ -1536,99 +1217,114 @@ func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { // ], // [ // "u8", -// "address_length" +// "new_mac", +// 6 // ], // [ // "u8", -// "use_default" +// "mac_ip" +// ], +// { +// "crc": "0x96ab2fdd" +// } +// +type IP6NdEvent struct { + PID uint32 + SwIfIndex uint32 + Address []byte `struc:"[16]byte"` + NewMac []byte `struc:"[6]byte"` + MacIP uint8 +} + +func (*IP6NdEvent) GetMessageName() string { + return "ip6_nd_event" +} +func (*IP6NdEvent) GetCrcString() string { + return "96ab2fdd" +} +func (*IP6NdEvent) GetMessageType() api.MessageType { + return api.EventMessage +} + +// IP6RaEvent represents VPP binary API message 'ip6_ra_event': +// +// "ip6_ra_event", +// [ +// "u16", +// "_vl_msg_id" // ], // [ -// "u8", -// "no_advertise" +// "u32", +// "client_index" // ], // [ -// "u8", -// "off_link" +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" // ], // [ // "u8", -// "no_autoconfig" +// "router_address", +// 16 // ], // [ // "u8", -// "no_onlink" +// "current_hop_limit" // ], // [ // "u8", -// "is_no" +// "flags" // ], // [ -// "u32", -// "val_lifetime" +// "u16", +// "router_lifetime_in_sec" // ], // [ // "u32", -// "pref_lifetime" +// "neighbor_reachable_time_in_msec" // ], -// { -// "crc": "0xca763c9a" -// } -// -type SwInterfaceIP6ndRaPrefix struct { - SwIfIndex uint32 - Address []byte `struc:"[16]byte"` - AddressLength uint8 - UseDefault uint8 - NoAdvertise uint8 - OffLink uint8 - NoAutoconfig uint8 - NoOnlink uint8 - IsNo uint8 - ValLifetime uint32 - PrefLifetime uint32 -} - -func (*SwInterfaceIP6ndRaPrefix) GetMessageName() string { - return "sw_interface_ip6nd_ra_prefix" -} -func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string { - return "ca763c9a" -} -func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// SwInterfaceIP6ndRaPrefixReply represents VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply': -// -// "sw_interface_ip6nd_ra_prefix_reply", // [ -// "u16", -// "_vl_msg_id" +// "u32", +// "time_in_msec_between_retransmitted_neighbor_solicitations" // ], // [ // "u32", -// "context" +// "n_prefixes" // ], // [ -// "i32", -// "retval" +// "vl_api_ip6_ra_prefix_info_t", +// "prefixes", +// 0, +// "n_prefixes" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0xc5e54257" // } // -type SwInterfaceIP6ndRaPrefixReply struct { - Retval int32 +type IP6RaEvent struct { + PID uint32 + SwIfIndex uint32 + RouterAddress []byte `struc:"[16]byte"` + CurrentHopLimit uint8 + Flags uint8 + RouterLifetimeInSec uint16 + NeighborReachableTimeInMsec uint32 + TimeInMsecBetweenRetransmittedNeighborSolicitations uint32 + NPrefixes uint32 `struc:"sizeof=Prefixes"` + Prefixes []IP6RaPrefixInfo } -func (*SwInterfaceIP6ndRaPrefixReply) GetMessageName() string { - return "sw_interface_ip6nd_ra_prefix_reply" +func (*IP6RaEvent) GetMessageName() string { + return "ip6_ra_event" } -func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string { - return "e8d4e804" +func (*IP6RaEvent) GetCrcString() string { + return "c5e54257" } -func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*IP6RaEvent) GetMessageType() api.MessageType { + return api.EventMessage } // IP6ndProxyAddDel represents VPP binary API message 'ip6nd_proxy_add_del': @@ -1877,81 +1573,6 @@ func (*IP6ndSendRouterSolicitationReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable': -// -// "sw_interface_ip6_enable_disable", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "enable" -// ], -// { -// "crc": "0xa36fadc0" -// } -// -type SwInterfaceIP6EnableDisable struct { - SwIfIndex uint32 - Enable uint8 -} - -func (*SwInterfaceIP6EnableDisable) GetMessageName() string { - return "sw_interface_ip6_enable_disable" -} -func (*SwInterfaceIP6EnableDisable) GetCrcString() string { - return "a36fadc0" -} -func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply': -// -// "sw_interface_ip6_enable_disable_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } -// -type SwInterfaceIP6EnableDisableReply struct { - Retval int32 -} - -func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string { - return "sw_interface_ip6_enable_disable_reply" -} -func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string { - return "e8d4e804" -} -func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - // IPAddDelRoute represents VPP binary API message 'ip_add_del_route': // // "ip_add_del_route", @@ -2119,156 +1740,377 @@ func (*IPAddDelRoute) GetMessageName() string { func (*IPAddDelRoute) GetCrcString() string { return "4219d62d" } -func (*IPAddDelRoute) GetMessageType() api.MessageType { - return api.RequestMessage +func (*IPAddDelRoute) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IPAddDelRouteReply represents VPP binary API message 'ip_add_del_route_reply': +// +// "ip_add_del_route_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "stats_index" +// ], +// { +// "crc": "0x1992deab" +// } +// +type IPAddDelRouteReply struct { + Retval int32 + StatsIndex uint32 +} + +func (*IPAddDelRouteReply) GetMessageName() string { + return "ip_add_del_route_reply" +} +func (*IPAddDelRouteReply) GetCrcString() string { + return "1992deab" +} +func (*IPAddDelRouteReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// IPAddressDetails represents VPP binary API message 'ip_address_details': +// +// "ip_address_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "ip", +// 16 +// ], +// [ +// "u8", +// "prefix_length" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x9bc25966" +// } +// +type IPAddressDetails struct { + IP []byte `struc:"[16]byte"` + PrefixLength uint8 + SwIfIndex uint32 + IsIPv6 uint8 +} + +func (*IPAddressDetails) GetMessageName() string { + return "ip_address_details" +} +func (*IPAddressDetails) GetCrcString() string { + return "9bc25966" +} +func (*IPAddressDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// IPAddressDump represents VPP binary API message 'ip_address_dump': +// +// "ip_address_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x6b7bcd0a" +// } +// +type IPAddressDump struct { + SwIfIndex uint32 + IsIPv6 uint8 +} + +func (*IPAddressDump) GetMessageName() string { + return "ip_address_dump" +} +func (*IPAddressDump) GetCrcString() string { + return "6b7bcd0a" +} +func (*IPAddressDump) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del': +// +// "ip_container_proxy_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "ip", +// 16 +// ], +// [ +// "u8", +// "is_ip4" +// ], +// [ +// "u8", +// "plen" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// { +// "crc": "0x0a355d39" +// } +// +type IPContainerProxyAddDel struct { + IP []byte `struc:"[16]byte"` + IsIP4 uint8 + Plen uint8 + SwIfIndex uint32 + IsAdd uint8 +} + +func (*IPContainerProxyAddDel) GetMessageName() string { + return "ip_container_proxy_add_del" +} +func (*IPContainerProxyAddDel) GetCrcString() string { + return "0a355d39" +} +func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply': +// +// "ip_container_proxy_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPContainerProxyAddDelReply struct { + Retval int32 +} + +func (*IPContainerProxyAddDelReply) GetMessageName() string { + return "ip_container_proxy_add_del_reply" +} +func (*IPContainerProxyAddDelReply) GetCrcString() string { + return "e8d4e804" +} +func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details': +// +// "ip_container_proxy_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "vl_api_prefix_t", +// "prefix" +// ], +// { +// "crc": "0xd528df63" +// } +// +type IPContainerProxyDetails struct { + SwIfIndex uint32 + Prefix Prefix +} + +func (*IPContainerProxyDetails) GetMessageName() string { + return "ip_container_proxy_details" +} +func (*IPContainerProxyDetails) GetCrcString() string { + return "d528df63" +} +func (*IPContainerProxyDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// IPAddDelRouteReply represents VPP binary API message 'ip_add_del_route_reply': +// IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump': // -// "ip_add_del_route_reply", +// "ip_container_proxy_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" -// ], -// [ -// "i32", -// "retval" +// "client_index" // ], // [ // "u32", -// "stats_index" +// "context" // ], // { -// "crc": "0x1992deab" +// "crc": "0x51077d14" // } // -type IPAddDelRouteReply struct { - Retval int32 - StatsIndex uint32 -} +type IPContainerProxyDump struct{} -func (*IPAddDelRouteReply) GetMessageName() string { - return "ip_add_del_route_reply" +func (*IPContainerProxyDump) GetMessageName() string { + return "ip_container_proxy_dump" } -func (*IPAddDelRouteReply) GetCrcString() string { - return "1992deab" +func (*IPContainerProxyDump) GetCrcString() string { + return "51077d14" } -func (*IPAddDelRouteReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*IPContainerProxyDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del': +// IPDetails represents VPP binary API message 'ip_details': // -// "ip_mroute_add_del", +// "ip_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", // "context" // ], // [ // "u32", -// "next_hop_sw_if_index" -// ], -// [ -// "u32", -// "table_id" +// "sw_if_index" // ], // [ -// "u32", -// "entry_flags" +// "u8", +// "is_ipv6" // ], +// { +// "crc": "0x8bb37ec4" +// } +// +type IPDetails struct { + SwIfIndex uint32 + IsIPv6 uint8 +} + +func (*IPDetails) GetMessageName() string { + return "ip_details" +} +func (*IPDetails) GetCrcString() string { + return "8bb37ec4" +} +func (*IPDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// IPDump represents VPP binary API message 'ip_dump': +// +// "ip_dump", // [ -// "u32", -// "itf_flags" +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "rpf_id" +// "client_index" // ], // [ // "u32", -// "bier_imp" -// ], -// [ -// "u16", -// "grp_address_length" -// ], -// [ -// "u8", -// "next_hop_afi" -// ], -// [ -// "u8", -// "is_add" +// "context" // ], // [ // "u8", // "is_ipv6" // ], -// [ -// "u8", -// "is_local" -// ], -// [ -// "u8", -// "grp_address", -// 16 -// ], -// [ -// "u8", -// "src_address", -// 16 -// ], -// [ -// "u8", -// "nh_address", -// 16 -// ], // { -// "crc": "0xf44c17b1" +// "crc": "0xde883da4" // } // -type IPMrouteAddDel struct { - NextHopSwIfIndex uint32 - TableID uint32 - EntryFlags uint32 - ItfFlags uint32 - RpfID uint32 - BierImp uint32 - GrpAddressLength uint16 - NextHopAfi uint8 - IsAdd uint8 - IsIPv6 uint8 - IsLocal uint8 - GrpAddress []byte `struc:"[16]byte"` - SrcAddress []byte `struc:"[16]byte"` - NhAddress []byte `struc:"[16]byte"` +type IPDump struct { + IsIPv6 uint8 } -func (*IPMrouteAddDel) GetMessageName() string { - return "ip_mroute_add_del" +func (*IPDump) GetMessageName() string { + return "ip_dump" } -func (*IPMrouteAddDel) GetCrcString() string { - return "f44c17b1" +func (*IPDump) GetCrcString() string { + return "de883da4" } -func (*IPMrouteAddDel) GetMessageType() api.MessageType { +func (*IPDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply': +// IPFibDetails represents VPP binary API message 'ip_fib_details': // -// "ip_mroute_add_del_reply", +// "ip_fib_details", // [ // "u16", // "_vl_msg_id" @@ -2278,35 +2120,64 @@ func (*IPMrouteAddDel) GetMessageType() api.MessageType { // "context" // ], // [ -// "i32", -// "retval" +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "table_name", +// 64 +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "address", +// 4 +// ], +// [ +// "u32", +// "count" // ], // [ // "u32", // "stats_index" // ], +// [ +// "vl_api_fib_path_t", +// "path", +// 0, +// "count" +// ], // { -// "crc": "0x1992deab" +// "crc": "0xf6a2fab3" // } // -type IPMrouteAddDelReply struct { - Retval int32 - StatsIndex uint32 +type IPFibDetails struct { + TableID uint32 + TableName []byte `struc:"[64]byte"` + AddressLength uint8 + Address []byte `struc:"[4]byte"` + Count uint32 `struc:"sizeof=Path"` + StatsIndex uint32 + Path []FibPath } -func (*IPMrouteAddDelReply) GetMessageName() string { - return "ip_mroute_add_del_reply" +func (*IPFibDetails) GetMessageName() string { + return "ip_fib_details" } -func (*IPMrouteAddDelReply) GetCrcString() string { - return "1992deab" +func (*IPFibDetails) GetCrcString() string { + return "f6a2fab3" } -func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { +func (*IPFibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPMfibDump represents VPP binary API message 'ip_mfib_dump': +// IPFibDump represents VPP binary API message 'ip_fib_dump': // -// "ip_mfib_dump", +// "ip_fib_dump", // [ // "u16", // "_vl_msg_id" @@ -2323,15 +2194,15 @@ func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { // "crc": "0x51077d14" // } // -type IPMfibDump struct{} +type IPFibDump struct{} -func (*IPMfibDump) GetMessageName() string { - return "ip_mfib_dump" +func (*IPFibDump) GetMessageName() string { + return "ip_fib_dump" } -func (*IPMfibDump) GetCrcString() string { +func (*IPFibDump) GetCrcString() string { return "51077d14" } -func (*IPMfibDump) GetMessageType() api.MessageType { +func (*IPFibDump) GetMessageType() api.MessageType { return api.RequestMessage } @@ -2412,9 +2283,9 @@ func (*IPMfibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6MfibDump represents VPP binary API message 'ip6_mfib_dump': +// IPMfibDump represents VPP binary API message 'ip_mfib_dump': // -// "ip6_mfib_dump", +// "ip_mfib_dump", // [ // "u16", // "_vl_msg_id" @@ -2431,36 +2302,76 @@ func (*IPMfibDetails) GetMessageType() api.MessageType { // "crc": "0x51077d14" // } // -type IP6MfibDump struct{} +type IPMfibDump struct{} -func (*IP6MfibDump) GetMessageName() string { - return "ip6_mfib_dump" +func (*IPMfibDump) GetMessageName() string { + return "ip_mfib_dump" } -func (*IP6MfibDump) GetCrcString() string { +func (*IPMfibDump) GetCrcString() string { return "51077d14" } -func (*IP6MfibDump) GetMessageType() api.MessageType { +func (*IPMfibDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IP6MfibDetails represents VPP binary API message 'ip6_mfib_details': +// IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del': // -// "ip6_mfib_details", +// "ip_mroute_add_del", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "next_hop_sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u32", +// "entry_flags" +// ], +// [ +// "u32", +// "itf_flags" +// ], +// [ +// "u32", +// "rpf_id" // ], // [ // "u32", -// "table_id" +// "bier_imp" +// ], +// [ +// "u16", +// "grp_address_length" // ], // [ // "u8", -// "address_length" +// "next_hop_afi" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "is_local" // ], // [ // "u8", @@ -2473,41 +2384,44 @@ func (*IP6MfibDump) GetMessageType() api.MessageType { // 16 // ], // [ -// "u32", -// "count" -// ], -// [ -// "vl_api_mfib_path_t", -// "path", -// 0, -// "count" +// "u8", +// "nh_address", +// 16 // ], // { -// "crc": "0x738c546e" +// "crc": "0xf44c17b1" // } // -type IP6MfibDetails struct { - TableID uint32 - AddressLength uint8 - GrpAddress []byte `struc:"[16]byte"` - SrcAddress []byte `struc:"[16]byte"` - Count uint32 `struc:"sizeof=Path"` - Path []MfibPath +type IPMrouteAddDel struct { + NextHopSwIfIndex uint32 + TableID uint32 + EntryFlags uint32 + ItfFlags uint32 + RpfID uint32 + BierImp uint32 + GrpAddressLength uint16 + NextHopAfi uint8 + IsAdd uint8 + IsIPv6 uint8 + IsLocal uint8 + GrpAddress []byte `struc:"[16]byte"` + SrcAddress []byte `struc:"[16]byte"` + NhAddress []byte `struc:"[16]byte"` } -func (*IP6MfibDetails) GetMessageName() string { - return "ip6_mfib_details" +func (*IPMrouteAddDel) GetMessageName() string { + return "ip_mroute_add_del" } -func (*IP6MfibDetails) GetCrcString() string { - return "738c546e" +func (*IPMrouteAddDel) GetCrcString() string { + return "f44c17b1" } -func (*IP6MfibDetails) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*IPMrouteAddDel) GetMessageType() api.MessageType { + return api.RequestMessage } -// IPAddressDetails represents VPP binary API message 'ip_address_details': +// IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply': // -// "ip_address_details", +// "ip_mroute_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -2517,46 +2431,35 @@ func (*IP6MfibDetails) GetMessageType() api.MessageType { // "context" // ], // [ -// "u8", -// "ip", -// 16 -// ], -// [ -// "u8", -// "prefix_length" +// "i32", +// "retval" // ], // [ // "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_ipv6" +// "stats_index" // ], // { -// "crc": "0x9bc25966" +// "crc": "0x1992deab" // } // -type IPAddressDetails struct { - IP []byte `struc:"[16]byte"` - PrefixLength uint8 - SwIfIndex uint32 - IsIPv6 uint8 +type IPMrouteAddDelReply struct { + Retval int32 + StatsIndex uint32 } -func (*IPAddressDetails) GetMessageName() string { - return "ip_address_details" +func (*IPMrouteAddDelReply) GetMessageName() string { + return "ip_mroute_add_del_reply" } -func (*IPAddressDetails) GetCrcString() string { - return "9bc25966" +func (*IPMrouteAddDelReply) GetCrcString() string { + return "1992deab" } -func (*IPAddressDetails) GetMessageType() api.MessageType { +func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPAddressDump represents VPP binary API message 'ip_address_dump': +// IPNeighborAddDel represents VPP binary API message 'ip_neighbor_add_del': // -// "ip_address_dump", +// "ip_neighbor_add_del", // [ // "u16", // "_vl_msg_id" @@ -2575,30 +2478,57 @@ func (*IPAddressDetails) GetMessageType() api.MessageType { // ], // [ // "u8", +// "is_add" +// ], +// [ +// "u8", // "is_ipv6" // ], +// [ +// "u8", +// "is_static" +// ], +// [ +// "u8", +// "is_no_adj_fib" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "dst_address", +// 16 +// ], // { -// "crc": "0x6b7bcd0a" +// "crc": "0x4711eb25" // } // -type IPAddressDump struct { - SwIfIndex uint32 - IsIPv6 uint8 +type IPNeighborAddDel struct { + SwIfIndex uint32 + IsAdd uint8 + IsIPv6 uint8 + IsStatic uint8 + IsNoAdjFib uint8 + MacAddress []byte `struc:"[6]byte"` + DstAddress []byte `struc:"[16]byte"` } -func (*IPAddressDump) GetMessageName() string { - return "ip_address_dump" +func (*IPNeighborAddDel) GetMessageName() string { + return "ip_neighbor_add_del" } -func (*IPAddressDump) GetCrcString() string { - return "6b7bcd0a" +func (*IPNeighborAddDel) GetCrcString() string { + return "4711eb25" } -func (*IPAddressDump) GetMessageType() api.MessageType { +func (*IPNeighborAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details': +// IPNeighborAddDelReply represents VPP binary API message 'ip_neighbor_add_del_reply': // -// "ip_unnumbered_details", +// "ip_neighbor_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -2608,110 +2538,95 @@ func (*IPAddressDump) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" +// "i32", +// "retval" // ], // [ // "u32", -// "ip_sw_if_index" +// "stats_index" // ], // { -// "crc": "0xae694cf4" +// "crc": "0x1992deab" // } // -type IPUnnumberedDetails struct { - SwIfIndex uint32 - IPSwIfIndex uint32 +type IPNeighborAddDelReply struct { + Retval int32 + StatsIndex uint32 } -func (*IPUnnumberedDetails) GetMessageName() string { - return "ip_unnumbered_details" +func (*IPNeighborAddDelReply) GetMessageName() string { + return "ip_neighbor_add_del_reply" } -func (*IPUnnumberedDetails) GetCrcString() string { - return "ae694cf4" +func (*IPNeighborAddDelReply) GetCrcString() string { + return "1992deab" } -func (*IPUnnumberedDetails) GetMessageType() api.MessageType { +func (*IPNeighborAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump': +// IPNeighborDetails represents VPP binary API message 'ip_neighbor_details': // -// "ip_unnumbered_dump", +// "ip_neighbor_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ // "u32", -// "context" +// "sw_if_index" // ], // [ // "u32", -// "sw_if_index" +// "stats_index" // ], -// { -// "crc": "0x529cb13f" -// } -// -type IPUnnumberedDump struct { - SwIfIndex uint32 -} - -func (*IPUnnumberedDump) GetMessageName() string { - return "ip_unnumbered_dump" -} -func (*IPUnnumberedDump) GetCrcString() string { - return "529cb13f" -} -func (*IPUnnumberedDump) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// IPDetails represents VPP binary API message 'ip_details': -// -// "ip_details", // [ -// "u16", -// "_vl_msg_id" +// "u8", +// "is_static" // ], // [ -// "u32", -// "context" +// "u8", +// "is_ipv6" // ], // [ -// "u32", -// "sw_if_index" +// "u8", +// "mac_address", +// 6 // ], // [ // "u8", -// "is_ipv6" +// "ip_address", +// 16 // ], // { -// "crc": "0x8bb37ec4" +// "crc": "0xc7001770" // } // -type IPDetails struct { - SwIfIndex uint32 - IsIPv6 uint8 +type IPNeighborDetails struct { + SwIfIndex uint32 + StatsIndex uint32 + IsStatic uint8 + IsIPv6 uint8 + MacAddress []byte `struc:"[6]byte"` + IPAddress []byte `struc:"[16]byte"` } -func (*IPDetails) GetMessageName() string { - return "ip_details" +func (*IPNeighborDetails) GetMessageName() string { + return "ip_neighbor_details" } -func (*IPDetails) GetCrcString() string { - return "8bb37ec4" +func (*IPNeighborDetails) GetCrcString() string { + return "c7001770" } -func (*IPDetails) GetMessageType() api.MessageType { +func (*IPNeighborDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPDump represents VPP binary API message 'ip_dump': +// IPNeighborDump represents VPP binary API message 'ip_neighbor_dump': // -// "ip_dump", +// "ip_neighbor_dump", // [ // "u16", // "_vl_msg_id" @@ -2725,30 +2640,35 @@ func (*IPDetails) GetMessageType() api.MessageType { // "context" // ], // [ +// "u32", +// "sw_if_index" +// ], +// [ // "u8", // "is_ipv6" // ], // { -// "crc": "0xde883da4" +// "crc": "0x6b7bcd0a" // } // -type IPDump struct { - IsIPv6 uint8 +type IPNeighborDump struct { + SwIfIndex uint32 + IsIPv6 uint8 } -func (*IPDump) GetMessageName() string { - return "ip_dump" +func (*IPNeighborDump) GetMessageName() string { + return "ip_neighbor_dump" } -func (*IPDump) GetCrcString() string { - return "de883da4" +func (*IPNeighborDump) GetCrcString() string { + return "6b7bcd0a" } -func (*IPDump) GetMessageType() api.MessageType { +func (*IPNeighborDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MfibSignalDump represents VPP binary API message 'mfib_signal_dump': +// IPProbeNeighbor represents VPP binary API message 'ip_probe_neighbor': // -// "mfib_signal_dump", +// "ip_probe_neighbor", // [ // "u16", // "_vl_msg_id" @@ -2761,25 +2681,42 @@ func (*IPDump) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "dst_address", +// 16 +// ], +// [ +// "u8", +// "is_ipv6" +// ], // { -// "crc": "0x51077d14" +// "crc": "0x1e44bfd7" // } // -type MfibSignalDump struct{} +type IPProbeNeighbor struct { + SwIfIndex uint32 + DstAddress []byte `struc:"[16]byte"` + IsIPv6 uint8 +} -func (*MfibSignalDump) GetMessageName() string { - return "mfib_signal_dump" +func (*IPProbeNeighbor) GetMessageName() string { + return "ip_probe_neighbor" } -func (*MfibSignalDump) GetCrcString() string { - return "51077d14" +func (*IPProbeNeighbor) GetCrcString() string { + return "1e44bfd7" } -func (*MfibSignalDump) GetMessageType() api.MessageType { +func (*IPProbeNeighbor) GetMessageType() api.MessageType { return api.RequestMessage } -// MfibSignalDetails represents VPP binary API message 'mfib_signal_details': +// IPProbeNeighborReply represents VPP binary API message 'ip_probe_neighbor_reply': // -// "mfib_signal_details", +// "ip_probe_neighbor_reply", // [ // "u16", // "_vl_msg_id" @@ -2789,57 +2726,24 @@ func (*MfibSignalDump) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "table_id" -// ], -// [ -// "u16", -// "grp_address_len" -// ], -// [ -// "u8", -// "grp_address", -// 16 -// ], -// [ -// "u8", -// "src_address", -// 16 -// ], -// [ -// "u16", -// "ip_packet_len" -// ], -// [ -// "u8", -// "ip_packet_data", -// 256 +// "i32", +// "retval" // ], // { -// "crc": "0x3f5f03f5" +// "crc": "0xe8d4e804" // } // -type MfibSignalDetails struct { - SwIfIndex uint32 - TableID uint32 - GrpAddressLen uint16 - GrpAddress []byte `struc:"[16]byte"` - SrcAddress []byte `struc:"[16]byte"` - IPPacketLen uint16 - IPPacketData []byte `struc:"[256]byte"` +type IPProbeNeighborReply struct { + Retval int32 } -func (*MfibSignalDetails) GetMessageName() string { - return "mfib_signal_details" +func (*IPProbeNeighborReply) GetMessageName() string { + return "ip_probe_neighbor_reply" } -func (*MfibSignalDetails) GetCrcString() string { - return "3f5f03f5" +func (*IPProbeNeighborReply) GetCrcString() string { + return "e8d4e804" } -func (*MfibSignalDetails) GetMessageType() api.MessageType { +func (*IPProbeNeighborReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -2965,9 +2869,9 @@ func (*IPPuntRedirect) GetMessageType() api.MessageType { return api.RequestMessage } -// IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply': +// IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details': // -// "ip_punt_redirect_reply", +// "ip_punt_redirect_details", // [ // "u16", // "_vl_msg_id" @@ -2977,24 +2881,24 @@ func (*IPPuntRedirect) GetMessageType() api.MessageType { // "context" // ], // [ -// "i32", -// "retval" +// "vl_api_punt_redirect_t", +// "punt" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0xa47f70da" // } // -type IPPuntRedirectReply struct { - Retval int32 +type IPPuntRedirectDetails struct { + Punt PuntRedirect } -func (*IPPuntRedirectReply) GetMessageName() string { - return "ip_punt_redirect_reply" +func (*IPPuntRedirectDetails) GetMessageName() string { + return "ip_punt_redirect_details" } -func (*IPPuntRedirectReply) GetCrcString() string { - return "e8d4e804" +func (*IPPuntRedirectDetails) GetCrcString() string { + return "a47f70da" } -func (*IPPuntRedirectReply) GetMessageType() api.MessageType { +func (*IPPuntRedirectDetails) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -3040,9 +2944,9 @@ func (*IPPuntRedirectDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details': +// IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply': // -// "ip_punt_redirect_details", +// "ip_punt_redirect_reply", // [ // "u16", // "_vl_msg_id" @@ -3052,30 +2956,30 @@ func (*IPPuntRedirectDump) GetMessageType() api.MessageType { // "context" // ], // [ -// "vl_api_punt_redirect_t", -// "punt" +// "i32", +// "retval" // ], // { -// "crc": "0xa47f70da" +// "crc": "0xe8d4e804" // } // -type IPPuntRedirectDetails struct { - Punt PuntRedirect +type IPPuntRedirectReply struct { + Retval int32 } -func (*IPPuntRedirectDetails) GetMessageName() string { - return "ip_punt_redirect_details" +func (*IPPuntRedirectReply) GetMessageName() string { + return "ip_punt_redirect_reply" } -func (*IPPuntRedirectDetails) GetCrcString() string { - return "a47f70da" +func (*IPPuntRedirectReply) GetCrcString() string { + return "e8d4e804" } -func (*IPPuntRedirectDetails) GetMessageType() api.MessageType { +func (*IPPuntRedirectReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del': +// IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable': // -// "ip_container_proxy_add_del", +// "ip_reassembly_enable_disable", // [ // "u16", // "_vl_msg_id" @@ -3089,51 +2993,40 @@ func (*IPPuntRedirectDetails) GetMessageType() api.MessageType { // "context" // ], // [ -// "u8", -// "ip", -// 16 -// ], -// [ -// "u8", -// "is_ip4" +// "u32", +// "sw_if_index" // ], // [ // "u8", -// "plen" -// ], -// [ -// "u32", -// "sw_if_index" +// "enable_ip4" // ], // [ // "u8", -// "is_add" +// "enable_ip6" // ], // { -// "crc": "0x0a355d39" +// "crc": "0xbb8dc5d0" // } // -type IPContainerProxyAddDel struct { - IP []byte `struc:"[16]byte"` - IsIP4 uint8 - Plen uint8 +type IPReassemblyEnableDisable struct { SwIfIndex uint32 - IsAdd uint8 + EnableIP4 uint8 + EnableIP6 uint8 } -func (*IPContainerProxyAddDel) GetMessageName() string { - return "ip_container_proxy_add_del" +func (*IPReassemblyEnableDisable) GetMessageName() string { + return "ip_reassembly_enable_disable" } -func (*IPContainerProxyAddDel) GetCrcString() string { - return "0a355d39" +func (*IPReassemblyEnableDisable) GetCrcString() string { + return "bb8dc5d0" } -func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { +func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply': +// IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply': // -// "ip_container_proxy_add_del_reply", +// "ip_reassembly_enable_disable_reply", // [ // "u16", // "_vl_msg_id" @@ -3150,23 +3043,23 @@ func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IPContainerProxyAddDelReply struct { +type IPReassemblyEnableDisableReply struct { Retval int32 } -func (*IPContainerProxyAddDelReply) GetMessageName() string { - return "ip_container_proxy_add_del_reply" +func (*IPReassemblyEnableDisableReply) GetMessageName() string { + return "ip_reassembly_enable_disable_reply" } -func (*IPContainerProxyAddDelReply) GetCrcString() string { +func (*IPReassemblyEnableDisableReply) GetCrcString() string { return "e8d4e804" } -func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { +func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump': +// IPReassemblyGet represents VPP binary API message 'ip_reassembly_get': // -// "ip_container_proxy_dump", +// "ip_reassembly_get", // [ // "u16", // "_vl_msg_id" @@ -3179,63 +3072,84 @@ func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u8", +// "is_ip6" +// ], // { -// "crc": "0x51077d14" +// "crc": "0x6fe91190" // } // -type IPContainerProxyDump struct{} +type IPReassemblyGet struct { + IsIP6 uint8 +} -func (*IPContainerProxyDump) GetMessageName() string { - return "ip_container_proxy_dump" +func (*IPReassemblyGet) GetMessageName() string { + return "ip_reassembly_get" } -func (*IPContainerProxyDump) GetCrcString() string { - return "51077d14" +func (*IPReassemblyGet) GetCrcString() string { + return "6fe91190" } -func (*IPContainerProxyDump) GetMessageType() api.MessageType { +func (*IPReassemblyGet) GetMessageType() api.MessageType { return api.RequestMessage } -// IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details': +// IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply': // -// "ip_container_proxy_details", +// "ip_reassembly_get_reply", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "timeout_ms" +// ], +// [ +// "u32", +// "max_reassemblies" // ], // [ // "u32", -// "sw_if_index" +// "expire_walk_interval_ms" // ], // [ -// "vl_api_prefix_t", -// "prefix" +// "u8", +// "is_ip6" // ], // { -// "crc": "0xd528df63" +// "crc": "0x1f90afd1" // } // -type IPContainerProxyDetails struct { - SwIfIndex uint32 - Prefix Prefix +type IPReassemblyGetReply struct { + Retval int32 + TimeoutMs uint32 + MaxReassemblies uint32 + ExpireWalkIntervalMs uint32 + IsIP6 uint8 } -func (*IPContainerProxyDetails) GetMessageName() string { - return "ip_container_proxy_details" +func (*IPReassemblyGetReply) GetMessageName() string { + return "ip_reassembly_get_reply" } -func (*IPContainerProxyDetails) GetCrcString() string { - return "d528df63" +func (*IPReassemblyGetReply) GetCrcString() string { + return "1f90afd1" } -func (*IPContainerProxyDetails) GetMessageType() api.MessageType { +func (*IPReassemblyGetReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del': +// IPReassemblySet represents VPP binary API message 'ip_reassembly_set': // -// "ip_source_and_port_range_check_add_del", +// "ip_reassembly_set", // [ // "u16", // "_vl_msg_id" @@ -3249,68 +3163,45 @@ func (*IPContainerProxyDetails) GetMessageType() api.MessageType { // "context" // ], // [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "is_add" +// "u32", +// "timeout_ms" // ], // [ -// "u8", -// "mask_length" +// "u32", +// "max_reassemblies" // ], // [ -// "u8", -// "address", -// 16 +// "u32", +// "expire_walk_interval_ms" // ], // [ // "u8", -// "number_of_ranges" -// ], -// [ -// "u16", -// "low_ports", -// 32 -// ], -// [ -// "u16", -// "high_ports", -// 32 -// ], -// [ -// "u32", -// "vrf_id" +// "is_ip6" // ], // { -// "crc": "0x03d6b03a" +// "crc": "0x1db184de" // } // -type IPSourceAndPortRangeCheckAddDel struct { - IsIPv6 uint8 - IsAdd uint8 - MaskLength uint8 - Address []byte `struc:"[16]byte"` - NumberOfRanges uint8 - LowPorts []uint16 `struc:"[32]uint16"` - HighPorts []uint16 `struc:"[32]uint16"` - VrfID uint32 +type IPReassemblySet struct { + TimeoutMs uint32 + MaxReassemblies uint32 + ExpireWalkIntervalMs uint32 + IsIP6 uint8 } -func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string { - return "ip_source_and_port_range_check_add_del" +func (*IPReassemblySet) GetMessageName() string { + return "ip_reassembly_set" } -func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string { - return "03d6b03a" +func (*IPReassemblySet) GetCrcString() string { + return "1db184de" } -func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { +func (*IPReassemblySet) GetMessageType() api.MessageType { return api.RequestMessage } -// IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply': +// IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply': // -// "ip_source_and_port_range_check_add_del_reply", +// "ip_reassembly_set_reply", // [ // "u16", // "_vl_msg_id" @@ -3327,23 +3218,23 @@ func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IPSourceAndPortRangeCheckAddDelReply struct { +type IPReassemblySetReply struct { Retval int32 } -func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string { - return "ip_source_and_port_range_check_add_del_reply" +func (*IPReassemblySetReply) GetMessageName() string { + return "ip_reassembly_set_reply" } -func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string { +func (*IPReassemblySetReply) GetCrcString() string { return "e8d4e804" } -func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType { +func (*IPReassemblySetReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del': +// IPScanNeighborEnableDisable represents VPP binary API message 'ip_scan_neighbor_enable_disable': // -// "ip_source_and_port_range_check_interface_add_del", +// "ip_scan_neighbor_enable_disable", // [ // "u16", // "_vl_msg_id" @@ -3358,54 +3249,54 @@ func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType { // ], // [ // "u8", -// "is_add" +// "mode" // ], // [ -// "u32", -// "sw_if_index" +// "u8", +// "scan_interval" // ], // [ -// "u32", -// "tcp_in_vrf_id" +// "u8", +// "max_proc_time" // ], // [ -// "u32", -// "tcp_out_vrf_id" +// "u8", +// "max_update" // ], // [ -// "u32", -// "udp_in_vrf_id" +// "u8", +// "scan_int_delay" // ], // [ -// "u32", -// "udp_out_vrf_id" +// "u8", +// "stale_threshold" // ], // { -// "crc": "0x6966bc44" +// "crc": "0x0a6bf57a" // } // -type IPSourceAndPortRangeCheckInterfaceAddDel struct { - IsAdd uint8 - SwIfIndex uint32 - TCPInVrfID uint32 - TCPOutVrfID uint32 - UDPInVrfID uint32 - UDPOutVrfID uint32 +type IPScanNeighborEnableDisable struct { + Mode uint8 + ScanInterval uint8 + MaxProcTime uint8 + MaxUpdate uint8 + ScanIntDelay uint8 + StaleThreshold uint8 } -func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string { - return "ip_source_and_port_range_check_interface_add_del" +func (*IPScanNeighborEnableDisable) GetMessageName() string { + return "ip_scan_neighbor_enable_disable" } -func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string { - return "6966bc44" +func (*IPScanNeighborEnableDisable) GetCrcString() string { + return "0a6bf57a" } -func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType { +func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply': +// IPScanNeighborEnableDisableReply represents VPP binary API message 'ip_scan_neighbor_enable_disable_reply': // -// "ip_source_and_port_range_check_interface_add_del_reply", +// "ip_scan_neighbor_enable_disable_reply", // [ // "u16", // "_vl_msg_id" @@ -3422,23 +3313,23 @@ func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageTyp // "crc": "0xe8d4e804" // } // -type IPSourceAndPortRangeCheckInterfaceAddDelReply struct { +type IPScanNeighborEnableDisableReply struct { Retval int32 } -func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string { - return "ip_source_and_port_range_check_interface_add_del_reply" +func (*IPScanNeighborEnableDisableReply) GetMessageName() string { + return "ip_scan_neighbor_enable_disable_reply" } -func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string { +func (*IPScanNeighborEnableDisableReply) GetCrcString() string { return "e8d4e804" } -func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType { +func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPSourceCheckInterfaceAddDel represents VPP binary API message 'ip_source_check_interface_add_del': +// IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del': // -// "ip_source_check_interface_add_del", +// "ip_source_and_port_range_check_add_del", // [ // "u16", // "_vl_msg_id" @@ -3453,39 +3344,67 @@ func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.Messa // ], // [ // "u8", +// "is_ipv6" +// ], +// [ +// "u8", // "is_add" // ], // [ // "u8", -// "loose" +// "mask_length" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// [ +// "u8", +// "number_of_ranges" +// ], +// [ +// "u16", +// "low_ports", +// 32 +// ], +// [ +// "u16", +// "high_ports", +// 32 // ], // [ // "u32", -// "sw_if_index" +// "vrf_id" // ], // { -// "crc": "0x0a60152a" +// "crc": "0x03d6b03a" // } // -type IPSourceCheckInterfaceAddDel struct { - IsAdd uint8 - Loose uint8 - SwIfIndex uint32 +type IPSourceAndPortRangeCheckAddDel struct { + IsIPv6 uint8 + IsAdd uint8 + MaskLength uint8 + Address []byte `struc:"[16]byte"` + NumberOfRanges uint8 + LowPorts []uint16 `struc:"[32]uint16"` + HighPorts []uint16 `struc:"[32]uint16"` + VrfID uint32 } -func (*IPSourceCheckInterfaceAddDel) GetMessageName() string { - return "ip_source_check_interface_add_del" +func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string { + return "ip_source_and_port_range_check_add_del" } -func (*IPSourceCheckInterfaceAddDel) GetCrcString() string { - return "0a60152a" +func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string { + return "03d6b03a" } -func (*IPSourceCheckInterfaceAddDel) GetMessageType() api.MessageType { +func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPSourceCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_check_interface_add_del_reply': +// IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply': // -// "ip_source_check_interface_add_del_reply", +// "ip_source_and_port_range_check_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -3502,23 +3421,23 @@ func (*IPSourceCheckInterfaceAddDel) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IPSourceCheckInterfaceAddDelReply struct { +type IPSourceAndPortRangeCheckAddDelReply struct { Retval int32 } -func (*IPSourceCheckInterfaceAddDelReply) GetMessageName() string { - return "ip_source_check_interface_add_del_reply" +func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string { + return "ip_source_and_port_range_check_add_del_reply" } -func (*IPSourceCheckInterfaceAddDelReply) GetCrcString() string { +func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string { return "e8d4e804" } -func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType { +func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPScanNeighborEnableDisable represents VPP binary API message 'ip_scan_neighbor_enable_disable': +// IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del': // -// "ip_scan_neighbor_enable_disable", +// "ip_source_and_port_range_check_interface_add_del", // [ // "u16", // "_vl_msg_id" @@ -3533,54 +3452,54 @@ func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType { // ], // [ // "u8", -// "mode" +// "is_add" // ], // [ -// "u8", -// "scan_interval" +// "u32", +// "sw_if_index" // ], // [ -// "u8", -// "max_proc_time" +// "u32", +// "tcp_in_vrf_id" // ], // [ -// "u8", -// "max_update" +// "u32", +// "tcp_out_vrf_id" // ], // [ -// "u8", -// "scan_int_delay" +// "u32", +// "udp_in_vrf_id" // ], // [ -// "u8", -// "stale_threshold" +// "u32", +// "udp_out_vrf_id" // ], // { -// "crc": "0x0a6bf57a" +// "crc": "0x6966bc44" // } // -type IPScanNeighborEnableDisable struct { - Mode uint8 - ScanInterval uint8 - MaxProcTime uint8 - MaxUpdate uint8 - ScanIntDelay uint8 - StaleThreshold uint8 +type IPSourceAndPortRangeCheckInterfaceAddDel struct { + IsAdd uint8 + SwIfIndex uint32 + TCPInVrfID uint32 + TCPOutVrfID uint32 + UDPInVrfID uint32 + UDPOutVrfID uint32 } -func (*IPScanNeighborEnableDisable) GetMessageName() string { - return "ip_scan_neighbor_enable_disable" +func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string { + return "ip_source_and_port_range_check_interface_add_del" } -func (*IPScanNeighborEnableDisable) GetCrcString() string { - return "0a6bf57a" +func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string { + return "6966bc44" } -func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType { +func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPScanNeighborEnableDisableReply represents VPP binary API message 'ip_scan_neighbor_enable_disable_reply': +// IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply': // -// "ip_scan_neighbor_enable_disable_reply", +// "ip_source_and_port_range_check_interface_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -3597,23 +3516,23 @@ func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IPScanNeighborEnableDisableReply struct { +type IPSourceAndPortRangeCheckInterfaceAddDelReply struct { Retval int32 } -func (*IPScanNeighborEnableDisableReply) GetMessageName() string { - return "ip_scan_neighbor_enable_disable_reply" +func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string { + return "ip_source_and_port_range_check_interface_add_del_reply" } -func (*IPScanNeighborEnableDisableReply) GetCrcString() string { +func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" } -func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType { +func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPProbeNeighbor represents VPP binary API message 'ip_probe_neighbor': +// IPSourceCheckInterfaceAddDel represents VPP binary API message 'ip_source_check_interface_add_del': // -// "ip_probe_neighbor", +// "ip_source_check_interface_add_del", // [ // "u16", // "_vl_msg_id" @@ -3627,41 +3546,40 @@ func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" +// "u8", +// "is_add" // ], // [ // "u8", -// "dst_address", -// 16 +// "loose" // ], // [ -// "u8", -// "is_ipv6" +// "u32", +// "sw_if_index" // ], // { -// "crc": "0x1e44bfd7" +// "crc": "0x0a60152a" // } // -type IPProbeNeighbor struct { - SwIfIndex uint32 - DstAddress []byte `struc:"[16]byte"` - IsIPv6 uint8 +type IPSourceCheckInterfaceAddDel struct { + IsAdd uint8 + Loose uint8 + SwIfIndex uint32 } -func (*IPProbeNeighbor) GetMessageName() string { - return "ip_probe_neighbor" +func (*IPSourceCheckInterfaceAddDel) GetMessageName() string { + return "ip_source_check_interface_add_del" } -func (*IPProbeNeighbor) GetCrcString() string { - return "1e44bfd7" +func (*IPSourceCheckInterfaceAddDel) GetCrcString() string { + return "0a60152a" } -func (*IPProbeNeighbor) GetMessageType() api.MessageType { +func (*IPSourceCheckInterfaceAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPProbeNeighborReply represents VPP binary API message 'ip_probe_neighbor_reply': +// IPSourceCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_check_interface_add_del_reply': // -// "ip_probe_neighbor_reply", +// "ip_source_check_interface_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -3678,23 +3596,23 @@ func (*IPProbeNeighbor) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IPProbeNeighborReply struct { +type IPSourceCheckInterfaceAddDelReply struct { Retval int32 } -func (*IPProbeNeighborReply) GetMessageName() string { - return "ip_probe_neighbor_reply" +func (*IPSourceCheckInterfaceAddDelReply) GetMessageName() string { + return "ip_source_check_interface_add_del_reply" } -func (*IPProbeNeighborReply) GetCrcString() string { +func (*IPSourceCheckInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" } -func (*IPProbeNeighborReply) GetMessageType() api.MessageType { +func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// WantIP4ArpEvents represents VPP binary API message 'want_ip4_arp_events': +// IPTableAddDel represents VPP binary API message 'ip_table_add_del': // -// "want_ip4_arp_events", +// "ip_table_add_del", // [ // "u16", // "_vl_msg_id" @@ -3708,40 +3626,46 @@ func (*IPProbeNeighborReply) GetMessageType() api.MessageType { // "context" // ], // [ +// "u32", +// "table_id" +// ], +// [ // "u8", -// "enable_disable" +// "is_ipv6" // ], // [ -// "u32", -// "pid" +// "u8", +// "is_add" // ], // [ -// "u32", -// "address" +// "u8", +// "name", +// 64 // ], // { -// "crc": "0x77e06379" +// "crc": "0x0240c89d" // } // -type WantIP4ArpEvents struct { - EnableDisable uint8 - PID uint32 - Address uint32 +type IPTableAddDel struct { + TableID uint32 + IsIPv6 uint8 + IsAdd uint8 + Name []byte `struc:"[64]byte"` } -func (*WantIP4ArpEvents) GetMessageName() string { - return "want_ip4_arp_events" +func (*IPTableAddDel) GetMessageName() string { + return "ip_table_add_del" } -func (*WantIP4ArpEvents) GetCrcString() string { - return "77e06379" +func (*IPTableAddDel) GetCrcString() string { + return "0240c89d" } -func (*WantIP4ArpEvents) GetMessageType() api.MessageType { +func (*IPTableAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// WantIP4ArpEventsReply represents VPP binary API message 'want_ip4_arp_events_reply': +// IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply': // -// "want_ip4_arp_events_reply", +// "ip_table_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -3758,77 +3682,61 @@ func (*WantIP4ArpEvents) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type WantIP4ArpEventsReply struct { +type IPTableAddDelReply struct { Retval int32 } -func (*WantIP4ArpEventsReply) GetMessageName() string { - return "want_ip4_arp_events_reply" +func (*IPTableAddDelReply) GetMessageName() string { + return "ip_table_add_del_reply" } -func (*WantIP4ArpEventsReply) GetCrcString() string { +func (*IPTableAddDelReply) GetCrcString() string { return "e8d4e804" } -func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType { +func (*IPTableAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP4ArpEvent represents VPP binary API message 'ip4_arp_event': +// IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details': // -// "ip4_arp_event", +// "ip_unnumbered_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", -// "address" -// ], -// [ -// "u32", -// "pid" +// "context" // ], // [ // "u32", // "sw_if_index" // ], // [ -// "u8", -// "new_mac", -// 6 -// ], -// [ -// "u8", -// "mac_ip" +// "u32", +// "ip_sw_if_index" // ], // { -// "crc": "0xef7235f7" +// "crc": "0xae694cf4" // } // -type IP4ArpEvent struct { - Address uint32 - PID uint32 - SwIfIndex uint32 - NewMac []byte `struc:"[6]byte"` - MacIP uint8 +type IPUnnumberedDetails struct { + SwIfIndex uint32 + IPSwIfIndex uint32 } -func (*IP4ArpEvent) GetMessageName() string { - return "ip4_arp_event" +func (*IPUnnumberedDetails) GetMessageName() string { + return "ip_unnumbered_details" } -func (*IP4ArpEvent) GetCrcString() string { - return "ef7235f7" +func (*IPUnnumberedDetails) GetCrcString() string { + return "ae694cf4" } -func (*IP4ArpEvent) GetMessageType() api.MessageType { - return api.EventMessage +func (*IPUnnumberedDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// WantIP6NdEvents represents VPP binary API message 'want_ip6_nd_events': +// IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump': // -// "want_ip6_nd_events", +// "ip_unnumbered_dump", // [ // "u16", // "_vl_msg_id" @@ -3842,74 +3750,96 @@ func (*IP4ArpEvent) GetMessageType() api.MessageType { // "context" // ], // [ -// "u8", -// "enable_disable" -// ], -// [ // "u32", -// "pid" -// ], -// [ -// "u8", -// "address", -// 16 +// "sw_if_index" // ], // { -// "crc": "0x1cf65fbb" +// "crc": "0x529cb13f" // } // -type WantIP6NdEvents struct { - EnableDisable uint8 - PID uint32 - Address []byte `struc:"[16]byte"` +type IPUnnumberedDump struct { + SwIfIndex uint32 } -func (*WantIP6NdEvents) GetMessageName() string { - return "want_ip6_nd_events" +func (*IPUnnumberedDump) GetMessageName() string { + return "ip_unnumbered_dump" } -func (*WantIP6NdEvents) GetCrcString() string { - return "1cf65fbb" +func (*IPUnnumberedDump) GetCrcString() string { + return "529cb13f" } -func (*WantIP6NdEvents) GetMessageType() api.MessageType { +func (*IPUnnumberedDump) GetMessageType() api.MessageType { return api.RequestMessage } -// WantIP6NdEventsReply represents VPP binary API message 'want_ip6_nd_events_reply': +// MfibSignalDetails represents VPP binary API message 'mfib_signal_details': // -// "want_ip6_nd_events_reply", +// "mfib_signal_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], // [ // "u16", -// "_vl_msg_id" +// "grp_address_len" // ], // [ -// "u32", -// "context" +// "u8", +// "grp_address", +// 16 // ], // [ -// "i32", -// "retval" +// "u8", +// "src_address", +// 16 +// ], +// [ +// "u16", +// "ip_packet_len" +// ], +// [ +// "u8", +// "ip_packet_data", +// 256 // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x3f5f03f5" // } // -type WantIP6NdEventsReply struct { - Retval int32 +type MfibSignalDetails struct { + SwIfIndex uint32 + TableID uint32 + GrpAddressLen uint16 + GrpAddress []byte `struc:"[16]byte"` + SrcAddress []byte `struc:"[16]byte"` + IPPacketLen uint16 + IPPacketData []byte `struc:"[256]byte"` } -func (*WantIP6NdEventsReply) GetMessageName() string { - return "want_ip6_nd_events_reply" +func (*MfibSignalDetails) GetMessageName() string { + return "mfib_signal_details" } -func (*WantIP6NdEventsReply) GetCrcString() string { - return "e8d4e804" +func (*MfibSignalDetails) GetCrcString() string { + return "3f5f03f5" } -func (*WantIP6NdEventsReply) GetMessageType() api.MessageType { +func (*MfibSignalDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6NdEvent represents VPP binary API message 'ip6_nd_event': +// MfibSignalDump represents VPP binary API message 'mfib_signal_dump': // -// "ip6_nd_event", +// "mfib_signal_dump", // [ // "u16", // "_vl_msg_id" @@ -3920,51 +3850,27 @@ func (*WantIP6NdEventsReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "pid" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "address", -// 16 -// ], -// [ -// "u8", -// "new_mac", -// 6 -// ], -// [ -// "u8", -// "mac_ip" +// "context" // ], // { -// "crc": "0x96ab2fdd" +// "crc": "0x51077d14" // } // -type IP6NdEvent struct { - PID uint32 - SwIfIndex uint32 - Address []byte `struc:"[16]byte"` - NewMac []byte `struc:"[6]byte"` - MacIP uint8 -} +type MfibSignalDump struct{} -func (*IP6NdEvent) GetMessageName() string { - return "ip6_nd_event" +func (*MfibSignalDump) GetMessageName() string { + return "mfib_signal_dump" } -func (*IP6NdEvent) GetCrcString() string { - return "96ab2fdd" +func (*MfibSignalDump) GetCrcString() string { + return "51077d14" } -func (*IP6NdEvent) GetMessageType() api.MessageType { - return api.EventMessage +func (*MfibSignalDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// WantIP6RaEvents represents VPP binary API message 'want_ip6_ra_events': +// ProxyArpAddDel represents VPP binary API message 'proxy_arp_add_del': // -// "want_ip6_ra_events", +// "proxy_arp_add_del", // [ // "u16", // "_vl_msg_id" @@ -3979,34 +3885,34 @@ func (*IP6NdEvent) GetMessageType() api.MessageType { // ], // [ // "u8", -// "enable_disable" +// "is_add" // ], // [ -// "u32", -// "pid" +// "vl_api_proxy_arp_t", +// "proxy" // ], // { -// "crc": "0x05b454b5" +// "crc": "0x227988d9" // } // -type WantIP6RaEvents struct { - EnableDisable uint8 - PID uint32 +type ProxyArpAddDel struct { + IsAdd uint8 + Proxy ProxyArp } -func (*WantIP6RaEvents) GetMessageName() string { - return "want_ip6_ra_events" +func (*ProxyArpAddDel) GetMessageName() string { + return "proxy_arp_add_del" } -func (*WantIP6RaEvents) GetCrcString() string { - return "05b454b5" +func (*ProxyArpAddDel) GetCrcString() string { + return "227988d9" } -func (*WantIP6RaEvents) GetMessageType() api.MessageType { +func (*ProxyArpAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// WantIP6RaEventsReply represents VPP binary API message 'want_ip6_ra_events_reply': +// ProxyArpAddDelReply represents VPP binary API message 'proxy_arp_add_del_reply': // -// "want_ip6_ra_events_reply", +// "proxy_arp_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -4023,179 +3929,151 @@ func (*WantIP6RaEvents) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type WantIP6RaEventsReply struct { +type ProxyArpAddDelReply struct { Retval int32 } -func (*WantIP6RaEventsReply) GetMessageName() string { - return "want_ip6_ra_events_reply" +func (*ProxyArpAddDelReply) GetMessageName() string { + return "proxy_arp_add_del_reply" } -func (*WantIP6RaEventsReply) GetCrcString() string { +func (*ProxyArpAddDelReply) GetCrcString() string { return "e8d4e804" } -func (*WantIP6RaEventsReply) GetMessageType() api.MessageType { +func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6RaEvent represents VPP binary API message 'ip6_ra_event': +// ProxyArpDetails represents VPP binary API message 'proxy_arp_details': // -// "ip6_ra_event", +// "proxy_arp_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", -// "pid" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "router_address", -// 16 -// ], -// [ -// "u8", -// "current_hop_limit" +// "context" // ], // [ -// "u8", -// "flags" +// "vl_api_proxy_arp_t", +// "proxy" // ], +// { +// "crc": "0x9b707c77" +// } +// +type ProxyArpDetails struct { + Proxy ProxyArp +} + +func (*ProxyArpDetails) GetMessageName() string { + return "proxy_arp_details" +} +func (*ProxyArpDetails) GetCrcString() string { + return "9b707c77" +} +func (*ProxyArpDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// ProxyArpDump represents VPP binary API message 'proxy_arp_dump': +// +// "proxy_arp_dump", // [ // "u16", -// "router_lifetime_in_sec" -// ], -// [ -// "u32", -// "neighbor_reachable_time_in_msec" +// "_vl_msg_id" // ], // [ // "u32", -// "time_in_msec_between_retransmitted_neighbor_solicitations" +// "client_index" // ], // [ // "u32", -// "n_prefixes" -// ], -// [ -// "vl_api_ip6_ra_prefix_info_t", -// "prefixes", -// 0, -// "n_prefixes" +// "context" // ], // { -// "crc": "0xc5e54257" +// "crc": "0x51077d14" // } // -type IP6RaEvent struct { - PID uint32 - SwIfIndex uint32 - RouterAddress []byte `struc:"[16]byte"` - CurrentHopLimit uint8 - Flags uint8 - RouterLifetimeInSec uint16 - NeighborReachableTimeInMsec uint32 - TimeInMsecBetweenRetransmittedNeighborSolicitations uint32 - NPrefixes uint32 `struc:"sizeof=Prefixes"` - Prefixes []IP6RaPrefixInfo -} +type ProxyArpDump struct{} -func (*IP6RaEvent) GetMessageName() string { - return "ip6_ra_event" +func (*ProxyArpDump) GetMessageName() string { + return "proxy_arp_dump" } -func (*IP6RaEvent) GetCrcString() string { - return "c5e54257" +func (*ProxyArpDump) GetCrcString() string { + return "51077d14" } -func (*IP6RaEvent) GetMessageType() api.MessageType { - return api.EventMessage +func (*ProxyArpDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// ProxyArpAddDel represents VPP binary API message 'proxy_arp_add_del': +// ProxyArpIntfcDetails represents VPP binary API message 'proxy_arp_intfc_details': // -// "proxy_arp_add_del", +// "proxy_arp_intfc_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", // "context" // ], // [ -// "u8", -// "is_add" -// ], -// [ -// "vl_api_proxy_arp_t", -// "proxy" +// "u32", +// "sw_if_index" // ], // { -// "crc": "0x227988d9" +// "crc": "0xf6458e5f" // } // -type ProxyArpAddDel struct { - IsAdd uint8 - Proxy ProxyArp +type ProxyArpIntfcDetails struct { + SwIfIndex uint32 } -func (*ProxyArpAddDel) GetMessageName() string { - return "proxy_arp_add_del" -} -func (*ProxyArpAddDel) GetCrcString() string { - return "227988d9" +func (*ProxyArpIntfcDetails) GetMessageName() string { + return "proxy_arp_intfc_details" } -func (*ProxyArpAddDel) GetMessageType() api.MessageType { - return api.RequestMessage +func (*ProxyArpIntfcDetails) GetCrcString() string { + return "f6458e5f" +} +func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// ProxyArpAddDelReply represents VPP binary API message 'proxy_arp_add_del_reply': +// ProxyArpIntfcDump represents VPP binary API message 'proxy_arp_intfc_dump': // -// "proxy_arp_add_del_reply", +// "proxy_arp_intfc_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" +// "client_index" // ], // [ -// "i32", -// "retval" +// "u32", +// "context" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x51077d14" // } // -type ProxyArpAddDelReply struct { - Retval int32 -} +type ProxyArpIntfcDump struct{} -func (*ProxyArpAddDelReply) GetMessageName() string { - return "proxy_arp_add_del_reply" +func (*ProxyArpIntfcDump) GetMessageName() string { + return "proxy_arp_intfc_dump" } -func (*ProxyArpAddDelReply) GetCrcString() string { - return "e8d4e804" +func (*ProxyArpIntfcDump) GetCrcString() string { + return "51077d14" } -func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*ProxyArpIntfcDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// ProxyArpDump represents VPP binary API message 'proxy_arp_dump': +// ProxyArpIntfcEnableDisable represents VPP binary API message 'proxy_arp_intfc_enable_disable': // -// "proxy_arp_dump", +// "proxy_arp_intfc_enable_disable", // [ // "u16", // "_vl_msg_id" @@ -4208,25 +4086,36 @@ func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "enable_disable" +// ], // { -// "crc": "0x51077d14" +// "crc": "0x69d24598" // } // -type ProxyArpDump struct{} +type ProxyArpIntfcEnableDisable struct { + SwIfIndex uint32 + EnableDisable uint8 +} -func (*ProxyArpDump) GetMessageName() string { - return "proxy_arp_dump" +func (*ProxyArpIntfcEnableDisable) GetMessageName() string { + return "proxy_arp_intfc_enable_disable" } -func (*ProxyArpDump) GetCrcString() string { - return "51077d14" +func (*ProxyArpIntfcEnableDisable) GetCrcString() string { + return "69d24598" } -func (*ProxyArpDump) GetMessageType() api.MessageType { +func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// ProxyArpDetails represents VPP binary API message 'proxy_arp_details': +// ProxyArpIntfcEnableDisableReply represents VPP binary API message 'proxy_arp_intfc_enable_disable_reply': // -// "proxy_arp_details", +// "proxy_arp_intfc_enable_disable_reply", // [ // "u16", // "_vl_msg_id" @@ -4236,30 +4125,30 @@ func (*ProxyArpDump) GetMessageType() api.MessageType { // "context" // ], // [ -// "vl_api_proxy_arp_t", -// "proxy" +// "i32", +// "retval" // ], // { -// "crc": "0x9b707c77" +// "crc": "0xe8d4e804" // } // -type ProxyArpDetails struct { - Proxy ProxyArp +type ProxyArpIntfcEnableDisableReply struct { + Retval int32 } -func (*ProxyArpDetails) GetMessageName() string { - return "proxy_arp_details" +func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string { + return "proxy_arp_intfc_enable_disable_reply" } -func (*ProxyArpDetails) GetCrcString() string { - return "9b707c77" +func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string { + return "e8d4e804" } -func (*ProxyArpDetails) GetMessageType() api.MessageType { +func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ProxyArpIntfcEnableDisable represents VPP binary API message 'proxy_arp_intfc_enable_disable': +// ResetFib represents VPP binary API message 'reset_fib': // -// "proxy_arp_intfc_enable_disable", +// "reset_fib", // [ // "u16", // "_vl_msg_id" @@ -4274,34 +4163,34 @@ func (*ProxyArpDetails) GetMessageType() api.MessageType { // ], // [ // "u32", -// "sw_if_index" +// "vrf_id" // ], // [ // "u8", -// "enable_disable" +// "is_ipv6" // ], // { -// "crc": "0x69d24598" +// "crc": "0x8553ebd9" // } // -type ProxyArpIntfcEnableDisable struct { - SwIfIndex uint32 - EnableDisable uint8 +type ResetFib struct { + VrfID uint32 + IsIPv6 uint8 } -func (*ProxyArpIntfcEnableDisable) GetMessageName() string { - return "proxy_arp_intfc_enable_disable" +func (*ResetFib) GetMessageName() string { + return "reset_fib" } -func (*ProxyArpIntfcEnableDisable) GetCrcString() string { - return "69d24598" +func (*ResetFib) GetCrcString() string { + return "8553ebd9" } -func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { +func (*ResetFib) GetMessageType() api.MessageType { return api.RequestMessage } -// ProxyArpIntfcEnableDisableReply represents VPP binary API message 'proxy_arp_intfc_enable_disable_reply': +// ResetFibReply represents VPP binary API message 'reset_fib_reply': // -// "proxy_arp_intfc_enable_disable_reply", +// "reset_fib_reply", // [ // "u16", // "_vl_msg_id" @@ -4318,23 +4207,23 @@ func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type ProxyArpIntfcEnableDisableReply struct { +type ResetFibReply struct { Retval int32 } -func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string { - return "proxy_arp_intfc_enable_disable_reply" +func (*ResetFibReply) GetMessageName() string { + return "reset_fib_reply" } -func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string { +func (*ResetFibReply) GetCrcString() string { return "e8d4e804" } -func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { +func (*ResetFibReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ProxyArpIntfcDump represents VPP binary API message 'proxy_arp_intfc_dump': +// SetArpNeighborLimit represents VPP binary API message 'set_arp_neighbor_limit': // -// "proxy_arp_intfc_dump", +// "set_arp_neighbor_limit", // [ // "u16", // "_vl_msg_id" @@ -4347,25 +4236,36 @@ func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u32", +// "arp_neighbor_limit" +// ], // { -// "crc": "0x51077d14" +// "crc": "0x97d01fd6" // } // -type ProxyArpIntfcDump struct{} +type SetArpNeighborLimit struct { + IsIPv6 uint8 + ArpNeighborLimit uint32 +} -func (*ProxyArpIntfcDump) GetMessageName() string { - return "proxy_arp_intfc_dump" +func (*SetArpNeighborLimit) GetMessageName() string { + return "set_arp_neighbor_limit" } -func (*ProxyArpIntfcDump) GetCrcString() string { - return "51077d14" +func (*SetArpNeighborLimit) GetCrcString() string { + return "97d01fd6" } -func (*ProxyArpIntfcDump) GetMessageType() api.MessageType { +func (*SetArpNeighborLimit) GetMessageType() api.MessageType { return api.RequestMessage } -// ProxyArpIntfcDetails represents VPP binary API message 'proxy_arp_intfc_details': +// SetArpNeighborLimitReply represents VPP binary API message 'set_arp_neighbor_limit_reply': // -// "proxy_arp_intfc_details", +// "set_arp_neighbor_limit_reply", // [ // "u16", // "_vl_msg_id" @@ -4375,30 +4275,30 @@ func (*ProxyArpIntfcDump) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" +// "i32", +// "retval" // ], // { -// "crc": "0xf6458e5f" +// "crc": "0xe8d4e804" // } // -type ProxyArpIntfcDetails struct { - SwIfIndex uint32 +type SetArpNeighborLimitReply struct { + Retval int32 } -func (*ProxyArpIntfcDetails) GetMessageName() string { - return "proxy_arp_intfc_details" +func (*SetArpNeighborLimitReply) GetMessageName() string { + return "set_arp_neighbor_limit_reply" } -func (*ProxyArpIntfcDetails) GetCrcString() string { - return "f6458e5f" +func (*SetArpNeighborLimitReply) GetCrcString() string { + return "e8d4e804" } -func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType { +func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ResetFib represents VPP binary API message 'reset_fib': +// SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash': // -// "reset_fib", +// "set_ip_flow_hash", // [ // "u16", // "_vl_msg_id" @@ -4419,28 +4319,63 @@ func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType { // "u8", // "is_ipv6" // ], +// [ +// "u8", +// "src" +// ], +// [ +// "u8", +// "dst" +// ], +// [ +// "u8", +// "sport" +// ], +// [ +// "u8", +// "dport" +// ], +// [ +// "u8", +// "proto" +// ], +// [ +// "u8", +// "reverse" +// ], +// [ +// "u8", +// "symmetric" +// ], // { -// "crc": "0x8553ebd9" +// "crc": "0xa9084bfb" // } // -type ResetFib struct { - VrfID uint32 - IsIPv6 uint8 +type SetIPFlowHash struct { + VrfID uint32 + IsIPv6 uint8 + Src uint8 + Dst uint8 + Sport uint8 + Dport uint8 + Proto uint8 + Reverse uint8 + Symmetric uint8 } -func (*ResetFib) GetMessageName() string { - return "reset_fib" +func (*SetIPFlowHash) GetMessageName() string { + return "set_ip_flow_hash" } -func (*ResetFib) GetCrcString() string { - return "8553ebd9" +func (*SetIPFlowHash) GetCrcString() string { + return "a9084bfb" } -func (*ResetFib) GetMessageType() api.MessageType { +func (*SetIPFlowHash) GetMessageType() api.MessageType { return api.RequestMessage } -// ResetFibReply represents VPP binary API message 'reset_fib_reply': +// SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply': // -// "reset_fib_reply", +// "set_ip_flow_hash_reply", // [ // "u16", // "_vl_msg_id" @@ -4457,23 +4392,23 @@ func (*ResetFib) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type ResetFibReply struct { +type SetIPFlowHashReply struct { Retval int32 } -func (*ResetFibReply) GetMessageName() string { - return "reset_fib_reply" +func (*SetIPFlowHashReply) GetMessageName() string { + return "set_ip_flow_hash_reply" } -func (*ResetFibReply) GetCrcString() string { +func (*SetIPFlowHashReply) GetCrcString() string { return "e8d4e804" } -func (*ResetFibReply) GetMessageType() api.MessageType { +func (*SetIPFlowHashReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SetArpNeighborLimit represents VPP binary API message 'set_arp_neighbor_limit': +// SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable': // -// "set_arp_neighbor_limit", +// "sw_interface_ip6_enable_disable", // [ // "u16", // "_vl_msg_id" @@ -4487,35 +4422,35 @@ func (*ResetFibReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u8", -// "is_ipv6" +// "u32", +// "sw_if_index" // ], // [ -// "u32", -// "arp_neighbor_limit" +// "u8", +// "enable" // ], // { -// "crc": "0x97d01fd6" +// "crc": "0xa36fadc0" // } // -type SetArpNeighborLimit struct { - IsIPv6 uint8 - ArpNeighborLimit uint32 +type SwInterfaceIP6EnableDisable struct { + SwIfIndex uint32 + Enable uint8 } -func (*SetArpNeighborLimit) GetMessageName() string { - return "set_arp_neighbor_limit" +func (*SwInterfaceIP6EnableDisable) GetMessageName() string { + return "sw_interface_ip6_enable_disable" } -func (*SetArpNeighborLimit) GetCrcString() string { - return "97d01fd6" +func (*SwInterfaceIP6EnableDisable) GetCrcString() string { + return "a36fadc0" } -func (*SetArpNeighborLimit) GetMessageType() api.MessageType { +func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// SetArpNeighborLimitReply represents VPP binary API message 'set_arp_neighbor_limit_reply': +// SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply': // -// "set_arp_neighbor_limit_reply", +// "sw_interface_ip6_enable_disable_reply", // [ // "u16", // "_vl_msg_id" @@ -4532,23 +4467,23 @@ func (*SetArpNeighborLimit) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type SetArpNeighborLimitReply struct { +type SwInterfaceIP6EnableDisableReply struct { Retval int32 } -func (*SetArpNeighborLimitReply) GetMessageName() string { - return "set_arp_neighbor_limit_reply" +func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string { + return "sw_interface_ip6_enable_disable_reply" } -func (*SetArpNeighborLimitReply) GetCrcString() string { +func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string { return "e8d4e804" } -func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType { +func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IoamEnable represents VPP binary API message 'ioam_enable': +// SwInterfaceIP6ndRaConfig represents VPP binary API message 'sw_interface_ip6nd_ra_config': // -// "ioam_enable", +// "sw_interface_ip6nd_ra_config", // [ // "u16", // "_vl_msg_id" @@ -4562,55 +4497,95 @@ func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u16", -// "id" +// "u32", +// "sw_if_index" // ], // [ // "u8", -// "seqno" +// "suppress" // ], // [ // "u8", -// "analyse" +// "managed" // ], // [ // "u8", -// "pot_enable" +// "other" // ], // [ // "u8", -// "trace_enable" +// "ll_option" +// ], +// [ +// "u8", +// "send_unicast" +// ], +// [ +// "u8", +// "cease" +// ], +// [ +// "u8", +// "is_no" +// ], +// [ +// "u8", +// "default_router" // ], // [ // "u32", -// "node_id" +// "max_interval" +// ], +// [ +// "u32", +// "min_interval" +// ], +// [ +// "u32", +// "lifetime" +// ], +// [ +// "u32", +// "initial_count" +// ], +// [ +// "u32", +// "initial_interval" // ], // { -// "crc": "0x9392e032" +// "crc": "0xc3f02daa" // } // -type IoamEnable struct { - ID uint16 - Seqno uint8 - Analyse uint8 - PotEnable uint8 - TraceEnable uint8 - NodeID uint32 +type SwInterfaceIP6ndRaConfig struct { + SwIfIndex uint32 + Suppress uint8 + Managed uint8 + Other uint8 + LlOption uint8 + SendUnicast uint8 + Cease uint8 + IsNo uint8 + DefaultRouter uint8 + MaxInterval uint32 + MinInterval uint32 + Lifetime uint32 + InitialCount uint32 + InitialInterval uint32 } -func (*IoamEnable) GetMessageName() string { - return "ioam_enable" +func (*SwInterfaceIP6ndRaConfig) GetMessageName() string { + return "sw_interface_ip6nd_ra_config" } -func (*IoamEnable) GetCrcString() string { - return "9392e032" +func (*SwInterfaceIP6ndRaConfig) GetCrcString() string { + return "c3f02daa" } -func (*IoamEnable) GetMessageType() api.MessageType { +func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType { return api.RequestMessage } -// IoamEnableReply represents VPP binary API message 'ioam_enable_reply': +// SwInterfaceIP6ndRaConfigReply represents VPP binary API message 'sw_interface_ip6nd_ra_config_reply': // -// "ioam_enable_reply", +// "sw_interface_ip6nd_ra_config_reply", // [ // "u16", // "_vl_msg_id" @@ -4627,23 +4602,23 @@ func (*IoamEnable) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IoamEnableReply struct { +type SwInterfaceIP6ndRaConfigReply struct { Retval int32 } -func (*IoamEnableReply) GetMessageName() string { - return "ioam_enable_reply" +func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string { + return "sw_interface_ip6nd_ra_config_reply" } -func (*IoamEnableReply) GetCrcString() string { +func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string { return "e8d4e804" } -func (*IoamEnableReply) GetMessageType() api.MessageType { +func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IoamDisable represents VPP binary API message 'ioam_disable': +// SwInterfaceIP6ndRaPrefix represents VPP binary API message 'sw_interface_ip6nd_ra_prefix': // -// "ioam_disable", +// "sw_interface_ip6nd_ra_prefix", // [ // "u16", // "_vl_msg_id" @@ -4657,30 +4632,81 @@ func (*IoamEnableReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u16", -// "id" +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "use_default" +// ], +// [ +// "u8", +// "no_advertise" +// ], +// [ +// "u8", +// "off_link" +// ], +// [ +// "u8", +// "no_autoconfig" +// ], +// [ +// "u8", +// "no_onlink" +// ], +// [ +// "u8", +// "is_no" +// ], +// [ +// "u32", +// "val_lifetime" +// ], +// [ +// "u32", +// "pref_lifetime" // ], // { -// "crc": "0x6b16a45e" +// "crc": "0xca763c9a" // } // -type IoamDisable struct { - ID uint16 +type SwInterfaceIP6ndRaPrefix struct { + SwIfIndex uint32 + Address []byte `struc:"[16]byte"` + AddressLength uint8 + UseDefault uint8 + NoAdvertise uint8 + OffLink uint8 + NoAutoconfig uint8 + NoOnlink uint8 + IsNo uint8 + ValLifetime uint32 + PrefLifetime uint32 } -func (*IoamDisable) GetMessageName() string { - return "ioam_disable" +func (*SwInterfaceIP6ndRaPrefix) GetMessageName() string { + return "sw_interface_ip6nd_ra_prefix" } -func (*IoamDisable) GetCrcString() string { - return "6b16a45e" +func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string { + return "ca763c9a" } -func (*IoamDisable) GetMessageType() api.MessageType { +func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType { return api.RequestMessage } -// IoamDisableReply represents VPP binary API message 'ioam_disable_reply': +// SwInterfaceIP6ndRaPrefixReply represents VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply': // -// "ioam_disable_reply", +// "sw_interface_ip6nd_ra_prefix_reply", // [ // "u16", // "_vl_msg_id" @@ -4697,23 +4723,23 @@ func (*IoamDisable) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IoamDisableReply struct { +type SwInterfaceIP6ndRaPrefixReply struct { Retval int32 } -func (*IoamDisableReply) GetMessageName() string { - return "ioam_disable_reply" +func (*SwInterfaceIP6ndRaPrefixReply) GetMessageName() string { + return "sw_interface_ip6nd_ra_prefix_reply" } -func (*IoamDisableReply) GetCrcString() string { +func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string { return "e8d4e804" } -func (*IoamDisableReply) GetMessageType() api.MessageType { +func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPReassemblySet represents VPP binary API message 'ip_reassembly_set': +// WantIP4ArpEvents represents VPP binary API message 'want_ip4_arp_events': // -// "ip_reassembly_set", +// "want_ip4_arp_events", // [ // "u16", // "_vl_msg_id" @@ -4727,45 +4753,40 @@ func (*IoamDisableReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "timeout_ms" +// "u8", +// "enable_disable" // ], // [ // "u32", -// "max_reassemblies" +// "pid" // ], // [ // "u32", -// "expire_walk_interval_ms" -// ], -// [ -// "u8", -// "is_ip6" +// "address" // ], // { -// "crc": "0x1db184de" +// "crc": "0x77e06379" // } // -type IPReassemblySet struct { - TimeoutMs uint32 - MaxReassemblies uint32 - ExpireWalkIntervalMs uint32 - IsIP6 uint8 +type WantIP4ArpEvents struct { + EnableDisable uint8 + PID uint32 + Address uint32 } -func (*IPReassemblySet) GetMessageName() string { - return "ip_reassembly_set" +func (*WantIP4ArpEvents) GetMessageName() string { + return "want_ip4_arp_events" } -func (*IPReassemblySet) GetCrcString() string { - return "1db184de" +func (*WantIP4ArpEvents) GetCrcString() string { + return "77e06379" } -func (*IPReassemblySet) GetMessageType() api.MessageType { +func (*WantIP4ArpEvents) GetMessageType() api.MessageType { return api.RequestMessage } -// IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply': +// WantIP4ArpEventsReply represents VPP binary API message 'want_ip4_arp_events_reply': // -// "ip_reassembly_set_reply", +// "want_ip4_arp_events_reply", // [ // "u16", // "_vl_msg_id" @@ -4782,23 +4803,23 @@ func (*IPReassemblySet) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IPReassemblySetReply struct { +type WantIP4ArpEventsReply struct { Retval int32 } -func (*IPReassemblySetReply) GetMessageName() string { - return "ip_reassembly_set_reply" +func (*WantIP4ArpEventsReply) GetMessageName() string { + return "want_ip4_arp_events_reply" } -func (*IPReassemblySetReply) GetCrcString() string { +func (*WantIP4ArpEventsReply) GetCrcString() string { return "e8d4e804" } -func (*IPReassemblySetReply) GetMessageType() api.MessageType { +func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPReassemblyGet represents VPP binary API message 'ip_reassembly_get': +// WantIP6NdEvents represents VPP binary API message 'want_ip6_nd_events': // -// "ip_reassembly_get", +// "want_ip6_nd_events", // [ // "u16", // "_vl_msg_id" @@ -4813,29 +4834,40 @@ func (*IPReassemblySetReply) GetMessageType() api.MessageType { // ], // [ // "u8", -// "is_ip6" +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u8", +// "address", +// 16 // ], // { -// "crc": "0x6fe91190" +// "crc": "0x1cf65fbb" // } // -type IPReassemblyGet struct { - IsIP6 uint8 +type WantIP6NdEvents struct { + EnableDisable uint8 + PID uint32 + Address []byte `struc:"[16]byte"` } -func (*IPReassemblyGet) GetMessageName() string { - return "ip_reassembly_get" +func (*WantIP6NdEvents) GetMessageName() string { + return "want_ip6_nd_events" } -func (*IPReassemblyGet) GetCrcString() string { - return "6fe91190" +func (*WantIP6NdEvents) GetCrcString() string { + return "1cf65fbb" } -func (*IPReassemblyGet) GetMessageType() api.MessageType { +func (*WantIP6NdEvents) GetMessageType() api.MessageType { return api.RequestMessage } -// IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply': +// WantIP6NdEventsReply represents VPP binary API message 'want_ip6_nd_events_reply': // -// "ip_reassembly_get_reply", +// "want_ip6_nd_events_reply", // [ // "u16", // "_vl_msg_id" @@ -4848,47 +4880,27 @@ func (*IPReassemblyGet) GetMessageType() api.MessageType { // "i32", // "retval" // ], -// [ -// "u32", -// "timeout_ms" -// ], -// [ -// "u32", -// "max_reassemblies" -// ], -// [ -// "u32", -// "expire_walk_interval_ms" -// ], -// [ -// "u8", -// "is_ip6" -// ], // { -// "crc": "0x1f90afd1" +// "crc": "0xe8d4e804" // } // -type IPReassemblyGetReply struct { - Retval int32 - TimeoutMs uint32 - MaxReassemblies uint32 - ExpireWalkIntervalMs uint32 - IsIP6 uint8 +type WantIP6NdEventsReply struct { + Retval int32 } -func (*IPReassemblyGetReply) GetMessageName() string { - return "ip_reassembly_get_reply" +func (*WantIP6NdEventsReply) GetMessageName() string { + return "want_ip6_nd_events_reply" } -func (*IPReassemblyGetReply) GetCrcString() string { - return "1f90afd1" +func (*WantIP6NdEventsReply) GetCrcString() string { + return "e8d4e804" } -func (*IPReassemblyGetReply) GetMessageType() api.MessageType { +func (*WantIP6NdEventsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable': +// WantIP6RaEvents represents VPP binary API message 'want_ip6_ra_events': // -// "ip_reassembly_enable_disable", +// "want_ip6_ra_events", // [ // "u16", // "_vl_msg_id" @@ -4902,40 +4914,35 @@ func (*IPReassemblyGetReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" -// ], -// [ // "u8", -// "enable_ip4" +// "enable_disable" // ], // [ -// "u8", -// "enable_ip6" +// "u32", +// "pid" // ], // { -// "crc": "0xbb8dc5d0" +// "crc": "0x05b454b5" // } // -type IPReassemblyEnableDisable struct { - SwIfIndex uint32 - EnableIP4 uint8 - EnableIP6 uint8 +type WantIP6RaEvents struct { + EnableDisable uint8 + PID uint32 } -func (*IPReassemblyEnableDisable) GetMessageName() string { - return "ip_reassembly_enable_disable" +func (*WantIP6RaEvents) GetMessageName() string { + return "want_ip6_ra_events" } -func (*IPReassemblyEnableDisable) GetCrcString() string { - return "bb8dc5d0" +func (*WantIP6RaEvents) GetCrcString() string { + return "05b454b5" } -func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType { +func (*WantIP6RaEvents) GetMessageType() api.MessageType { return api.RequestMessage } -// IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply': +// WantIP6RaEventsReply represents VPP binary API message 'want_ip6_ra_events_reply': // -// "ip_reassembly_enable_disable_reply", +// "want_ip6_ra_events_reply", // [ // "u16", // "_vl_msg_id" @@ -4952,110 +4959,110 @@ func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IPReassemblyEnableDisableReply struct { +type WantIP6RaEventsReply struct { Retval int32 } -func (*IPReassemblyEnableDisableReply) GetMessageName() string { - return "ip_reassembly_enable_disable_reply" +func (*WantIP6RaEventsReply) GetMessageName() string { + return "want_ip6_ra_events_reply" } -func (*IPReassemblyEnableDisableReply) GetCrcString() string { +func (*WantIP6RaEventsReply) GetCrcString() string { return "e8d4e804" } -func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType { +func (*WantIP6RaEventsReply) GetMessageType() api.MessageType { return api.ReplyMessage } func init() { - api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel") - api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply") - api.RegisterMessage((*IPFibDump)(nil), "ip.IPFibDump") - api.RegisterMessage((*IPFibDetails)(nil), "ip.IPFibDetails") - api.RegisterMessage((*IP6FibDump)(nil), "ip.IP6FibDump") + api.RegisterMessage((*IoamDisable)(nil), "ip.IoamDisable") + api.RegisterMessage((*IoamDisableReply)(nil), "ip.IoamDisableReply") + api.RegisterMessage((*IoamEnable)(nil), "ip.IoamEnable") + api.RegisterMessage((*IoamEnableReply)(nil), "ip.IoamEnableReply") + api.RegisterMessage((*IP4ArpEvent)(nil), "ip.IP4ArpEvent") api.RegisterMessage((*IP6FibDetails)(nil), "ip.IP6FibDetails") - api.RegisterMessage((*IPNeighborDump)(nil), "ip.IPNeighborDump") - api.RegisterMessage((*IPNeighborDetails)(nil), "ip.IPNeighborDetails") - api.RegisterMessage((*IPNeighborAddDel)(nil), "ip.IPNeighborAddDel") - api.RegisterMessage((*IPNeighborAddDelReply)(nil), "ip.IPNeighborAddDelReply") - api.RegisterMessage((*SetIPFlowHash)(nil), "ip.SetIPFlowHash") - api.RegisterMessage((*SetIPFlowHashReply)(nil), "ip.SetIPFlowHashReply") - api.RegisterMessage((*SwInterfaceIP6ndRaConfig)(nil), "ip.SwInterfaceIP6ndRaConfig") - api.RegisterMessage((*SwInterfaceIP6ndRaConfigReply)(nil), "ip.SwInterfaceIP6ndRaConfigReply") - api.RegisterMessage((*SwInterfaceIP6ndRaPrefix)(nil), "ip.SwInterfaceIP6ndRaPrefix") - api.RegisterMessage((*SwInterfaceIP6ndRaPrefixReply)(nil), "ip.SwInterfaceIP6ndRaPrefixReply") + api.RegisterMessage((*IP6FibDump)(nil), "ip.IP6FibDump") + api.RegisterMessage((*IP6MfibDetails)(nil), "ip.IP6MfibDetails") + api.RegisterMessage((*IP6MfibDump)(nil), "ip.IP6MfibDump") + api.RegisterMessage((*IP6NdEvent)(nil), "ip.IP6NdEvent") + api.RegisterMessage((*IP6RaEvent)(nil), "ip.IP6RaEvent") api.RegisterMessage((*IP6ndProxyAddDel)(nil), "ip.IP6ndProxyAddDel") api.RegisterMessage((*IP6ndProxyAddDelReply)(nil), "ip.IP6ndProxyAddDelReply") api.RegisterMessage((*IP6ndProxyDetails)(nil), "ip.IP6ndProxyDetails") api.RegisterMessage((*IP6ndProxyDump)(nil), "ip.IP6ndProxyDump") api.RegisterMessage((*IP6ndSendRouterSolicitation)(nil), "ip.IP6ndSendRouterSolicitation") api.RegisterMessage((*IP6ndSendRouterSolicitationReply)(nil), "ip.IP6ndSendRouterSolicitationReply") - api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable") - api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply") api.RegisterMessage((*IPAddDelRoute)(nil), "ip.IPAddDelRoute") api.RegisterMessage((*IPAddDelRouteReply)(nil), "ip.IPAddDelRouteReply") - api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel") - api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip.IPMrouteAddDelReply") - api.RegisterMessage((*IPMfibDump)(nil), "ip.IPMfibDump") - api.RegisterMessage((*IPMfibDetails)(nil), "ip.IPMfibDetails") - api.RegisterMessage((*IP6MfibDump)(nil), "ip.IP6MfibDump") - api.RegisterMessage((*IP6MfibDetails)(nil), "ip.IP6MfibDetails") api.RegisterMessage((*IPAddressDetails)(nil), "ip.IPAddressDetails") api.RegisterMessage((*IPAddressDump)(nil), "ip.IPAddressDump") - api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip.IPUnnumberedDetails") - api.RegisterMessage((*IPUnnumberedDump)(nil), "ip.IPUnnumberedDump") + api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel") + api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply") + api.RegisterMessage((*IPContainerProxyDetails)(nil), "ip.IPContainerProxyDetails") + api.RegisterMessage((*IPContainerProxyDump)(nil), "ip.IPContainerProxyDump") api.RegisterMessage((*IPDetails)(nil), "ip.IPDetails") api.RegisterMessage((*IPDump)(nil), "ip.IPDump") - api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump") - api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails") + api.RegisterMessage((*IPFibDetails)(nil), "ip.IPFibDetails") + api.RegisterMessage((*IPFibDump)(nil), "ip.IPFibDump") + api.RegisterMessage((*IPMfibDetails)(nil), "ip.IPMfibDetails") + api.RegisterMessage((*IPMfibDump)(nil), "ip.IPMfibDump") + api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel") + api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip.IPMrouteAddDelReply") + api.RegisterMessage((*IPNeighborAddDel)(nil), "ip.IPNeighborAddDel") + api.RegisterMessage((*IPNeighborAddDelReply)(nil), "ip.IPNeighborAddDelReply") + api.RegisterMessage((*IPNeighborDetails)(nil), "ip.IPNeighborDetails") + api.RegisterMessage((*IPNeighborDump)(nil), "ip.IPNeighborDump") + api.RegisterMessage((*IPProbeNeighbor)(nil), "ip.IPProbeNeighbor") + api.RegisterMessage((*IPProbeNeighborReply)(nil), "ip.IPProbeNeighborReply") api.RegisterMessage((*IPPuntPolice)(nil), "ip.IPPuntPolice") api.RegisterMessage((*IPPuntPoliceReply)(nil), "ip.IPPuntPoliceReply") api.RegisterMessage((*IPPuntRedirect)(nil), "ip.IPPuntRedirect") - api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip.IPPuntRedirectReply") - api.RegisterMessage((*IPPuntRedirectDump)(nil), "ip.IPPuntRedirectDump") api.RegisterMessage((*IPPuntRedirectDetails)(nil), "ip.IPPuntRedirectDetails") - api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel") - api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply") - api.RegisterMessage((*IPContainerProxyDump)(nil), "ip.IPContainerProxyDump") - api.RegisterMessage((*IPContainerProxyDetails)(nil), "ip.IPContainerProxyDetails") + api.RegisterMessage((*IPPuntRedirectDump)(nil), "ip.IPPuntRedirectDump") + api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip.IPPuntRedirectReply") + api.RegisterMessage((*IPReassemblyEnableDisable)(nil), "ip.IPReassemblyEnableDisable") + api.RegisterMessage((*IPReassemblyEnableDisableReply)(nil), "ip.IPReassemblyEnableDisableReply") + api.RegisterMessage((*IPReassemblyGet)(nil), "ip.IPReassemblyGet") + api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip.IPReassemblyGetReply") + api.RegisterMessage((*IPReassemblySet)(nil), "ip.IPReassemblySet") + api.RegisterMessage((*IPReassemblySetReply)(nil), "ip.IPReassemblySetReply") + api.RegisterMessage((*IPScanNeighborEnableDisable)(nil), "ip.IPScanNeighborEnableDisable") + api.RegisterMessage((*IPScanNeighborEnableDisableReply)(nil), "ip.IPScanNeighborEnableDisableReply") api.RegisterMessage((*IPSourceAndPortRangeCheckAddDel)(nil), "ip.IPSourceAndPortRangeCheckAddDel") api.RegisterMessage((*IPSourceAndPortRangeCheckAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckAddDelReply") api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDel") api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDelReply") api.RegisterMessage((*IPSourceCheckInterfaceAddDel)(nil), "ip.IPSourceCheckInterfaceAddDel") api.RegisterMessage((*IPSourceCheckInterfaceAddDelReply)(nil), "ip.IPSourceCheckInterfaceAddDelReply") - api.RegisterMessage((*IPScanNeighborEnableDisable)(nil), "ip.IPScanNeighborEnableDisable") - api.RegisterMessage((*IPScanNeighborEnableDisableReply)(nil), "ip.IPScanNeighborEnableDisableReply") - api.RegisterMessage((*IPProbeNeighbor)(nil), "ip.IPProbeNeighbor") - api.RegisterMessage((*IPProbeNeighborReply)(nil), "ip.IPProbeNeighborReply") - api.RegisterMessage((*WantIP4ArpEvents)(nil), "ip.WantIP4ArpEvents") - api.RegisterMessage((*WantIP4ArpEventsReply)(nil), "ip.WantIP4ArpEventsReply") - api.RegisterMessage((*IP4ArpEvent)(nil), "ip.IP4ArpEvent") - api.RegisterMessage((*WantIP6NdEvents)(nil), "ip.WantIP6NdEvents") - api.RegisterMessage((*WantIP6NdEventsReply)(nil), "ip.WantIP6NdEventsReply") - api.RegisterMessage((*IP6NdEvent)(nil), "ip.IP6NdEvent") - api.RegisterMessage((*WantIP6RaEvents)(nil), "ip.WantIP6RaEvents") - api.RegisterMessage((*WantIP6RaEventsReply)(nil), "ip.WantIP6RaEventsReply") - api.RegisterMessage((*IP6RaEvent)(nil), "ip.IP6RaEvent") + api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel") + api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply") + api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip.IPUnnumberedDetails") + api.RegisterMessage((*IPUnnumberedDump)(nil), "ip.IPUnnumberedDump") + api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails") + api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump") api.RegisterMessage((*ProxyArpAddDel)(nil), "ip.ProxyArpAddDel") api.RegisterMessage((*ProxyArpAddDelReply)(nil), "ip.ProxyArpAddDelReply") - api.RegisterMessage((*ProxyArpDump)(nil), "ip.ProxyArpDump") api.RegisterMessage((*ProxyArpDetails)(nil), "ip.ProxyArpDetails") + api.RegisterMessage((*ProxyArpDump)(nil), "ip.ProxyArpDump") + api.RegisterMessage((*ProxyArpIntfcDetails)(nil), "ip.ProxyArpIntfcDetails") + api.RegisterMessage((*ProxyArpIntfcDump)(nil), "ip.ProxyArpIntfcDump") api.RegisterMessage((*ProxyArpIntfcEnableDisable)(nil), "ip.ProxyArpIntfcEnableDisable") api.RegisterMessage((*ProxyArpIntfcEnableDisableReply)(nil), "ip.ProxyArpIntfcEnableDisableReply") - api.RegisterMessage((*ProxyArpIntfcDump)(nil), "ip.ProxyArpIntfcDump") - api.RegisterMessage((*ProxyArpIntfcDetails)(nil), "ip.ProxyArpIntfcDetails") api.RegisterMessage((*ResetFib)(nil), "ip.ResetFib") api.RegisterMessage((*ResetFibReply)(nil), "ip.ResetFibReply") api.RegisterMessage((*SetArpNeighborLimit)(nil), "ip.SetArpNeighborLimit") api.RegisterMessage((*SetArpNeighborLimitReply)(nil), "ip.SetArpNeighborLimitReply") - api.RegisterMessage((*IoamEnable)(nil), "ip.IoamEnable") - api.RegisterMessage((*IoamEnableReply)(nil), "ip.IoamEnableReply") - api.RegisterMessage((*IoamDisable)(nil), "ip.IoamDisable") - api.RegisterMessage((*IoamDisableReply)(nil), "ip.IoamDisableReply") - api.RegisterMessage((*IPReassemblySet)(nil), "ip.IPReassemblySet") - api.RegisterMessage((*IPReassemblySetReply)(nil), "ip.IPReassemblySetReply") - api.RegisterMessage((*IPReassemblyGet)(nil), "ip.IPReassemblyGet") - api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip.IPReassemblyGetReply") - api.RegisterMessage((*IPReassemblyEnableDisable)(nil), "ip.IPReassemblyEnableDisable") - api.RegisterMessage((*IPReassemblyEnableDisableReply)(nil), "ip.IPReassemblyEnableDisableReply") + api.RegisterMessage((*SetIPFlowHash)(nil), "ip.SetIPFlowHash") + api.RegisterMessage((*SetIPFlowHashReply)(nil), "ip.SetIPFlowHashReply") + api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable") + api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply") + api.RegisterMessage((*SwInterfaceIP6ndRaConfig)(nil), "ip.SwInterfaceIP6ndRaConfig") + api.RegisterMessage((*SwInterfaceIP6ndRaConfigReply)(nil), "ip.SwInterfaceIP6ndRaConfigReply") + api.RegisterMessage((*SwInterfaceIP6ndRaPrefix)(nil), "ip.SwInterfaceIP6ndRaPrefix") + api.RegisterMessage((*SwInterfaceIP6ndRaPrefixReply)(nil), "ip.SwInterfaceIP6ndRaPrefixReply") + api.RegisterMessage((*WantIP4ArpEvents)(nil), "ip.WantIP4ArpEvents") + api.RegisterMessage((*WantIP4ArpEventsReply)(nil), "ip.WantIP4ArpEventsReply") + api.RegisterMessage((*WantIP6NdEvents)(nil), "ip.WantIP6NdEvents") + api.RegisterMessage((*WantIP6NdEventsReply)(nil), "ip.WantIP6NdEventsReply") + api.RegisterMessage((*WantIP6RaEvents)(nil), "ip.WantIP6RaEvents") + api.RegisterMessage((*WantIP6RaEventsReply)(nil), "ip.WantIP6RaEventsReply") } diff --git a/examples/bin_api/maps/maps.ba.go b/examples/bin_api/maps/maps.ba.go index 0a1e678..a5fc9d6 100644 --- a/examples/bin_api/maps/maps.ba.go +++ b/examples/bin_api/maps/maps.ba.go @@ -5,13 +5,12 @@ Package maps is a generated from VPP binary API module 'map'. It contains following objects: - 32 messages - 5 types - 2 aliases + 16 services 1 enum + 2 aliases + 5 types 1 union - 16 services - + 32 messages */ package maps @@ -171,31 +170,58 @@ func (*Address) GetCrcString() string { return "09f11671" } -// Prefix represents VPP binary API type 'prefix': +// IP4Prefix represents VPP binary API type 'ip4_prefix': // -// "prefix", +// "ip4_prefix", // [ -// "vl_api_address_t", -// "address" +// "vl_api_ip4_address_t", +// "prefix" // ], // [ // "u8", -// "address_length" +// "len" // ], // { -// "crc": "0x0403aebc" +// "crc": "0xea8dc11d" // } // -type Prefix struct { - Address Address - AddressLength uint8 +type IP4Prefix struct { + Prefix IP4Address + Len uint8 } -func (*Prefix) GetTypeName() string { - return "prefix" +func (*IP4Prefix) GetTypeName() string { + return "ip4_prefix" } -func (*Prefix) GetCrcString() string { - return "0403aebc" +func (*IP4Prefix) GetCrcString() string { + return "ea8dc11d" +} + +// IP6Prefix represents VPP binary API type 'ip6_prefix': +// +// "ip6_prefix", +// [ +// "vl_api_ip6_address_t", +// "prefix" +// ], +// [ +// "u8", +// "len" +// ], +// { +// "crc": "0x779fd64f" +// } +// +type IP6Prefix struct { + Prefix IP6Address + Len uint8 +} + +func (*IP6Prefix) GetTypeName() string { + return "ip6_prefix" +} +func (*IP6Prefix) GetCrcString() string { + return "779fd64f" } // Mprefix represents VPP binary API type 'mprefix': @@ -235,58 +261,31 @@ func (*Mprefix) GetCrcString() string { return "1c4cba05" } -// IP6Prefix represents VPP binary API type 'ip6_prefix': -// -// "ip6_prefix", -// [ -// "vl_api_ip6_address_t", -// "prefix" -// ], -// [ -// "u8", -// "len" -// ], -// { -// "crc": "0x779fd64f" -// } -// -type IP6Prefix struct { - Prefix IP6Address - Len uint8 -} - -func (*IP6Prefix) GetTypeName() string { - return "ip6_prefix" -} -func (*IP6Prefix) GetCrcString() string { - return "779fd64f" -} - -// IP4Prefix represents VPP binary API type 'ip4_prefix': +// Prefix represents VPP binary API type 'prefix': // -// "ip4_prefix", +// "prefix", // [ -// "vl_api_ip4_address_t", -// "prefix" +// "vl_api_address_t", +// "address" // ], // [ // "u8", -// "len" +// "address_length" // ], // { -// "crc": "0xea8dc11d" +// "crc": "0x0403aebc" // } // -type IP4Prefix struct { - Prefix IP4Address - Len uint8 +type Prefix struct { + Address Address + AddressLength uint8 } -func (*IP4Prefix) GetTypeName() string { - return "ip4_prefix" +func (*Prefix) GetTypeName() string { + return "prefix" } -func (*IP4Prefix) GetCrcString() string { - return "ea8dc11d" +func (*Prefix) GetCrcString() string { + return "0403aebc" } /* Unions */ @@ -317,6 +316,10 @@ func (*AddressUnion) GetCrcString() string { return "d68a2fb4" } +func AddressUnionIP4(a IP4Address) (u AddressUnion) { + u.SetIP4(a) + return +} func (u *AddressUnion) SetIP4(a IP4Address) { var b = new(bytes.Buffer) if err := struc.Pack(b, &a); err != nil { @@ -330,6 +333,10 @@ func (u *AddressUnion) GetIP4() (a IP4Address) { return } +func AddressUnionIP6(a IP6Address) (u AddressUnion) { + u.SetIP6(a) + return +} func (u *AddressUnion) SetIP6(a IP6Address) { var b = new(bytes.Buffer) if err := struc.Pack(b, &a); err != nil { @@ -345,6 +352,91 @@ func (u *AddressUnion) GetIP6() (a IP6Address) { /* Messages */ +// MapAddDelRule represents VPP binary API message 'map_add_del_rule': +// +// "map_add_del_rule", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "index" +// ], +// [ +// "bool", +// "is_add" +// ], +// [ +// "vl_api_ip6_address_t", +// "ip6_dst" +// ], +// [ +// "u16", +// "psid" +// ], +// { +// "crc": "0xe6132040" +// } +// +type MapAddDelRule struct { + Index uint32 + IsAdd bool + IP6Dst IP6Address + Psid uint16 +} + +func (*MapAddDelRule) GetMessageName() string { + return "map_add_del_rule" +} +func (*MapAddDelRule) GetCrcString() string { + return "e6132040" +} +func (*MapAddDelRule) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// MapAddDelRuleReply represents VPP binary API message 'map_add_del_rule_reply': +// +// "map_add_del_rule_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type MapAddDelRuleReply struct { + Retval int32 +} + +func (*MapAddDelRuleReply) GetMessageName() string { + return "map_add_del_rule_reply" +} +func (*MapAddDelRuleReply) GetCrcString() string { + return "e8d4e804" +} +func (*MapAddDelRuleReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + // MapAddDomain represents VPP binary API message 'map_add_domain': // // "map_add_domain", @@ -520,88 +612,76 @@ func (*MapDelDomainReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MapAddDelRule represents VPP binary API message 'map_add_del_rule': +// MapDomainDetails represents VPP binary API message 'map_domain_details': // -// "map_add_del_rule", +// "map_domain_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ // "u32", -// "context" +// "domain_index" // ], // [ -// "u32", -// "index" +// "vl_api_ip6_prefix_t", +// "ip6_prefix" // ], // [ -// "bool", -// "is_add" +// "vl_api_ip4_prefix_t", +// "ip4_prefix" // ], // [ -// "vl_api_ip6_address_t", -// "ip6_dst" +// "vl_api_ip6_prefix_t", +// "ip6_src" +// ], +// [ +// "u8", +// "ea_bits_len" +// ], +// [ +// "u8", +// "psid_offset" +// ], +// [ +// "u8", +// "psid_length" +// ], +// [ +// "u8", +// "flags" // ], // [ // "u16", -// "psid" +// "mtu" // ], // { -// "crc": "0xe6132040" +// "crc": "0x2a17dcb8" // } // -type MapAddDelRule struct { - Index uint32 - IsAdd bool - IP6Dst IP6Address - Psid uint16 -} - -func (*MapAddDelRule) GetMessageName() string { - return "map_add_del_rule" -} -func (*MapAddDelRule) GetCrcString() string { - return "e6132040" -} -func (*MapAddDelRule) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// MapAddDelRuleReply represents VPP binary API message 'map_add_del_rule_reply': -// -// "map_add_del_rule_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } -// -type MapAddDelRuleReply struct { - Retval int32 +type MapDomainDetails struct { + DomainIndex uint32 + IP6Prefix IP6Prefix + IP4Prefix IP4Prefix + IP6Src IP6Prefix + EaBitsLen uint8 + PsidOffset uint8 + PsidLength uint8 + Flags uint8 + Mtu uint16 } -func (*MapAddDelRuleReply) GetMessageName() string { - return "map_add_del_rule_reply" +func (*MapDomainDetails) GetMessageName() string { + return "map_domain_details" } -func (*MapAddDelRuleReply) GetCrcString() string { - return "e8d4e804" +func (*MapDomainDetails) GetCrcString() string { + return "2a17dcb8" } -func (*MapAddDelRuleReply) GetMessageType() api.MessageType { +func (*MapDomainDetails) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -636,119 +716,56 @@ func (*MapDomainDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MapDomainDetails represents VPP binary API message 'map_domain_details': +// MapIfEnableDisable represents VPP binary API message 'map_if_enable_disable': // -// "map_domain_details", +// "map_if_enable_disable", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" +// "client_index" // ], // [ // "u32", -// "domain_index" -// ], -// [ -// "vl_api_ip6_prefix_t", -// "ip6_prefix" -// ], -// [ -// "vl_api_ip4_prefix_t", -// "ip4_prefix" -// ], -// [ -// "vl_api_ip6_prefix_t", -// "ip6_src" -// ], -// [ -// "u8", -// "ea_bits_len" -// ], -// [ -// "u8", -// "psid_offset" -// ], -// [ -// "u8", -// "psid_length" -// ], -// [ -// "u8", -// "flags" -// ], -// [ -// "u16", -// "mtu" -// ], -// { -// "crc": "0x2a17dcb8" -// } -// -type MapDomainDetails struct { - DomainIndex uint32 - IP6Prefix IP6Prefix - IP4Prefix IP4Prefix - IP6Src IP6Prefix - EaBitsLen uint8 - PsidOffset uint8 - PsidLength uint8 - Flags uint8 - Mtu uint16 -} - -func (*MapDomainDetails) GetMessageName() string { - return "map_domain_details" -} -func (*MapDomainDetails) GetCrcString() string { - return "2a17dcb8" -} -func (*MapDomainDetails) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// MapRuleDump represents VPP binary API message 'map_rule_dump': -// -// "map_rule_dump", -// [ -// "u16", -// "_vl_msg_id" +// "context" // ], // [ // "u32", -// "client_index" +// "sw_if_index" // ], // [ -// "u32", -// "context" +// "bool", +// "is_enable" // ], // [ -// "u32", -// "domain_index" +// "bool", +// "is_translation" // ], // { -// "crc": "0xe43e6ff6" +// "crc": "0x61a30cd9" // } // -type MapRuleDump struct { - DomainIndex uint32 +type MapIfEnableDisable struct { + SwIfIndex uint32 + IsEnable bool + IsTranslation bool } -func (*MapRuleDump) GetMessageName() string { - return "map_rule_dump" +func (*MapIfEnableDisable) GetMessageName() string { + return "map_if_enable_disable" } -func (*MapRuleDump) GetCrcString() string { - return "e43e6ff6" +func (*MapIfEnableDisable) GetCrcString() string { + return "61a30cd9" } -func (*MapRuleDump) GetMessageType() api.MessageType { +func (*MapIfEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// MapRuleDetails represents VPP binary API message 'map_rule_details': +// MapIfEnableDisableReply represents VPP binary API message 'map_if_enable_disable_reply': // -// "map_rule_details", +// "map_if_enable_disable_reply", // [ // "u16", // "_vl_msg_id" @@ -758,35 +775,30 @@ func (*MapRuleDump) GetMessageType() api.MessageType { // "context" // ], // [ -// "vl_api_ip6_address_t", -// "ip6_dst" -// ], -// [ -// "u16", -// "psid" +// "i32", +// "retval" // ], // { -// "crc": "0x4f932665" +// "crc": "0xe8d4e804" // } // -type MapRuleDetails struct { - IP6Dst IP6Address - Psid uint16 +type MapIfEnableDisableReply struct { + Retval int32 } -func (*MapRuleDetails) GetMessageName() string { - return "map_rule_details" +func (*MapIfEnableDisableReply) GetMessageName() string { + return "map_if_enable_disable_reply" } -func (*MapRuleDetails) GetCrcString() string { - return "4f932665" +func (*MapIfEnableDisableReply) GetCrcString() string { + return "e8d4e804" } -func (*MapRuleDetails) GetMessageType() api.MessageType { +func (*MapIfEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MapIfEnableDisable represents VPP binary API message 'map_if_enable_disable': +// MapParamAddDelPreResolve represents VPP binary API message 'map_param_add_del_pre_resolve': // -// "map_if_enable_disable", +// "map_param_add_del_pre_resolve", // [ // "u16", // "_vl_msg_id" @@ -800,40 +812,40 @@ func (*MapRuleDetails) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" +// "bool", +// "is_add" // ], // [ -// "bool", -// "is_enable" +// "vl_api_ip4_address_t", +// "ip4_nh_address" // ], // [ -// "bool", -// "is_translation" +// "vl_api_ip6_address_t", +// "ip6_nh_address" // ], // { -// "crc": "0x61a30cd9" +// "crc": "0xea9a9a4a" // } // -type MapIfEnableDisable struct { - SwIfIndex uint32 - IsEnable bool - IsTranslation bool +type MapParamAddDelPreResolve struct { + IsAdd bool + IP4NhAddress IP4Address + IP6NhAddress IP6Address } -func (*MapIfEnableDisable) GetMessageName() string { - return "map_if_enable_disable" +func (*MapParamAddDelPreResolve) GetMessageName() string { + return "map_param_add_del_pre_resolve" } -func (*MapIfEnableDisable) GetCrcString() string { - return "61a30cd9" +func (*MapParamAddDelPreResolve) GetCrcString() string { + return "ea9a9a4a" } -func (*MapIfEnableDisable) GetMessageType() api.MessageType { +func (*MapParamAddDelPreResolve) GetMessageType() api.MessageType { return api.RequestMessage } -// MapIfEnableDisableReply represents VPP binary API message 'map_if_enable_disable_reply': +// MapParamAddDelPreResolveReply represents VPP binary API message 'map_param_add_del_pre_resolve_reply': // -// "map_if_enable_disable_reply", +// "map_param_add_del_pre_resolve_reply", // [ // "u16", // "_vl_msg_id" @@ -850,23 +862,23 @@ func (*MapIfEnableDisable) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type MapIfEnableDisableReply struct { +type MapParamAddDelPreResolveReply struct { Retval int32 } -func (*MapIfEnableDisableReply) GetMessageName() string { - return "map_if_enable_disable_reply" +func (*MapParamAddDelPreResolveReply) GetMessageName() string { + return "map_param_add_del_pre_resolve_reply" } -func (*MapIfEnableDisableReply) GetCrcString() string { +func (*MapParamAddDelPreResolveReply) GetCrcString() string { return "e8d4e804" } -func (*MapIfEnableDisableReply) GetMessageType() api.MessageType { +func (*MapParamAddDelPreResolveReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MapSummaryStats represents VPP binary API message 'map_summary_stats': +// MapParamGet represents VPP binary API message 'map_param_get': // -// "map_summary_stats", +// "map_param_get", // [ // "u16", // "_vl_msg_id" @@ -883,76 +895,138 @@ func (*MapIfEnableDisableReply) GetMessageType() api.MessageType { // "crc": "0x51077d14" // } // -type MapSummaryStats struct{} +type MapParamGet struct{} -func (*MapSummaryStats) GetMessageName() string { - return "map_summary_stats" +func (*MapParamGet) GetMessageName() string { + return "map_param_get" } -func (*MapSummaryStats) GetCrcString() string { +func (*MapParamGet) GetCrcString() string { return "51077d14" } -func (*MapSummaryStats) GetMessageType() api.MessageType { +func (*MapParamGet) GetMessageType() api.MessageType { return api.RequestMessage } -// MapSummaryStatsReply represents VPP binary API message 'map_summary_stats_reply': +// MapParamGetReply represents VPP binary API message 'map_param_get_reply': // -// "map_summary_stats_reply", +// "map_param_get_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u8", +// "frag_inner" +// ], +// [ +// "u8", +// "frag_ignore_df" +// ], +// [ +// "vl_api_ip4_address_t", +// "icmp_ip4_err_relay_src" +// ], +// [ +// "bool", +// "icmp6_enable_unreachable" +// ], +// [ +// "vl_api_ip4_address_t", +// "ip4_nh_address" +// ], +// [ +// "vl_api_ip6_address_t", +// "ip6_nh_address" +// ], // [ // "u16", -// "_vl_msg_id" +// "ip4_lifetime_ms" +// ], +// [ +// "u16", +// "ip4_pool_size" // ], // [ // "u32", -// "context" +// "ip4_buffers" // ], // [ -// "i32", -// "retval" +// "f64", +// "ip4_ht_ratio" // ], // [ -// "u64", -// "total_bindings" +// "u16", +// "ip6_lifetime_ms" // ], // [ -// "u64", -// "total_pkts", -// 2 +// "u16", +// "ip6_pool_size" // ], // [ -// "u64", -// "total_bytes", -// 2 +// "u32", +// "ip6_buffers" // ], // [ -// "u64", -// "total_ip4_fragments" +// "f64", +// "ip6_ht_ratio" // ], // [ -// "u64", -// "total_security_check", -// 2 +// "bool", +// "sec_check_enable" +// ], +// [ +// "bool", +// "sec_check_fragments" +// ], +// [ +// "bool", +// "tc_copy" +// ], +// [ +// "u8", +// "tc_class" // ], // { -// "crc": "0x0e4ace0e" +// "crc": "0xb40e9226" // } // -type MapSummaryStatsReply struct { - Retval int32 - TotalBindings uint64 - TotalPkts []uint64 `struc:"[2]uint64"` - TotalBytes []uint64 `struc:"[2]uint64"` - TotalIP4Fragments uint64 - TotalSecurityCheck []uint64 `struc:"[2]uint64"` +type MapParamGetReply struct { + Retval int32 + FragInner uint8 + FragIgnoreDf uint8 + ICMPIP4ErrRelaySrc IP4Address + ICMP6EnableUnreachable bool + IP4NhAddress IP4Address + IP6NhAddress IP6Address + IP4LifetimeMs uint16 + IP4PoolSize uint16 + IP4Buffers uint32 + IP4HtRatio float64 + IP6LifetimeMs uint16 + IP6PoolSize uint16 + IP6Buffers uint32 + IP6HtRatio float64 + SecCheckEnable bool + SecCheckFragments bool + TcCopy bool + TcClass uint8 } -func (*MapSummaryStatsReply) GetMessageName() string { - return "map_summary_stats_reply" +func (*MapParamGetReply) GetMessageName() string { + return "map_param_get_reply" } -func (*MapSummaryStatsReply) GetCrcString() string { - return "0e4ace0e" +func (*MapParamGetReply) GetCrcString() string { + return "b40e9226" } -func (*MapSummaryStatsReply) GetMessageType() api.MessageType { +func (*MapParamGetReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -1068,39 +1142,6 @@ func (*MapParamSetICMP) GetMessageType() api.MessageType { return api.RequestMessage } -// MapParamSetICMPReply represents VPP binary API message 'map_param_set_icmp_reply': -// -// "map_param_set_icmp_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } -// -type MapParamSetICMPReply struct { - Retval int32 -} - -func (*MapParamSetICMPReply) GetMessageName() string { - return "map_param_set_icmp_reply" -} -func (*MapParamSetICMPReply) GetCrcString() string { - return "e8d4e804" -} -func (*MapParamSetICMPReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - // MapParamSetICMP6 represents VPP binary API message 'map_param_set_icmp6': // // "map_param_set_icmp6", @@ -1171,56 +1212,9 @@ func (*MapParamSetICMP6Reply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MapParamAddDelPreResolve represents VPP binary API message 'map_param_add_del_pre_resolve': -// -// "map_param_add_del_pre_resolve", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "bool", -// "is_add" -// ], -// [ -// "vl_api_ip4_address_t", -// "ip4_nh_address" -// ], -// [ -// "vl_api_ip6_address_t", -// "ip6_nh_address" -// ], -// { -// "crc": "0xea9a9a4a" -// } -// -type MapParamAddDelPreResolve struct { - IsAdd bool - IP4NhAddress IP4Address - IP6NhAddress IP6Address -} - -func (*MapParamAddDelPreResolve) GetMessageName() string { - return "map_param_add_del_pre_resolve" -} -func (*MapParamAddDelPreResolve) GetCrcString() string { - return "ea9a9a4a" -} -func (*MapParamAddDelPreResolve) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// MapParamAddDelPreResolveReply represents VPP binary API message 'map_param_add_del_pre_resolve_reply': +// MapParamSetICMPReply represents VPP binary API message 'map_param_set_icmp_reply': // -// "map_param_add_del_pre_resolve_reply", +// "map_param_set_icmp_reply", // [ // "u16", // "_vl_msg_id" @@ -1237,17 +1231,17 @@ func (*MapParamAddDelPreResolve) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type MapParamAddDelPreResolveReply struct { +type MapParamSetICMPReply struct { Retval int32 } -func (*MapParamAddDelPreResolveReply) GetMessageName() string { - return "map_param_add_del_pre_resolve_reply" +func (*MapParamSetICMPReply) GetMessageName() string { + return "map_param_set_icmp_reply" } -func (*MapParamAddDelPreResolveReply) GetCrcString() string { +func (*MapParamSetICMPReply) GetCrcString() string { return "e8d4e804" } -func (*MapParamAddDelPreResolveReply) GetMessageType() api.MessageType { +func (*MapParamSetICMPReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -1361,31 +1355,101 @@ func (*MapParamSetReassemblyReply) GetMessageType() api.MessageType { // "enable" // ], // [ -// "bool", -// "fragments" +// "bool", +// "fragments" +// ], +// { +// "crc": "0x6abe9836" +// } +// +type MapParamSetSecurityCheck struct { + Enable bool + Fragments bool +} + +func (*MapParamSetSecurityCheck) GetMessageName() string { + return "map_param_set_security_check" +} +func (*MapParamSetSecurityCheck) GetCrcString() string { + return "6abe9836" +} +func (*MapParamSetSecurityCheck) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// MapParamSetSecurityCheckReply represents VPP binary API message 'map_param_set_security_check_reply': +// +// "map_param_set_security_check_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type MapParamSetSecurityCheckReply struct { + Retval int32 +} + +func (*MapParamSetSecurityCheckReply) GetMessageName() string { + return "map_param_set_security_check_reply" +} +func (*MapParamSetSecurityCheckReply) GetCrcString() string { + return "e8d4e804" +} +func (*MapParamSetSecurityCheckReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// MapParamSetTCP represents VPP binary API message 'map_param_set_tcp': +// +// "map_param_set_tcp", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u16", +// "tcp_mss" // ], // { -// "crc": "0x6abe9836" +// "crc": "0x87a825d9" // } // -type MapParamSetSecurityCheck struct { - Enable bool - Fragments bool +type MapParamSetTCP struct { + TCPMss uint16 } -func (*MapParamSetSecurityCheck) GetMessageName() string { - return "map_param_set_security_check" +func (*MapParamSetTCP) GetMessageName() string { + return "map_param_set_tcp" } -func (*MapParamSetSecurityCheck) GetCrcString() string { - return "6abe9836" +func (*MapParamSetTCP) GetCrcString() string { + return "87a825d9" } -func (*MapParamSetSecurityCheck) GetMessageType() api.MessageType { +func (*MapParamSetTCP) GetMessageType() api.MessageType { return api.RequestMessage } -// MapParamSetSecurityCheckReply represents VPP binary API message 'map_param_set_security_check_reply': +// MapParamSetTCPReply represents VPP binary API message 'map_param_set_tcp_reply': // -// "map_param_set_security_check_reply", +// "map_param_set_tcp_reply", // [ // "u16", // "_vl_msg_id" @@ -1402,17 +1466,17 @@ func (*MapParamSetSecurityCheck) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type MapParamSetSecurityCheckReply struct { +type MapParamSetTCPReply struct { Retval int32 } -func (*MapParamSetSecurityCheckReply) GetMessageName() string { - return "map_param_set_security_check_reply" +func (*MapParamSetTCPReply) GetMessageName() string { + return "map_param_set_tcp_reply" } -func (*MapParamSetSecurityCheckReply) GetCrcString() string { +func (*MapParamSetTCPReply) GetCrcString() string { return "e8d4e804" } -func (*MapParamSetSecurityCheckReply) GetMessageType() api.MessageType { +func (*MapParamSetTCPReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -1491,79 +1555,84 @@ func (*MapParamSetTrafficClassReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MapParamSetTCP represents VPP binary API message 'map_param_set_tcp': +// MapRuleDetails represents VPP binary API message 'map_rule_details': // -// "map_param_set_tcp", +// "map_rule_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ -// "u32", -// "context" +// "vl_api_ip6_address_t", +// "ip6_dst" // ], // [ // "u16", -// "tcp_mss" +// "psid" // ], // { -// "crc": "0x87a825d9" +// "crc": "0x4f932665" // } // -type MapParamSetTCP struct { - TCPMss uint16 +type MapRuleDetails struct { + IP6Dst IP6Address + Psid uint16 } -func (*MapParamSetTCP) GetMessageName() string { - return "map_param_set_tcp" +func (*MapRuleDetails) GetMessageName() string { + return "map_rule_details" } -func (*MapParamSetTCP) GetCrcString() string { - return "87a825d9" +func (*MapRuleDetails) GetCrcString() string { + return "4f932665" } -func (*MapParamSetTCP) GetMessageType() api.MessageType { - return api.RequestMessage +func (*MapRuleDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// MapParamSetTCPReply represents VPP binary API message 'map_param_set_tcp_reply': +// MapRuleDump represents VPP binary API message 'map_rule_dump': // -// "map_param_set_tcp_reply", +// "map_rule_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ -// "i32", -// "retval" +// "u32", +// "domain_index" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0xe43e6ff6" // } // -type MapParamSetTCPReply struct { - Retval int32 +type MapRuleDump struct { + DomainIndex uint32 } -func (*MapParamSetTCPReply) GetMessageName() string { - return "map_param_set_tcp_reply" +func (*MapRuleDump) GetMessageName() string { + return "map_rule_dump" } -func (*MapParamSetTCPReply) GetCrcString() string { - return "e8d4e804" +func (*MapRuleDump) GetCrcString() string { + return "e43e6ff6" } -func (*MapParamSetTCPReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*MapRuleDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// MapParamGet represents VPP binary API message 'map_param_get': +// MapSummaryStats represents VPP binary API message 'map_summary_stats': // -// "map_param_get", +// "map_summary_stats", // [ // "u16", // "_vl_msg_id" @@ -1580,21 +1649,21 @@ func (*MapParamSetTCPReply) GetMessageType() api.MessageType { // "crc": "0x51077d14" // } // -type MapParamGet struct{} +type MapSummaryStats struct{} -func (*MapParamGet) GetMessageName() string { - return "map_param_get" +func (*MapSummaryStats) GetMessageName() string { + return "map_summary_stats" } -func (*MapParamGet) GetCrcString() string { +func (*MapSummaryStats) GetCrcString() string { return "51077d14" } -func (*MapParamGet) GetMessageType() api.MessageType { +func (*MapSummaryStats) GetMessageType() api.MessageType { return api.RequestMessage } -// MapParamGetReply represents VPP binary API message 'map_param_get_reply': +// MapSummaryStatsReply represents VPP binary API message 'map_summary_stats_reply': // -// "map_param_get_reply", +// "map_summary_stats_reply", // [ // "u16", // "_vl_msg_id" @@ -1608,144 +1677,82 @@ func (*MapParamGet) GetMessageType() api.MessageType { // "retval" // ], // [ -// "u8", -// "frag_inner" -// ], -// [ -// "u8", -// "frag_ignore_df" -// ], -// [ -// "vl_api_ip4_address_t", -// "icmp_ip4_err_relay_src" -// ], -// [ -// "bool", -// "icmp6_enable_unreachable" -// ], -// [ -// "vl_api_ip4_address_t", -// "ip4_nh_address" -// ], -// [ -// "vl_api_ip6_address_t", -// "ip6_nh_address" -// ], -// [ -// "u16", -// "ip4_lifetime_ms" -// ], -// [ -// "u16", -// "ip4_pool_size" -// ], -// [ -// "u32", -// "ip4_buffers" -// ], -// [ -// "f64", -// "ip4_ht_ratio" -// ], -// [ -// "u16", -// "ip6_lifetime_ms" -// ], -// [ -// "u16", -// "ip6_pool_size" -// ], -// [ -// "u32", -// "ip6_buffers" -// ], -// [ -// "f64", -// "ip6_ht_ratio" +// "u64", +// "total_bindings" // ], // [ -// "bool", -// "sec_check_enable" +// "u64", +// "total_pkts", +// 2 // ], // [ -// "bool", -// "sec_check_fragments" +// "u64", +// "total_bytes", +// 2 // ], // [ -// "bool", -// "tc_copy" +// "u64", +// "total_ip4_fragments" // ], // [ -// "u8", -// "tc_class" +// "u64", +// "total_security_check", +// 2 // ], // { -// "crc": "0xb40e9226" +// "crc": "0x0e4ace0e" // } // -type MapParamGetReply struct { - Retval int32 - FragInner uint8 - FragIgnoreDf uint8 - ICMPIP4ErrRelaySrc IP4Address - ICMP6EnableUnreachable bool - IP4NhAddress IP4Address - IP6NhAddress IP6Address - IP4LifetimeMs uint16 - IP4PoolSize uint16 - IP4Buffers uint32 - IP4HtRatio float64 - IP6LifetimeMs uint16 - IP6PoolSize uint16 - IP6Buffers uint32 - IP6HtRatio float64 - SecCheckEnable bool - SecCheckFragments bool - TcCopy bool - TcClass uint8 +type MapSummaryStatsReply struct { + Retval int32 + TotalBindings uint64 + TotalPkts []uint64 `struc:"[2]uint64"` + TotalBytes []uint64 `struc:"[2]uint64"` + TotalIP4Fragments uint64 + TotalSecurityCheck []uint64 `struc:"[2]uint64"` } -func (*MapParamGetReply) GetMessageName() string { - return "map_param_get_reply" +func (*MapSummaryStatsReply) GetMessageName() string { + return "map_summary_stats_reply" } -func (*MapParamGetReply) GetCrcString() string { - return "b40e9226" +func (*MapSummaryStatsReply) GetCrcString() string { + return "0e4ace0e" } -func (*MapParamGetReply) GetMessageType() api.MessageType { +func (*MapSummaryStatsReply) GetMessageType() api.MessageType { return api.ReplyMessage } func init() { + api.RegisterMessage((*MapAddDelRule)(nil), "map.MapAddDelRule") + api.RegisterMessage((*MapAddDelRuleReply)(nil), "map.MapAddDelRuleReply") api.RegisterMessage((*MapAddDomain)(nil), "map.MapAddDomain") api.RegisterMessage((*MapAddDomainReply)(nil), "map.MapAddDomainReply") api.RegisterMessage((*MapDelDomain)(nil), "map.MapDelDomain") api.RegisterMessage((*MapDelDomainReply)(nil), "map.MapDelDomainReply") - api.RegisterMessage((*MapAddDelRule)(nil), "map.MapAddDelRule") - api.RegisterMessage((*MapAddDelRuleReply)(nil), "map.MapAddDelRuleReply") - api.RegisterMessage((*MapDomainDump)(nil), "map.MapDomainDump") api.RegisterMessage((*MapDomainDetails)(nil), "map.MapDomainDetails") - api.RegisterMessage((*MapRuleDump)(nil), "map.MapRuleDump") - api.RegisterMessage((*MapRuleDetails)(nil), "map.MapRuleDetails") + api.RegisterMessage((*MapDomainDump)(nil), "map.MapDomainDump") api.RegisterMessage((*MapIfEnableDisable)(nil), "map.MapIfEnableDisable") api.RegisterMessage((*MapIfEnableDisableReply)(nil), "map.MapIfEnableDisableReply") - api.RegisterMessage((*MapSummaryStats)(nil), "map.MapSummaryStats") - api.RegisterMessage((*MapSummaryStatsReply)(nil), "map.MapSummaryStatsReply") + api.RegisterMessage((*MapParamAddDelPreResolve)(nil), "map.MapParamAddDelPreResolve") + api.RegisterMessage((*MapParamAddDelPreResolveReply)(nil), "map.MapParamAddDelPreResolveReply") + api.RegisterMessage((*MapParamGet)(nil), "map.MapParamGet") + api.RegisterMessage((*MapParamGetReply)(nil), "map.MapParamGetReply") api.RegisterMessage((*MapParamSetFragmentation)(nil), "map.MapParamSetFragmentation") api.RegisterMessage((*MapParamSetFragmentationReply)(nil), "map.MapParamSetFragmentationReply") api.RegisterMessage((*MapParamSetICMP)(nil), "map.MapParamSetICMP") - api.RegisterMessage((*MapParamSetICMPReply)(nil), "map.MapParamSetICMPReply") api.RegisterMessage((*MapParamSetICMP6)(nil), "map.MapParamSetICMP6") api.RegisterMessage((*MapParamSetICMP6Reply)(nil), "map.MapParamSetICMP6Reply") - api.RegisterMessage((*MapParamAddDelPreResolve)(nil), "map.MapParamAddDelPreResolve") - api.RegisterMessage((*MapParamAddDelPreResolveReply)(nil), "map.MapParamAddDelPreResolveReply") + api.RegisterMessage((*MapParamSetICMPReply)(nil), "map.MapParamSetICMPReply") api.RegisterMessage((*MapParamSetReassembly)(nil), "map.MapParamSetReassembly") api.RegisterMessage((*MapParamSetReassemblyReply)(nil), "map.MapParamSetReassemblyReply") api.RegisterMessage((*MapParamSetSecurityCheck)(nil), "map.MapParamSetSecurityCheck") api.RegisterMessage((*MapParamSetSecurityCheckReply)(nil), "map.MapParamSetSecurityCheckReply") - api.RegisterMessage((*MapParamSetTrafficClass)(nil), "map.MapParamSetTrafficClass") - api.RegisterMessage((*MapParamSetTrafficClassReply)(nil), "map.MapParamSetTrafficClassReply") api.RegisterMessage((*MapParamSetTCP)(nil), "map.MapParamSetTCP") api.RegisterMessage((*MapParamSetTCPReply)(nil), "map.MapParamSetTCPReply") - api.RegisterMessage((*MapParamGet)(nil), "map.MapParamGet") - api.RegisterMessage((*MapParamGetReply)(nil), "map.MapParamGetReply") + api.RegisterMessage((*MapParamSetTrafficClass)(nil), "map.MapParamSetTrafficClass") + api.RegisterMessage((*MapParamSetTrafficClassReply)(nil), "map.MapParamSetTrafficClassReply") + api.RegisterMessage((*MapRuleDetails)(nil), "map.MapRuleDetails") + api.RegisterMessage((*MapRuleDump)(nil), "map.MapRuleDump") + api.RegisterMessage((*MapSummaryStats)(nil), "map.MapSummaryStats") + api.RegisterMessage((*MapSummaryStatsReply)(nil), "map.MapSummaryStatsReply") } diff --git a/examples/bin_api/memif/memif.ba.go b/examples/bin_api/memif/memif.ba.go index c28d2f5..b0b3ee3 100644 --- a/examples/bin_api/memif/memif.ba.go +++ b/examples/bin_api/memif/memif.ba.go @@ -5,9 +5,8 @@ Package memif is a generated from VPP binary API module 'memif'. It contains following objects: - 10 messages 5 services - + 10 messages */ package memif @@ -52,87 +51,6 @@ type Services interface { /* Messages */ -// MemifSocketFilenameAddDel represents VPP binary API message 'memif_socket_filename_add_del': -// -// "memif_socket_filename_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u32", -// "socket_id" -// ], -// [ -// "u8", -// "socket_filename", -// 128 -// ], -// { -// "crc": "0x30e3929d" -// } -// -type MemifSocketFilenameAddDel struct { - IsAdd uint8 - SocketID uint32 - SocketFilename []byte `struc:"[128]byte"` -} - -func (*MemifSocketFilenameAddDel) GetMessageName() string { - return "memif_socket_filename_add_del" -} -func (*MemifSocketFilenameAddDel) GetCrcString() string { - return "30e3929d" -} -func (*MemifSocketFilenameAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// MemifSocketFilenameAddDelReply represents VPP binary API message 'memif_socket_filename_add_del_reply': -// -// "memif_socket_filename_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } -// -type MemifSocketFilenameAddDelReply struct { - Retval int32 -} - -func (*MemifSocketFilenameAddDelReply) GetMessageName() string { - return "memif_socket_filename_add_del_reply" -} -func (*MemifSocketFilenameAddDelReply) GetCrcString() string { - return "e8d4e804" -} -func (*MemifSocketFilenameAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - // MemifCreate represents VPP binary API message 'memif_create': // // "memif_create", @@ -325,9 +243,9 @@ func (*MemifDeleteReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MemifSocketFilenameDetails represents VPP binary API message 'memif_socket_filename_details': +// MemifDetails represents VPP binary API message 'memif_details': // -// "memif_socket_filename_details", +// "memif_details", // [ // "u16", // "_vl_msg_id" @@ -338,35 +256,81 @@ func (*MemifDeleteReply) GetMessageType() api.MessageType { // ], // [ // "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "if_name", +// 64 +// ], +// [ +// "u8", +// "hw_addr", +// 6 +// ], +// [ +// "u32", +// "id" +// ], +// [ +// "u8", +// "role" +// ], +// [ +// "u8", +// "mode" +// ], +// [ +// "u32", // "socket_id" // ], // [ +// "u32", +// "ring_size" +// ], +// [ +// "u16", +// "buffer_size" +// ], +// [ // "u8", -// "socket_filename", -// 128 +// "admin_up_down" +// ], +// [ +// "u8", +// "link_up_down" // ], // { -// "crc": "0xe347e32f" +// "crc": "0x4f5a3397" // } // -type MemifSocketFilenameDetails struct { - SocketID uint32 - SocketFilename []byte `struc:"[128]byte"` +type MemifDetails struct { + SwIfIndex uint32 + IfName []byte `struc:"[64]byte"` + HwAddr []byte `struc:"[6]byte"` + ID uint32 + Role uint8 + Mode uint8 + SocketID uint32 + RingSize uint32 + BufferSize uint16 + AdminUpDown uint8 + LinkUpDown uint8 } -func (*MemifSocketFilenameDetails) GetMessageName() string { - return "memif_socket_filename_details" +func (*MemifDetails) GetMessageName() string { + return "memif_details" } -func (*MemifSocketFilenameDetails) GetCrcString() string { - return "e347e32f" +func (*MemifDetails) GetCrcString() string { + return "4f5a3397" } -func (*MemifSocketFilenameDetails) GetMessageType() api.MessageType { +func (*MemifDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// MemifSocketFilenameDump represents VPP binary API message 'memif_socket_filename_dump': +// MemifDump represents VPP binary API message 'memif_dump': // -// "memif_socket_filename_dump", +// "memif_dump", // [ // "u16", // "_vl_msg_id" @@ -383,106 +347,141 @@ func (*MemifSocketFilenameDetails) GetMessageType() api.MessageType { // "crc": "0x51077d14" // } // -type MemifSocketFilenameDump struct{} +type MemifDump struct{} -func (*MemifSocketFilenameDump) GetMessageName() string { - return "memif_socket_filename_dump" +func (*MemifDump) GetMessageName() string { + return "memif_dump" } -func (*MemifSocketFilenameDump) GetCrcString() string { +func (*MemifDump) GetCrcString() string { return "51077d14" } -func (*MemifSocketFilenameDump) GetMessageType() api.MessageType { +func (*MemifDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MemifDetails represents VPP binary API message 'memif_details': +// MemifSocketFilenameAddDel represents VPP binary API message 'memif_socket_filename_add_del': // -// "memif_details", +// "memif_socket_filename_add_del", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" +// "client_index" // ], // [ // "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "if_name", -// 64 +// "context" // ], // [ // "u8", -// "hw_addr", -// 6 +// "is_add" // ], // [ // "u32", -// "id" +// "socket_id" // ], // [ // "u8", -// "role" +// "socket_filename", +// 128 // ], +// { +// "crc": "0x30e3929d" +// } +// +type MemifSocketFilenameAddDel struct { + IsAdd uint8 + SocketID uint32 + SocketFilename []byte `struc:"[128]byte"` +} + +func (*MemifSocketFilenameAddDel) GetMessageName() string { + return "memif_socket_filename_add_del" +} +func (*MemifSocketFilenameAddDel) GetCrcString() string { + return "30e3929d" +} +func (*MemifSocketFilenameAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// MemifSocketFilenameAddDelReply represents VPP binary API message 'memif_socket_filename_add_del_reply': +// +// "memif_socket_filename_add_del_reply", // [ -// "u8", -// "mode" +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "socket_id" +// "context" // ], // [ -// "u32", -// "ring_size" +// "i32", +// "retval" // ], +// { +// "crc": "0xe8d4e804" +// } +// +type MemifSocketFilenameAddDelReply struct { + Retval int32 +} + +func (*MemifSocketFilenameAddDelReply) GetMessageName() string { + return "memif_socket_filename_add_del_reply" +} +func (*MemifSocketFilenameAddDelReply) GetCrcString() string { + return "e8d4e804" +} +func (*MemifSocketFilenameAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// MemifSocketFilenameDetails represents VPP binary API message 'memif_socket_filename_details': +// +// "memif_socket_filename_details", // [ // "u16", -// "buffer_size" +// "_vl_msg_id" // ], // [ -// "u8", -// "admin_up_down" +// "u32", +// "context" +// ], +// [ +// "u32", +// "socket_id" // ], // [ // "u8", -// "link_up_down" +// "socket_filename", +// 128 // ], // { -// "crc": "0x4f5a3397" +// "crc": "0xe347e32f" // } // -type MemifDetails struct { - SwIfIndex uint32 - IfName []byte `struc:"[64]byte"` - HwAddr []byte `struc:"[6]byte"` - ID uint32 - Role uint8 - Mode uint8 - SocketID uint32 - RingSize uint32 - BufferSize uint16 - AdminUpDown uint8 - LinkUpDown uint8 +type MemifSocketFilenameDetails struct { + SocketID uint32 + SocketFilename []byte `struc:"[128]byte"` } -func (*MemifDetails) GetMessageName() string { - return "memif_details" +func (*MemifSocketFilenameDetails) GetMessageName() string { + return "memif_socket_filename_details" } -func (*MemifDetails) GetCrcString() string { - return "4f5a3397" +func (*MemifSocketFilenameDetails) GetCrcString() string { + return "e347e32f" } -func (*MemifDetails) GetMessageType() api.MessageType { +func (*MemifSocketFilenameDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// MemifDump represents VPP binary API message 'memif_dump': +// MemifSocketFilenameDump represents VPP binary API message 'memif_socket_filename_dump': // -// "memif_dump", +// "memif_socket_filename_dump", // [ // "u16", // "_vl_msg_id" @@ -499,27 +498,27 @@ func (*MemifDetails) GetMessageType() api.MessageType { // "crc": "0x51077d14" // } // -type MemifDump struct{} +type MemifSocketFilenameDump struct{} -func (*MemifDump) GetMessageName() string { - return "memif_dump" +func (*MemifSocketFilenameDump) GetMessageName() string { + return "memif_socket_filename_dump" } -func (*MemifDump) GetCrcString() string { +func (*MemifSocketFilenameDump) GetCrcString() string { return "51077d14" } -func (*MemifDump) GetMessageType() api.MessageType { +func (*MemifSocketFilenameDump) GetMessageType() api.MessageType { return api.RequestMessage } func init() { - api.RegisterMessage((*MemifSocketFilenameAddDel)(nil), "memif.MemifSocketFilenameAddDel") - api.RegisterMessage((*MemifSocketFilenameAddDelReply)(nil), "memif.MemifSocketFilenameAddDelReply") api.RegisterMessage((*MemifCreate)(nil), "memif.MemifCreate") api.RegisterMessage((*MemifCreateReply)(nil), "memif.MemifCreateReply") api.RegisterMessage((*MemifDelete)(nil), "memif.MemifDelete") api.RegisterMessage((*MemifDeleteReply)(nil), "memif.MemifDeleteReply") - api.RegisterMessage((*MemifSocketFilenameDetails)(nil), "memif.MemifSocketFilenameDetails") - api.RegisterMessage((*MemifSocketFilenameDump)(nil), "memif.MemifSocketFilenameDump") api.RegisterMessage((*MemifDetails)(nil), "memif.MemifDetails") api.RegisterMessage((*MemifDump)(nil), "memif.MemifDump") + api.RegisterMessage((*MemifSocketFilenameAddDel)(nil), "memif.MemifSocketFilenameAddDel") + api.RegisterMessage((*MemifSocketFilenameAddDelReply)(nil), "memif.MemifSocketFilenameAddDelReply") + api.RegisterMessage((*MemifSocketFilenameDetails)(nil), "memif.MemifSocketFilenameDetails") + api.RegisterMessage((*MemifSocketFilenameDump)(nil), "memif.MemifSocketFilenameDump") } diff --git a/examples/bin_api/tap/tap.ba.go b/examples/bin_api/tap/tap.ba.go index f94f7be..d363146 100644 --- a/examples/bin_api/tap/tap.ba.go +++ b/examples/bin_api/tap/tap.ba.go @@ -5,9 +5,8 @@ Package tap is a generated from VPP binary API module 'tap'. It contains following objects: - 8 messages 4 services - + 8 messages */ package tap @@ -47,6 +46,76 @@ type Services interface { /* Messages */ +// SwInterfaceTapDetails represents VPP binary API message 'sw_interface_tap_details': +// +// "sw_interface_tap_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "dev_name", +// 64 +// ], +// { +// "crc": "0x76229a57" +// } +// +type SwInterfaceTapDetails struct { + SwIfIndex uint32 + DevName []byte `struc:"[64]byte"` +} + +func (*SwInterfaceTapDetails) GetMessageName() string { + return "sw_interface_tap_details" +} +func (*SwInterfaceTapDetails) GetCrcString() string { + return "76229a57" +} +func (*SwInterfaceTapDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// SwInterfaceTapDump represents VPP binary API message 'sw_interface_tap_dump': +// +// "sw_interface_tap_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } +// +type SwInterfaceTapDump struct{} + +func (*SwInterfaceTapDump) GetMessageName() string { + return "sw_interface_tap_dump" +} +func (*SwInterfaceTapDump) GetCrcString() string { + return "51077d14" +} +func (*SwInterfaceTapDump) GetMessageType() api.MessageType { + return api.RequestMessage +} + // TapConnect represents VPP binary API message 'tap_connect': // // "tap_connect", @@ -182,108 +251,6 @@ func (*TapConnectReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// TapModify represents VPP binary API message 'tap_modify': -// -// "tap_modify", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "use_random_mac" -// ], -// [ -// "u8", -// "tap_name", -// 64 -// ], -// [ -// "u8", -// "mac_address", -// 6 -// ], -// [ -// "u8", -// "renumber" -// ], -// [ -// "u32", -// "custom_dev_instance" -// ], -// { -// "crc": "0x8047ae5c" -// } -// -type TapModify struct { - SwIfIndex uint32 - UseRandomMac uint8 - TapName []byte `struc:"[64]byte"` - MacAddress []byte `struc:"[6]byte"` - Renumber uint8 - CustomDevInstance uint32 -} - -func (*TapModify) GetMessageName() string { - return "tap_modify" -} -func (*TapModify) GetCrcString() string { - return "8047ae5c" -} -func (*TapModify) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// TapModifyReply represents VPP binary API message 'tap_modify_reply': -// -// "tap_modify_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0xfda5941f" -// } -// -type TapModifyReply struct { - Retval int32 - SwIfIndex uint32 -} - -func (*TapModifyReply) GetMessageName() string { - return "tap_modify_reply" -} -func (*TapModifyReply) GetCrcString() string { - return "fda5941f" -} -func (*TapModifyReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - // TapDelete represents VPP binary API message 'tap_delete': // // "tap_delete", @@ -354,9 +321,9 @@ func (*TapDeleteReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceTapDump represents VPP binary API message 'sw_interface_tap_dump': +// TapModify represents VPP binary API message 'tap_modify': // -// "sw_interface_tap_dump", +// "tap_modify", // [ // "u16", // "_vl_msg_id" @@ -369,25 +336,58 @@ func (*TapDeleteReply) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "use_random_mac" +// ], +// [ +// "u8", +// "tap_name", +// 64 +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "renumber" +// ], +// [ +// "u32", +// "custom_dev_instance" +// ], // { -// "crc": "0x51077d14" +// "crc": "0x8047ae5c" // } // -type SwInterfaceTapDump struct{} +type TapModify struct { + SwIfIndex uint32 + UseRandomMac uint8 + TapName []byte `struc:"[64]byte"` + MacAddress []byte `struc:"[6]byte"` + Renumber uint8 + CustomDevInstance uint32 +} -func (*SwInterfaceTapDump) GetMessageName() string { - return "sw_interface_tap_dump" +func (*TapModify) GetMessageName() string { + return "tap_modify" } -func (*SwInterfaceTapDump) GetCrcString() string { - return "51077d14" +func (*TapModify) GetCrcString() string { + return "8047ae5c" } -func (*SwInterfaceTapDump) GetMessageType() api.MessageType { +func (*TapModify) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceTapDetails represents VPP binary API message 'sw_interface_tap_details': +// TapModifyReply represents VPP binary API message 'tap_modify_reply': // -// "sw_interface_tap_details", +// "tap_modify_reply", // [ // "u16", // "_vl_msg_id" @@ -397,40 +397,39 @@ func (*SwInterfaceTapDump) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" +// "i32", +// "retval" // ], // [ -// "u8", -// "dev_name", -// 64 +// "u32", +// "sw_if_index" // ], // { -// "crc": "0x76229a57" +// "crc": "0xfda5941f" // } // -type SwInterfaceTapDetails struct { +type TapModifyReply struct { + Retval int32 SwIfIndex uint32 - DevName []byte `struc:"[64]byte"` } -func (*SwInterfaceTapDetails) GetMessageName() string { - return "sw_interface_tap_details" +func (*TapModifyReply) GetMessageName() string { + return "tap_modify_reply" } -func (*SwInterfaceTapDetails) GetCrcString() string { - return "76229a57" +func (*TapModifyReply) GetCrcString() string { + return "fda5941f" } -func (*SwInterfaceTapDetails) GetMessageType() api.MessageType { +func (*TapModifyReply) GetMessageType() api.MessageType { return api.ReplyMessage } func init() { + api.RegisterMessage((*SwInterfaceTapDetails)(nil), "tap.SwInterfaceTapDetails") + api.RegisterMessage((*SwInterfaceTapDump)(nil), "tap.SwInterfaceTapDump") api.RegisterMessage((*TapConnect)(nil), "tap.TapConnect") api.RegisterMessage((*TapConnectReply)(nil), "tap.TapConnectReply") - api.RegisterMessage((*TapModify)(nil), "tap.TapModify") - api.RegisterMessage((*TapModifyReply)(nil), "tap.TapModifyReply") api.RegisterMessage((*TapDelete)(nil), "tap.TapDelete") api.RegisterMessage((*TapDeleteReply)(nil), "tap.TapDeleteReply") - api.RegisterMessage((*SwInterfaceTapDump)(nil), "tap.SwInterfaceTapDump") - api.RegisterMessage((*SwInterfaceTapDetails)(nil), "tap.SwInterfaceTapDetails") + api.RegisterMessage((*TapModify)(nil), "tap.TapModify") + api.RegisterMessage((*TapModifyReply)(nil), "tap.TapModifyReply") } diff --git a/examples/bin_api/vpe/vpe.ba.go b/examples/bin_api/vpe/vpe.ba.go index e0d5f97..9eb4c98 100644 --- a/examples/bin_api/vpe/vpe.ba.go +++ b/examples/bin_api/vpe/vpe.ba.go @@ -5,10 +5,9 @@ Package vpe is a generated from VPP binary API module 'vpe'. It contains following objects: - 18 messages - 1 type 9 services - + 1 type + 18 messages */ package vpe @@ -92,9 +91,9 @@ func (*ThreadData) GetCrcString() string { /* Messages */ -// ControlPing represents VPP binary API message 'control_ping': +// AddNodeNext represents VPP binary API message 'add_node_next': // -// "control_ping", +// "add_node_next", // [ // "u16", // "_vl_msg_id" @@ -107,25 +106,38 @@ func (*ThreadData) GetCrcString() string { // "u32", // "context" // ], +// [ +// "u8", +// "node_name", +// 64 +// ], +// [ +// "u8", +// "next_name", +// 64 +// ], // { -// "crc": "0x51077d14" +// "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 } -// ControlPingReply represents VPP binary API message 'control_ping_reply': +// AddNodeNextReply represents VPP binary API message 'add_node_next_reply': // -// "control_ping_reply", +// "add_node_next_reply", // [ // "u16", // "_vl_msg_id" @@ -140,29 +152,24 @@ func (*ControlPing) GetMessageType() api.MessageType { // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", -// "vpe_pid" +// "next_index" // ], // { -// "crc": "0xf6b0b8ca" +// "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 } @@ -241,9 +248,9 @@ func (*CliInband) GetMessageType() api.MessageType { return api.RequestMessage } -// CliReply represents VPP binary API message 'cli_reply': +// CliInbandReply represents VPP binary API message 'cli_inband_reply': // -// "cli_reply", +// "cli_inband_reply", // [ // "u16", // "_vl_msg_id" @@ -257,31 +264,32 @@ func (*CliInband) GetMessageType() api.MessageType { // "retval" // ], // [ -// "u64", -// "reply_in_shmem" +// "string", +// "reply" // ], // { -// "crc": "0x06d68297" +// "crc": "0x6d3c80a4" // } // -type CliReply struct { +type CliInbandReply struct { Retval int32 - ReplyInShmem uint64 + XXX_ReplyLen uint32 `struc:"sizeof=Reply"` + Reply string } -func (*CliReply) GetMessageName() string { - return "cli_reply" +func (*CliInbandReply) GetMessageName() string { + return "cli_inband_reply" } -func (*CliReply) GetCrcString() string { - return "06d68297" +func (*CliInbandReply) GetCrcString() string { + return "6d3c80a4" } -func (*CliReply) GetMessageType() api.MessageType { +func (*CliInbandReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CliInbandReply represents VPP binary API message 'cli_inband_reply': +// CliReply represents VPP binary API message 'cli_reply': // -// "cli_inband_reply", +// "cli_reply", // [ // "u16", // "_vl_msg_id" @@ -295,32 +303,31 @@ func (*CliReply) GetMessageType() api.MessageType { // "retval" // ], // [ -// "string", -// "reply" +// "u64", +// "reply_in_shmem" // ], // { -// "crc": "0x6d3c80a4" +// "crc": "0x06d68297" // } // -type CliInbandReply struct { +type CliReply struct { Retval int32 - XXX_ReplyLen uint32 `struc:"sizeof=Reply"` - Reply string + ReplyInShmem uint64 } -func (*CliInbandReply) GetMessageName() string { - return "cli_inband_reply" +func (*CliReply) GetMessageName() string { + return "cli_reply" } -func (*CliInbandReply) GetCrcString() string { - return "6d3c80a4" +func (*CliReply) GetCrcString() string { + return "06d68297" } -func (*CliInbandReply) GetMessageType() api.MessageType { +func (*CliReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// GetNodeIndex represents VPP binary API message 'get_node_index': +// ControlPing represents VPP binary API message 'control_ping': // -// "get_node_index", +// "control_ping", // [ // "u16", // "_vl_msg_id" @@ -333,32 +340,25 @@ func (*CliInbandReply) GetMessageType() api.MessageType { // "u32", // "context" // ], -// [ -// "u8", -// "node_name", -// 64 -// ], // { -// "crc": "0x6c9a495d" +// "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 } -// GetNodeIndexReply represents VPP binary API message 'get_node_index_reply': +// ControlPingReply represents VPP binary API message 'control_ping_reply': // -// "get_node_index_reply", +// "control_ping_reply", // [ // "u16", // "_vl_msg_id" @@ -373,30 +373,35 @@ func (*GetNodeIndex) GetMessageType() api.MessageType { // ], // [ // "u32", -// "node_index" +// "client_index" +// ], +// [ +// "u32", +// "vpe_pid" // ], // { -// "crc": "0xa8600b89" +// "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 } -// AddNodeNext represents VPP binary API message 'add_node_next': +// GetNextIndex represents VPP binary API message 'get_next_index': // -// "add_node_next", +// "get_next_index", // [ // "u16", // "_vl_msg_id" @@ -423,24 +428,24 @@ func (*GetNodeIndexReply) GetMessageType() api.MessageType { // "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 } -// AddNodeNextReply represents VPP binary API message 'add_node_next_reply': +// GetNextIndexReply represents VPP binary API message 'get_next_index_reply': // -// "add_node_next_reply", +// "get_next_index_reply", // [ // "u16", // "_vl_msg_id" @@ -461,24 +466,24 @@ func (*AddNodeNext) GetMessageType() api.MessageType { // "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 } -// ShowVersion represents VPP binary API message 'show_version': +// GetNodeGraph represents VPP binary API message 'get_node_graph': // -// "show_version", +// "get_node_graph", // [ // "u16", // "_vl_msg_id" @@ -495,21 +500,21 @@ func (*AddNodeNextReply) GetMessageType() api.MessageType { // "crc": "0x51077d14" // } // -type ShowVersion struct{} +type GetNodeGraph struct{} -func (*ShowVersion) GetMessageName() string { - return "show_version" +func (*GetNodeGraph) GetMessageName() string { + return "get_node_graph" } -func (*ShowVersion) GetCrcString() string { +func (*GetNodeGraph) GetCrcString() string { return "51077d14" } -func (*ShowVersion) GetMessageType() api.MessageType { +func (*GetNodeGraph) GetMessageType() api.MessageType { return api.RequestMessage } -// ShowVersionReply represents VPP binary API message 'show_version_reply': +// GetNodeGraphReply represents VPP binary API message 'get_node_graph_reply': // -// "show_version_reply", +// "get_node_graph_reply", // [ // "u16", // "_vl_msg_id" @@ -523,50 +528,31 @@ func (*ShowVersion) GetMessageType() api.MessageType { // "retval" // ], // [ -// "string", -// "program" -// ], -// [ -// "string", -// "version" -// ], -// [ -// "string", -// "build_date" -// ], -// [ -// "string", -// "build_directory" +// "u64", +// "reply_in_shmem" // ], // { -// "crc": "0xb9bcf6df" +// "crc": "0x06d68297" // } // -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 +type GetNodeGraphReply struct { + Retval int32 + ReplyInShmem uint64 } -func (*ShowVersionReply) GetMessageName() string { - return "show_version_reply" +func (*GetNodeGraphReply) GetMessageName() string { + return "get_node_graph_reply" } -func (*ShowVersionReply) GetCrcString() string { - return "b9bcf6df" +func (*GetNodeGraphReply) GetCrcString() string { + return "06d68297" } -func (*ShowVersionReply) GetMessageType() api.MessageType { +func (*GetNodeGraphReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ShowThreads represents VPP binary API message 'show_threads': +// GetNodeIndex represents VPP binary API message 'get_node_index': // -// "show_threads", +// "get_node_index", // [ // "u16", // "_vl_msg_id" @@ -579,25 +565,32 @@ func (*ShowVersionReply) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u8", +// "node_name", +// 64 +// ], // { -// "crc": "0x51077d14" +// "crc": "0x6c9a495d" // } // -type ShowThreads struct{} +type GetNodeIndex struct { + NodeName []byte `struc:"[64]byte"` +} -func (*ShowThreads) GetMessageName() string { - return "show_threads" +func (*GetNodeIndex) GetMessageName() string { + return "get_node_index" } -func (*ShowThreads) GetCrcString() string { - return "51077d14" +func (*GetNodeIndex) GetCrcString() string { + return "6c9a495d" } -func (*ShowThreads) GetMessageType() api.MessageType { +func (*GetNodeIndex) GetMessageType() api.MessageType { return api.RequestMessage } -// ShowThreadsReply represents VPP binary API message 'show_threads_reply': +// GetNodeIndexReply represents VPP binary API message 'get_node_index_reply': // -// "show_threads_reply", +// "get_node_index_reply", // [ // "u16", // "_vl_msg_id" @@ -612,37 +605,30 @@ func (*ShowThreads) GetMessageType() api.MessageType { // ], // [ // "u32", -// "count" -// ], -// [ -// "vl_api_thread_data_t", -// "thread_data", -// 0, -// "count" +// "node_index" // ], // { -// "crc": "0x6942fb35" +// "crc": "0xa8600b89" // } // -type ShowThreadsReply struct { - Retval int32 - Count uint32 `struc:"sizeof=ThreadData"` - ThreadData []ThreadData +type GetNodeIndexReply struct { + Retval int32 + NodeIndex uint32 } -func (*ShowThreadsReply) GetMessageName() string { - return "show_threads_reply" +func (*GetNodeIndexReply) GetMessageName() string { + return "get_node_index_reply" } -func (*ShowThreadsReply) GetCrcString() string { - return "6942fb35" +func (*GetNodeIndexReply) GetCrcString() string { + return "a8600b89" } -func (*ShowThreadsReply) GetMessageType() api.MessageType { +func (*GetNodeIndexReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// GetNodeGraph represents VPP binary API message 'get_node_graph': +// ShowThreads represents VPP binary API message 'show_threads': // -// "get_node_graph", +// "show_threads", // [ // "u16", // "_vl_msg_id" @@ -659,21 +645,21 @@ func (*ShowThreadsReply) GetMessageType() api.MessageType { // "crc": "0x51077d14" // } // -type GetNodeGraph struct{} +type ShowThreads struct{} -func (*GetNodeGraph) GetMessageName() string { - return "get_node_graph" +func (*ShowThreads) GetMessageName() string { + return "show_threads" } -func (*GetNodeGraph) GetCrcString() string { +func (*ShowThreads) GetCrcString() string { return "51077d14" } -func (*GetNodeGraph) GetMessageType() api.MessageType { +func (*ShowThreads) GetMessageType() api.MessageType { return api.RequestMessage } -// GetNodeGraphReply represents VPP binary API message 'get_node_graph_reply': +// ShowThreadsReply represents VPP binary API message 'show_threads_reply': // -// "get_node_graph_reply", +// "show_threads_reply", // [ // "u16", // "_vl_msg_id" @@ -687,31 +673,38 @@ func (*GetNodeGraph) GetMessageType() api.MessageType { // "retval" // ], // [ -// "u64", -// "reply_in_shmem" +// "u32", +// "count" +// ], +// [ +// "vl_api_thread_data_t", +// "thread_data", +// 0, +// "count" // ], // { -// "crc": "0x06d68297" +// "crc": "0x6942fb35" // } // -type GetNodeGraphReply struct { - Retval int32 - ReplyInShmem uint64 +type ShowThreadsReply struct { + Retval int32 + Count uint32 `struc:"sizeof=ThreadData"` + ThreadData []ThreadData } -func (*GetNodeGraphReply) GetMessageName() string { - return "get_node_graph_reply" +func (*ShowThreadsReply) GetMessageName() string { + return "show_threads_reply" } -func (*GetNodeGraphReply) GetCrcString() string { - return "06d68297" +func (*ShowThreadsReply) GetCrcString() string { + return "6942fb35" } -func (*GetNodeGraphReply) GetMessageType() api.MessageType { +func (*ShowThreadsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// GetNextIndex represents VPP binary API message 'get_next_index': +// ShowVersion represents VPP binary API message 'show_version': // -// "get_next_index", +// "show_version", // [ // "u16", // "_vl_msg_id" @@ -724,38 +717,25 @@ func (*GetNodeGraphReply) GetMessageType() api.MessageType { // "u32", // "context" // ], -// [ -// "u8", -// "node_name", -// 64 -// ], -// [ -// "u8", -// "next_name", -// 64 -// ], // { -// "crc": "0x9ab92f7a" +// "crc": "0x51077d14" // } // -type GetNextIndex struct { - NodeName []byte `struc:"[64]byte"` - NextName []byte `struc:"[64]byte"` -} +type ShowVersion struct{} -func (*GetNextIndex) GetMessageName() string { - return "get_next_index" +func (*ShowVersion) GetMessageName() string { + return "show_version" } -func (*GetNextIndex) GetCrcString() string { - return "9ab92f7a" +func (*ShowVersion) GetCrcString() string { + return "51077d14" } -func (*GetNextIndex) GetMessageType() api.MessageType { +func (*ShowVersion) GetMessageType() api.MessageType { return api.RequestMessage } -// GetNextIndexReply represents VPP binary API message 'get_next_index_reply': +// ShowVersionReply represents VPP binary API message 'show_version_reply': // -// "get_next_index_reply", +// "show_version_reply", // [ // "u16", // "_vl_msg_id" @@ -769,45 +749,64 @@ func (*GetNextIndex) GetMessageType() api.MessageType { // "retval" // ], // [ -// "u32", -// "next_index" +// "string", +// "program" +// ], +// [ +// "string", +// "version" +// ], +// [ +// "string", +// "build_date" +// ], +// [ +// "string", +// "build_directory" // ], // { -// "crc": "0x2ed75f32" +// "crc": "0xb9bcf6df" // } // -type GetNextIndexReply struct { - Retval int32 - NextIndex uint32 +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 (*GetNextIndexReply) GetMessageName() string { - return "get_next_index_reply" +func (*ShowVersionReply) GetMessageName() string { + return "show_version_reply" } -func (*GetNextIndexReply) GetCrcString() string { - return "2ed75f32" +func (*ShowVersionReply) GetCrcString() string { + return "b9bcf6df" } -func (*GetNextIndexReply) GetMessageType() api.MessageType { +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((*ShowVersion)(nil), "vpe.ShowVersion") - api.RegisterMessage((*ShowVersionReply)(nil), "vpe.ShowVersionReply") api.RegisterMessage((*ShowThreads)(nil), "vpe.ShowThreads") api.RegisterMessage((*ShowThreadsReply)(nil), "vpe.ShowThreadsReply") - api.RegisterMessage((*GetNodeGraph)(nil), "vpe.GetNodeGraph") - api.RegisterMessage((*GetNodeGraphReply)(nil), "vpe.GetNodeGraphReply") - api.RegisterMessage((*GetNextIndex)(nil), "vpe.GetNextIndex") - api.RegisterMessage((*GetNextIndexReply)(nil), "vpe.GetNextIndexReply") + api.RegisterMessage((*ShowVersion)(nil), "vpe.ShowVersion") + api.RegisterMessage((*ShowVersionReply)(nil), "vpe.ShowVersionReply") } diff --git a/examples/cmd/union-example/union_example.go b/examples/cmd/union-example/union_example.go index 0f801d2..d4563c6 100644 --- a/examples/cmd/union-example/union_example.go +++ b/examples/cmd/union-example/union_example.go @@ -17,13 +17,20 @@ package main import ( "bytes" + "fmt" "log" + "net" "git.fd.io/govpp.git/examples/bin_api/ip" "github.com/lunixbochs/struc" ) func main() { + encodingExample() + usageExample() +} + +func encodingExample() { // create union with IPv4 address var unionIP4 ip.AddressUnion unionIP4.SetIP4(ip.IP4Address{192, 168, 1, 10}) @@ -31,7 +38,7 @@ func main() { // use it in the Address type addr := &ip.Address{ Af: ip.ADDRESS_IP4, - Un: unionIP4, + Un: ip.AddressUnionIP4(ip.IP4Address{192, 168, 1, 10}), } log.Printf("encoding union IPv4: %v", addr.Un.GetIP4()) @@ -61,3 +68,36 @@ func decode(data []byte) *ip.Address { log.Printf("decoded address: %#v", addr) return addr } + +func usageExample() { + var convAddr = func(ip string) { + addr, err := ipToAddress(ip) + if err != nil { + log.Printf("converting ip %q failed: %v", ip, err) + } + fmt.Printf("% 0X\n", addr) + } + + convAddr("10.10.10.10") + convAddr("::1") + convAddr("") +} + +func ipToAddress(ipstr string) (addr ip.Address, err error) { + netIP := net.ParseIP(ipstr) + if netIP == nil { + return ip.Address{}, fmt.Errorf("invalid IP: %q", ipstr) + } + if ip4 := netIP.To4(); ip4 == nil { + addr.Af = ip.ADDRESS_IP6 + var ip6addr ip.IP6Address + copy(ip6addr[:], netIP.To16()) + addr.Un.SetIP6(ip6addr) + } else { + addr.Af = ip.ADDRESS_IP4 + var ip4addr ip.IP4Address + copy(ip4addr[:], ip4) + addr.Un.SetIP4(ip4addr) + } + return +} -- cgit 1.2.3-korg