diff options
-rw-r--r-- | api/api.go | 4 | ||||
-rw-r--r-- | cmd/binapi-generator/generate.go | 35 | ||||
-rw-r--r-- | cmd/binapi-generator/objects.go | 90 | ||||
-rw-r--r-- | cmd/binapi-generator/parse.go | 39 | ||||
-rw-r--r-- | core/channel.go | 2 | ||||
-rw-r--r-- | core/connection.go | 2 | ||||
-rw-r--r-- | examples/bin_api/acl/acl.ba.go | 1109 | ||||
-rw-r--r-- | examples/bin_api/af_packet/af_packet.ba.go | 127 | ||||
-rw-r--r-- | examples/bin_api/interfaces/interfaces.ba.go | 1723 | ||||
-rw-r--r-- | examples/bin_api/ip/ip.ba.go | 3469 | ||||
-rw-r--r-- | examples/bin_api/maps/maps.ba.go | 983 | ||||
-rw-r--r-- | examples/bin_api/memif/memif.ba.go | 307 | ||||
-rw-r--r-- | examples/bin_api/tap/tap.ba.go | 263 | ||||
-rw-r--r-- | examples/bin_api/vpe/vpe.ba.go | 457 | ||||
-rw-r--r-- | examples/cmd/union-example/union_example.go | 42 |
15 files changed, 4361 insertions, 4291 deletions
@@ -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,9 +243,9 @@ func (*MacipACLRule) GetCrcString() string { /* Messages */ -// ACLPluginGetVersion represents VPP binary API message 'acl_plugin_get_version': +// ACLAddReplace represents VPP binary API message 'acl_add_replace': // -// "acl_plugin_get_version", +// "acl_add_replace", // [ // "u16", // "_vl_msg_id" @@ -259,25 +258,49 @@ func (*MacipACLRule) GetCrcString() string { // "u32", // "context" // ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_acl_rule_t", +// "r", +// 0, +// "count" +// ], // { -// "crc": "0x51077d14" +// "crc": "0xe839997e" // } // -type ACLPluginGetVersion struct{} +type ACLAddReplace struct { + ACLIndex uint32 + Tag []byte `struc:"[64]byte"` + Count uint32 `struc:"sizeof=R"` + R []ACLRule +} -func (*ACLPluginGetVersion) GetMessageName() string { - return "acl_plugin_get_version" +func (*ACLAddReplace) GetMessageName() string { + return "acl_add_replace" } -func (*ACLPluginGetVersion) GetCrcString() string { - return "51077d14" +func (*ACLAddReplace) GetCrcString() string { + return "e839997e" } -func (*ACLPluginGetVersion) GetMessageType() api.MessageType { +func (*ACLAddReplace) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLPluginGetVersionReply represents VPP binary API message 'acl_plugin_get_version_reply': +// ACLAddReplaceReply represents VPP binary API message 'acl_add_replace_reply': // -// "acl_plugin_get_version_reply", +// "acl_add_replace_reply", // [ // "u16", // "_vl_msg_id" @@ -288,34 +311,34 @@ func (*ACLPluginGetVersion) GetMessageType() api.MessageType { // ], // [ // "u32", -// "major" +// "acl_index" // ], // [ -// "u32", -// "minor" +// "i32", +// "retval" // ], // { -// "crc": "0x9b32cf86" +// "crc": "0xac407b0c" // } // -type ACLPluginGetVersionReply struct { - Major uint32 - Minor uint32 +type ACLAddReplaceReply struct { + ACLIndex uint32 + Retval int32 } -func (*ACLPluginGetVersionReply) GetMessageName() string { - return "acl_plugin_get_version_reply" +func (*ACLAddReplaceReply) GetMessageName() string { + return "acl_add_replace_reply" } -func (*ACLPluginGetVersionReply) GetCrcString() string { - return "9b32cf86" +func (*ACLAddReplaceReply) GetCrcString() string { + return "ac407b0c" } -func (*ACLPluginGetVersionReply) GetMessageType() api.MessageType { +func (*ACLAddReplaceReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLPluginControlPing represents VPP binary API message 'acl_plugin_control_ping': +// ACLDel represents VPP binary API message 'acl_del': // -// "acl_plugin_control_ping", +// "acl_del", // [ // "u16", // "_vl_msg_id" @@ -328,25 +351,31 @@ func (*ACLPluginGetVersionReply) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u32", +// "acl_index" +// ], // { -// "crc": "0x51077d14" +// "crc": "0xef34fea4" // } // -type ACLPluginControlPing struct{} +type ACLDel struct { + ACLIndex uint32 +} -func (*ACLPluginControlPing) GetMessageName() string { - return "acl_plugin_control_ping" +func (*ACLDel) GetMessageName() string { + return "acl_del" } -func (*ACLPluginControlPing) GetCrcString() string { - return "51077d14" +func (*ACLDel) GetCrcString() string { + return "ef34fea4" } -func (*ACLPluginControlPing) GetMessageType() api.MessageType { +func (*ACLDel) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLPluginControlPingReply represents VPP binary API message 'acl_plugin_control_ping_reply': +// ACLDelReply represents VPP binary API message 'acl_del_reply': // -// "acl_plugin_control_ping_reply", +// "acl_del_reply", // [ // "u16", // "_vl_msg_id" @@ -359,101 +388,115 @@ func (*ACLPluginControlPing) GetMessageType() api.MessageType { // "i32", // "retval" // ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "vpe_pid" -// ], // { -// "crc": "0xf6b0b8ca" +// "crc": "0xe8d4e804" // } // -type ACLPluginControlPingReply struct { - Retval int32 - ClientIndex uint32 - VpePID uint32 +type ACLDelReply struct { + Retval int32 } -func (*ACLPluginControlPingReply) GetMessageName() string { - return "acl_plugin_control_ping_reply" +func (*ACLDelReply) GetMessageName() string { + return "acl_del_reply" } -func (*ACLPluginControlPingReply) GetCrcString() string { - return "f6b0b8ca" +func (*ACLDelReply) GetCrcString() string { + return "e8d4e804" } -func (*ACLPluginControlPingReply) GetMessageType() api.MessageType { +func (*ACLDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLPluginGetConnTableMaxEntries represents VPP binary API message 'acl_plugin_get_conn_table_max_entries': +// ACLDetails represents VPP binary API message 'acl_details': // -// "acl_plugin_get_conn_table_max_entries", +// "acl_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ // "u32", -// "context" +// "acl_index" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_acl_rule_t", +// "r", +// 0, +// "count" // ], // { -// "crc": "0x51077d14" +// "crc": "0x5bd895be" // } // -type ACLPluginGetConnTableMaxEntries struct{} +type ACLDetails struct { + ACLIndex uint32 + Tag []byte `struc:"[64]byte"` + Count uint32 `struc:"sizeof=R"` + R []ACLRule +} -func (*ACLPluginGetConnTableMaxEntries) GetMessageName() string { - return "acl_plugin_get_conn_table_max_entries" +func (*ACLDetails) GetMessageName() string { + return "acl_details" } -func (*ACLPluginGetConnTableMaxEntries) GetCrcString() string { - return "51077d14" +func (*ACLDetails) GetCrcString() string { + return "5bd895be" } -func (*ACLPluginGetConnTableMaxEntries) GetMessageType() api.MessageType { - return api.RequestMessage +func (*ACLDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// ACLPluginGetConnTableMaxEntriesReply represents VPP binary API message 'acl_plugin_get_conn_table_max_entries_reply': +// ACLDump represents VPP binary API message 'acl_dump': // -// "acl_plugin_get_conn_table_max_entries_reply", +// "acl_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ -// "u64", -// "conn_table_max_entries" +// "u32", +// "acl_index" // ], // { -// "crc": "0x7a096d3d" +// "crc": "0xef34fea4" // } // -type ACLPluginGetConnTableMaxEntriesReply struct { - ConnTableMaxEntries uint64 +type ACLDump struct { + ACLIndex uint32 } -func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageName() string { - return "acl_plugin_get_conn_table_max_entries_reply" +func (*ACLDump) GetMessageName() string { + return "acl_dump" } -func (*ACLPluginGetConnTableMaxEntriesReply) GetCrcString() string { - return "7a096d3d" +func (*ACLDump) GetCrcString() string { + return "ef34fea4" } -func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*ACLDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// ACLAddReplace represents VPP binary API message 'acl_add_replace': +// ACLInterfaceAddDel represents VPP binary API message 'acl_interface_add_del': // -// "acl_add_replace", +// "acl_interface_add_del", // [ // "u16", // "_vl_msg_id" @@ -467,48 +510,45 @@ func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "acl_index" +// "u8", +// "is_add" // ], // [ // "u8", -// "tag", -// 64 +// "is_input" // ], // [ // "u32", -// "count" +// "sw_if_index" // ], // [ -// "vl_api_acl_rule_t", -// "r", -// 0, -// "count" +// "u32", +// "acl_index" // ], // { -// "crc": "0xe839997e" +// "crc": "0x0b2aedd1" // } // -type ACLAddReplace struct { - ACLIndex uint32 - Tag []byte `struc:"[64]byte"` - Count uint32 `struc:"sizeof=R"` - R []ACLRule +type ACLInterfaceAddDel struct { + IsAdd uint8 + IsInput uint8 + SwIfIndex uint32 + ACLIndex uint32 } -func (*ACLAddReplace) GetMessageName() string { - return "acl_add_replace" +func (*ACLInterfaceAddDel) GetMessageName() string { + return "acl_interface_add_del" } -func (*ACLAddReplace) GetCrcString() string { - return "e839997e" +func (*ACLInterfaceAddDel) GetCrcString() string { + return "0b2aedd1" } -func (*ACLAddReplace) GetMessageType() api.MessageType { +func (*ACLInterfaceAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLAddReplaceReply represents VPP binary API message 'acl_add_replace_reply': +// ACLInterfaceAddDelReply represents VPP binary API message 'acl_interface_add_del_reply': // -// "acl_add_replace_reply", +// "acl_interface_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -518,185 +558,199 @@ func (*ACLAddReplace) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "acl_index" -// ], -// [ // "i32", // "retval" // ], // { -// "crc": "0xac407b0c" +// "crc": "0xe8d4e804" // } // -type ACLAddReplaceReply struct { - ACLIndex uint32 - Retval int32 +type ACLInterfaceAddDelReply struct { + Retval int32 } -func (*ACLAddReplaceReply) GetMessageName() string { - return "acl_add_replace_reply" +func (*ACLInterfaceAddDelReply) GetMessageName() string { + return "acl_interface_add_del_reply" } -func (*ACLAddReplaceReply) GetCrcString() string { - return "ac407b0c" +func (*ACLInterfaceAddDelReply) GetCrcString() string { + return "e8d4e804" } -func (*ACLAddReplaceReply) GetMessageType() api.MessageType { +func (*ACLInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLDel represents VPP binary API message 'acl_del': +// ACLInterfaceEtypeWhitelistDetails represents VPP binary API message 'acl_interface_etype_whitelist_details': // -// "acl_del", +// "acl_interface_etype_whitelist_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ // "u32", -// "context" +// "sw_if_index" // ], // [ -// "u32", -// "acl_index" +// "u8", +// "count" +// ], +// [ +// "u8", +// "n_input" +// ], +// [ +// "u16", +// "whitelist", +// 0, +// "count" // ], // { -// "crc": "0xef34fea4" +// "crc": "0x6a5d4e81" // } // -type ACLDel struct { - ACLIndex uint32 +type ACLInterfaceEtypeWhitelistDetails struct { + SwIfIndex uint32 + Count uint8 `struc:"sizeof=Whitelist"` + NInput uint8 + Whitelist []uint16 } -func (*ACLDel) GetMessageName() string { - return "acl_del" +func (*ACLInterfaceEtypeWhitelistDetails) GetMessageName() string { + return "acl_interface_etype_whitelist_details" } -func (*ACLDel) GetCrcString() string { - return "ef34fea4" +func (*ACLInterfaceEtypeWhitelistDetails) GetCrcString() string { + return "6a5d4e81" } -func (*ACLDel) GetMessageType() api.MessageType { - return api.RequestMessage +func (*ACLInterfaceEtypeWhitelistDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// ACLDelReply represents VPP binary API message 'acl_del_reply': +// ACLInterfaceEtypeWhitelistDump represents VPP binary API message 'acl_interface_etype_whitelist_dump': // -// "acl_del_reply", +// "acl_interface_etype_whitelist_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ -// "i32", -// "retval" +// "u32", +// "sw_if_index" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x529cb13f" // } // -type ACLDelReply struct { - Retval int32 +type ACLInterfaceEtypeWhitelistDump struct { + SwIfIndex uint32 } -func (*ACLDelReply) GetMessageName() string { - return "acl_del_reply" +func (*ACLInterfaceEtypeWhitelistDump) GetMessageName() string { + return "acl_interface_etype_whitelist_dump" } -func (*ACLDelReply) GetCrcString() string { - return "e8d4e804" +func (*ACLInterfaceEtypeWhitelistDump) GetCrcString() string { + return "529cb13f" } -func (*ACLDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*ACLInterfaceEtypeWhitelistDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// ACLInterfaceAddDel represents VPP binary API message 'acl_interface_add_del': +// ACLInterfaceListDetails represents VPP binary API message 'acl_interface_list_details': // -// "acl_interface_add_del", +// "acl_interface_list_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ // "u32", -// "context" +// "sw_if_index" // ], // [ // "u8", -// "is_add" +// "count" // ], // [ // "u8", -// "is_input" -// ], -// [ -// "u32", -// "sw_if_index" +// "n_input" // ], // [ // "u32", -// "acl_index" +// "acls", +// 0, +// "count" // ], // { -// "crc": "0x0b2aedd1" +// "crc": "0xd5e80809" // } // -type ACLInterfaceAddDel struct { - IsAdd uint8 - IsInput uint8 +type ACLInterfaceListDetails struct { SwIfIndex uint32 - ACLIndex uint32 + Count uint8 `struc:"sizeof=Acls"` + NInput uint8 + Acls []uint32 } -func (*ACLInterfaceAddDel) GetMessageName() string { - return "acl_interface_add_del" +func (*ACLInterfaceListDetails) GetMessageName() string { + return "acl_interface_list_details" } -func (*ACLInterfaceAddDel) GetCrcString() string { - return "0b2aedd1" +func (*ACLInterfaceListDetails) GetCrcString() string { + return "d5e80809" } -func (*ACLInterfaceAddDel) GetMessageType() api.MessageType { - return api.RequestMessage +func (*ACLInterfaceListDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// ACLInterfaceAddDelReply represents VPP binary API message 'acl_interface_add_del_reply': +// ACLInterfaceListDump represents VPP binary API message 'acl_interface_list_dump': // -// "acl_interface_add_del_reply", +// "acl_interface_list_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ -// "i32", -// "retval" +// "u32", +// "sw_if_index" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x529cb13f" // } // -type ACLInterfaceAddDelReply struct { - Retval int32 +type ACLInterfaceListDump struct { + SwIfIndex uint32 } -func (*ACLInterfaceAddDelReply) GetMessageName() string { - return "acl_interface_add_del_reply" +func (*ACLInterfaceListDump) GetMessageName() string { + return "acl_interface_list_dump" } -func (*ACLInterfaceAddDelReply) GetCrcString() string { - return "e8d4e804" +func (*ACLInterfaceListDump) GetCrcString() string { + return "529cb13f" } -func (*ACLInterfaceAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*ACLInterfaceListDump) GetMessageType() api.MessageType { + return api.RequestMessage } // ACLInterfaceSetACLList represents VPP binary API message 'acl_interface_set_acl_list': @@ -786,9 +840,9 @@ func (*ACLInterfaceSetACLListReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLDump represents VPP binary API message 'acl_dump': +// ACLInterfaceSetEtypeWhitelist represents VPP binary API message 'acl_interface_set_etype_whitelist': // -// "acl_dump", +// "acl_interface_set_etype_whitelist", // [ // "u16", // "_vl_msg_id" @@ -803,80 +857,153 @@ func (*ACLInterfaceSetACLListReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "acl_index" +// "sw_if_index" +// ], +// [ +// "u8", +// "count" +// ], +// [ +// "u8", +// "n_input" +// ], +// [ +// "u16", +// "whitelist", +// 0, +// "count" // ], // { -// "crc": "0xef34fea4" +// "crc": "0xf515efc5" // } // -type ACLDump struct { - ACLIndex uint32 +type ACLInterfaceSetEtypeWhitelist struct { + SwIfIndex uint32 + Count uint8 `struc:"sizeof=Whitelist"` + NInput uint8 + Whitelist []uint16 } -func (*ACLDump) GetMessageName() string { - return "acl_dump" +func (*ACLInterfaceSetEtypeWhitelist) GetMessageName() string { + return "acl_interface_set_etype_whitelist" } -func (*ACLDump) GetCrcString() string { - return "ef34fea4" +func (*ACLInterfaceSetEtypeWhitelist) GetCrcString() string { + return "f515efc5" } -func (*ACLDump) GetMessageType() api.MessageType { +func (*ACLInterfaceSetEtypeWhitelist) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLDetails represents VPP binary API message 'acl_details': +// ACLInterfaceSetEtypeWhitelistReply represents VPP binary API message 'acl_interface_set_etype_whitelist_reply': // -// "acl_details", +// "acl_interface_set_etype_whitelist_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type ACLInterfaceSetEtypeWhitelistReply struct { + Retval int32 +} + +func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageName() string { + return "acl_interface_set_etype_whitelist_reply" +} +func (*ACLInterfaceSetEtypeWhitelistReply) GetCrcString() string { + return "e8d4e804" +} +func (*ACLInterfaceSetEtypeWhitelistReply) 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", -// "acl_index" +// "context" // ], // [ -// "u8", -// "tag", -// 64 +// "i32", +// "retval" // ], // [ // "u32", -// "count" +// "client_index" // ], // [ -// "vl_api_acl_rule_t", -// "r", -// 0, -// "count" +// "u32", +// "vpe_pid" // ], // { -// "crc": "0x5bd895be" +// "crc": "0xf6b0b8ca" // } // -type ACLDetails struct { - ACLIndex uint32 - Tag []byte `struc:"[64]byte"` - Count uint32 `struc:"sizeof=R"` - R []ACLRule +type ACLPluginControlPingReply struct { + Retval int32 + ClientIndex uint32 + VpePID uint32 } -func (*ACLDetails) GetMessageName() string { - return "acl_details" +func (*ACLPluginControlPingReply) GetMessageName() string { + return "acl_plugin_control_ping_reply" } -func (*ACLDetails) GetCrcString() string { - return "5bd895be" +func (*ACLPluginControlPingReply) GetCrcString() string { + return "f6b0b8ca" } -func (*ACLDetails) GetMessageType() api.MessageType { +func (*ACLPluginControlPingReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLInterfaceListDump represents VPP binary API message 'acl_interface_list_dump': +// ACLPluginGetConnTableMaxEntries represents VPP binary API message 'acl_plugin_get_conn_table_max_entries': // -// "acl_interface_list_dump", +// "acl_plugin_get_conn_table_max_entries", // [ // "u16", // "_vl_msg_id" @@ -889,75 +1016,121 @@ func (*ACLDetails) GetMessageType() api.MessageType { // "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", -// "sw_if_index" +// "context" +// ], +// [ +// "u64", +// "conn_table_max_entries" // ], // { -// "crc": "0x529cb13f" +// "crc": "0x7a096d3d" // } // -type ACLInterfaceListDump struct { - SwIfIndex uint32 +type ACLPluginGetConnTableMaxEntriesReply struct { + ConnTableMaxEntries uint64 } -func (*ACLInterfaceListDump) GetMessageName() string { - return "acl_interface_list_dump" +func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageName() string { + return "acl_plugin_get_conn_table_max_entries_reply" } -func (*ACLInterfaceListDump) GetCrcString() string { - return "529cb13f" +func (*ACLPluginGetConnTableMaxEntriesReply) GetCrcString() string { + return "7a096d3d" } -func (*ACLInterfaceListDump) GetMessageType() api.MessageType { - return api.RequestMessage +func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageType() api.MessageType { + return api.ReplyMessage } -// ACLInterfaceListDetails represents VPP binary API message 'acl_interface_list_details': +// ACLPluginGetVersion represents VPP binary API message 'acl_plugin_get_version': // -// "acl_interface_list_details", +// "acl_plugin_get_version", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" +// "client_index" // ], // [ // "u32", -// "sw_if_index" +// "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", // [ -// "u8", -// "count" +// "u16", +// "_vl_msg_id" // ], // [ -// "u8", -// "n_input" +// "u32", +// "context" // ], // [ // "u32", -// "acls", -// 0, -// "count" +// "major" +// ], +// [ +// "u32", +// "minor" // ], // { -// "crc": "0xd5e80809" +// "crc": "0x9b32cf86" // } // -type ACLInterfaceListDetails struct { - SwIfIndex uint32 - Count uint8 `struc:"sizeof=Acls"` - NInput uint8 - Acls []uint32 +type ACLPluginGetVersionReply struct { + Major uint32 + Minor uint32 } -func (*ACLInterfaceListDetails) GetMessageName() string { - return "acl_interface_list_details" +func (*ACLPluginGetVersionReply) GetMessageName() string { + return "acl_plugin_get_version_reply" } -func (*ACLInterfaceListDetails) GetCrcString() string { - return "d5e80809" +func (*ACLPluginGetVersionReply) GetCrcString() string { + return "9b32cf86" } -func (*ACLInterfaceListDetails) GetMessageType() api.MessageType { +func (*ACLPluginGetVersionReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -1011,44 +1184,6 @@ func (*MacipACLAdd) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLAddReply represents VPP binary API message 'macip_acl_add_reply': -// -// "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 -} - // MacipACLAddReplace represents VPP binary API message 'macip_acl_add_replace': // // "macip_acl_add_replace", @@ -1142,6 +1277,44 @@ func (*MacipACLAddReplaceReply) GetMessageType() api.MessageType { return api.ReplyMessage } +// MacipACLAddReply represents VPP binary API message 'macip_acl_add_reply': +// +// "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", @@ -1212,83 +1385,54 @@ func (*MacipACLDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLInterfaceAddDel represents VPP binary API message 'macip_acl_interface_add_del': +// MacipACLDetails represents VPP binary API message 'macip_acl_details': // -// "macip_acl_interface_add_del", +// "macip_acl_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", // "context" // ], // [ -// "u8", -// "is_add" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ // "u32", // "acl_index" // ], -// { -// "crc": "0x6a6be97c" -// } -// -type MacipACLInterfaceAddDel struct { - IsAdd uint8 - SwIfIndex uint32 - ACLIndex uint32 -} - -func (*MacipACLInterfaceAddDel) GetMessageName() string { - return "macip_acl_interface_add_del" -} -func (*MacipACLInterfaceAddDel) GetCrcString() string { - return "6a6be97c" -} -func (*MacipACLInterfaceAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// MacipACLInterfaceAddDelReply represents VPP binary API message 'macip_acl_interface_add_del_reply': -// -// "macip_acl_interface_add_del_reply", // [ -// "u16", -// "_vl_msg_id" +// "u8", +// "tag", +// 64 // ], // [ // "u32", -// "context" +// "count" // ], // [ -// "i32", -// "retval" +// "vl_api_macip_acl_rule_t", +// "r", +// 0, +// "count" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0xdd2b55ba" // } // -type MacipACLInterfaceAddDelReply struct { - Retval int32 +type MacipACLDetails struct { + ACLIndex uint32 + Tag []byte `struc:"[64]byte"` + Count uint32 `struc:"sizeof=R"` + R []MacipACLRule } -func (*MacipACLInterfaceAddDelReply) GetMessageName() string { - return "macip_acl_interface_add_del_reply" +func (*MacipACLDetails) GetMessageName() string { + return "macip_acl_details" } -func (*MacipACLInterfaceAddDelReply) GetCrcString() string { - return "e8d4e804" +func (*MacipACLDetails) GetCrcString() string { + return "dd2b55ba" } -func (*MacipACLInterfaceAddDelReply) GetMessageType() api.MessageType { +func (*MacipACLDetails) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -1329,54 +1473,83 @@ func (*MacipACLDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLDetails represents VPP binary API message 'macip_acl_details': +// MacipACLInterfaceAddDel represents VPP binary API message 'macip_acl_interface_add_del': // -// "macip_acl_details", +// "macip_acl_interface_add_del", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ +// "u8", +// "is_add" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ // "u32", // "acl_index" // ], +// { +// "crc": "0x6a6be97c" +// } +// +type MacipACLInterfaceAddDel struct { + IsAdd uint8 + SwIfIndex uint32 + ACLIndex uint32 +} + +func (*MacipACLInterfaceAddDel) GetMessageName() string { + return "macip_acl_interface_add_del" +} +func (*MacipACLInterfaceAddDel) GetCrcString() string { + return "6a6be97c" +} +func (*MacipACLInterfaceAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// MacipACLInterfaceAddDelReply represents VPP binary API message 'macip_acl_interface_add_del_reply': +// +// "macip_acl_interface_add_del_reply", // [ -// "u8", -// "tag", -// 64 +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "count" +// "context" // ], // [ -// "vl_api_macip_acl_rule_t", -// "r", -// 0, -// "count" +// "i32", +// "retval" // ], // { -// "crc": "0xdd2b55ba" +// "crc": "0xe8d4e804" // } // -type MacipACLDetails struct { - ACLIndex uint32 - Tag []byte `struc:"[64]byte"` - Count uint32 `struc:"sizeof=R"` - R []MacipACLRule +type MacipACLInterfaceAddDelReply struct { + Retval int32 } -func (*MacipACLDetails) GetMessageName() string { - return "macip_acl_details" +func (*MacipACLInterfaceAddDelReply) GetMessageName() string { + return "macip_acl_interface_add_del_reply" } -func (*MacipACLDetails) GetCrcString() string { - return "dd2b55ba" +func (*MacipACLInterfaceAddDelReply) GetCrcString() string { + return "e8d4e804" } -func (*MacipACLDetails) GetMessageType() api.MessageType { +func (*MacipACLInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -1451,43 +1624,6 @@ func (*MacipACLInterfaceGetReply) 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 -} - // MacipACLInterfaceListDetails represents VPP binary API message 'macip_acl_interface_list_details': // // "macip_acl_interface_list_details", @@ -1533,96 +1669,9 @@ func (*MacipACLInterfaceListDetails) 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" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "count" -// ], -// [ -// "u8", -// "n_input" -// ], -// [ -// "u16", -// "whitelist", -// 0, -// "count" -// ], -// { -// "crc": "0xf515efc5" -// } -// -type ACLInterfaceSetEtypeWhitelist struct { - SwIfIndex uint32 - Count uint8 `struc:"sizeof=Whitelist"` - NInput uint8 - Whitelist []uint16 -} - -func (*ACLInterfaceSetEtypeWhitelist) GetMessageName() string { - return "acl_interface_set_etype_whitelist" -} -func (*ACLInterfaceSetEtypeWhitelist) GetCrcString() string { - return "f515efc5" -} -func (*ACLInterfaceSetEtypeWhitelist) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// ACLInterfaceSetEtypeWhitelistReply represents VPP binary API message 'acl_interface_set_etype_whitelist_reply': -// -// "acl_interface_set_etype_whitelist_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } -// -type ACLInterfaceSetEtypeWhitelistReply struct { - Retval int32 -} - -func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageName() string { - return "acl_interface_set_etype_whitelist_reply" -} -func (*ACLInterfaceSetEtypeWhitelistReply) GetCrcString() string { - return "e8d4e804" -} -func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// ACLInterfaceEtypeWhitelistDump represents VPP binary API message 'acl_interface_etype_whitelist_dump': +// MacipACLInterfaceListDump represents VPP binary API message 'macip_acl_interface_list_dump': // -// "acl_interface_etype_whitelist_dump", +// "macip_acl_interface_list_dump", // [ // "u16", // "_vl_msg_id" @@ -1643,105 +1692,55 @@ func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageType() api.MessageType { // "crc": "0x529cb13f" // } // -type ACLInterfaceEtypeWhitelistDump struct { +type MacipACLInterfaceListDump struct { SwIfIndex uint32 } -func (*ACLInterfaceEtypeWhitelistDump) GetMessageName() string { - return "acl_interface_etype_whitelist_dump" +func (*MacipACLInterfaceListDump) GetMessageName() string { + return "macip_acl_interface_list_dump" } -func (*ACLInterfaceEtypeWhitelistDump) GetCrcString() string { +func (*MacipACLInterfaceListDump) GetCrcString() string { return "529cb13f" } -func (*ACLInterfaceEtypeWhitelistDump) GetMessageType() api.MessageType { +func (*MacipACLInterfaceListDump) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLInterfaceEtypeWhitelistDetails represents VPP binary API message 'acl_interface_etype_whitelist_details': -// -// "acl_interface_etype_whitelist_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "count" -// ], -// [ -// "u8", -// "n_input" -// ], -// [ -// "u16", -// "whitelist", -// 0, -// "count" -// ], -// { -// "crc": "0x6a5d4e81" -// } -// -type ACLInterfaceEtypeWhitelistDetails struct { - SwIfIndex uint32 - Count uint8 `struc:"sizeof=Whitelist"` - NInput uint8 - Whitelist []uint16 -} - -func (*ACLInterfaceEtypeWhitelistDetails) GetMessageName() string { - return "acl_interface_etype_whitelist_details" -} -func (*ACLInterfaceEtypeWhitelistDetails) GetCrcString() string { - return "6a5d4e81" -} -func (*ACLInterfaceEtypeWhitelistDetails) GetMessageType() api.MessageType { - return api.ReplyMessage -} - 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,61 @@ 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" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// { +// "crc": "0x3b54129c" +// } +// +type CreateLoopback struct { + MacAddress []byte `struc:"[6]byte"` +} + +func (*CreateLoopback) GetMessageName() string { + return "create_loopback" +} +func (*CreateLoopback) GetCrcString() string { + return "3b54129c" +} +func (*CreateLoopback) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// CreateLoopbackInstance represents VPP binary API message 'create_loopback_instance': +// +// "create_loopback_instance", // [ // "u16", // "_vl_msg_id" @@ -237,35 +274,364 @@ func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType { // "context" // ], // [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "is_specified" +// ], +// [ +// "u32", +// "user_instance" +// ], +// { +// "crc": "0x7bbd53b6" +// } +// +type CreateLoopbackInstance struct { + MacAddress []byte `struc:"[6]byte"` + IsSpecified uint8 + UserInstance uint32 +} + +func (*CreateLoopbackInstance) GetMessageName() string { + return "create_loopback_instance" +} +func (*CreateLoopbackInstance) GetCrcString() string { + return "7bbd53b6" +} +func (*CreateLoopbackInstance) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// CreateLoopbackInstanceReply represents VPP binary API message 'create_loopback_instance_reply': +// +// "create_loopback_instance_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ // "u32", // "sw_if_index" // ], +// { +// "crc": "0xfda5941f" +// } +// +type CreateLoopbackInstanceReply struct { + Retval int32 + SwIfIndex uint32 +} + +func (*CreateLoopbackInstanceReply) GetMessageName() string { + return "create_loopback_instance_reply" +} +func (*CreateLoopbackInstanceReply) GetCrcString() string { + return "fda5941f" +} +func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// CreateLoopbackReply represents VPP binary API message 'create_loopback_reply': +// +// "create_loopback_reply", // [ // "u16", -// "mtu" +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" // ], // { -// "crc": "0x132da1e7" +// "crc": "0xfda5941f" // } // -type HwInterfaceSetMtu struct { +type CreateLoopbackReply struct { + Retval int32 SwIfIndex uint32 - Mtu uint16 } -func (*HwInterfaceSetMtu) GetMessageName() string { - return "hw_interface_set_mtu" +func (*CreateLoopbackReply) GetMessageName() string { + return "create_loopback_reply" } -func (*HwInterfaceSetMtu) GetCrcString() string { - return "132da1e7" +func (*CreateLoopbackReply) GetCrcString() string { + return "fda5941f" } -func (*HwInterfaceSetMtu) GetMessageType() api.MessageType { +func (*CreateLoopbackReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// CreateSubif represents VPP binary API message 'create_subif': +// +// "create_subif", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "sub_id" +// ], +// [ +// "u8", +// "no_tags" +// ], +// [ +// "u8", +// "one_tag" +// ], +// [ +// "u8", +// "two_tags" +// ], +// [ +// "u8", +// "dot1ad" +// ], +// [ +// "u8", +// "exact_match" +// ], +// [ +// "u8", +// "default_sub" +// ], +// [ +// "u8", +// "outer_vlan_id_any" +// ], +// [ +// "u8", +// "inner_vlan_id_any" +// ], +// [ +// "u16", +// "outer_vlan_id" +// ], +// [ +// "u16", +// "inner_vlan_id" +// ], +// { +// "crc": "0x86cfe408" +// } +// +type CreateSubif struct { + SwIfIndex uint32 + SubID uint32 + NoTags uint8 + OneTag uint8 + TwoTags uint8 + Dot1ad uint8 + ExactMatch uint8 + DefaultSub uint8 + OuterVlanIDAny uint8 + InnerVlanIDAny uint8 + OuterVlanID uint16 + InnerVlanID uint16 +} + +func (*CreateSubif) GetMessageName() string { + return "create_subif" +} +func (*CreateSubif) GetCrcString() string { + return "86cfe408" +} +func (*CreateSubif) GetMessageType() api.MessageType { return api.RequestMessage } -// HwInterfaceSetMtuReply represents VPP binary API message 'hw_interface_set_mtu_reply': +// CreateSubifReply represents VPP binary API message 'create_subif_reply': // -// "hw_interface_set_mtu_reply", +// "create_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } +// +type CreateSubifReply struct { + Retval int32 + SwIfIndex uint32 +} + +func (*CreateSubifReply) GetMessageName() string { + return "create_subif_reply" +} +func (*CreateSubifReply) GetCrcString() string { + return "fda5941f" +} +func (*CreateSubifReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// CreateVlanSubif represents VPP binary API message 'create_vlan_subif': +// +// "create_vlan_subif", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "vlan_id" +// ], +// { +// "crc": "0x70cadeda" +// } +// +type CreateVlanSubif struct { + SwIfIndex uint32 + VlanID uint32 +} + +func (*CreateVlanSubif) GetMessageName() string { + return "create_vlan_subif" +} +func (*CreateVlanSubif) GetCrcString() string { + return "70cadeda" +} +func (*CreateVlanSubif) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// CreateVlanSubifReply represents VPP binary API message 'create_vlan_subif_reply': +// +// "create_vlan_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } +// +type CreateVlanSubifReply struct { + Retval int32 + SwIfIndex uint32 +} + +func (*CreateVlanSubifReply) GetMessageName() string { + return "create_vlan_subif_reply" +} +func (*CreateVlanSubifReply) GetCrcString() string { + return "fda5941f" +} +func (*CreateVlanSubifReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// DeleteLoopback represents VPP binary API message 'delete_loopback': +// +// "delete_loopback", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } +// +type DeleteLoopback struct { + SwIfIndex uint32 +} + +func (*DeleteLoopback) GetMessageName() string { + return "delete_loopback" +} +func (*DeleteLoopback) GetCrcString() string { + return "529cb13f" +} +func (*DeleteLoopback) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// DeleteLoopbackReply represents VPP binary API message 'delete_loopback_reply': +// +// "delete_loopback_reply", // [ // "u16", // "_vl_msg_id" @@ -282,23 +648,23 @@ func (*HwInterfaceSetMtu) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type HwInterfaceSetMtuReply struct { +type DeleteLoopbackReply struct { Retval int32 } -func (*HwInterfaceSetMtuReply) GetMessageName() string { - return "hw_interface_set_mtu_reply" +func (*DeleteLoopbackReply) GetMessageName() string { + return "delete_loopback_reply" } -func (*HwInterfaceSetMtuReply) GetCrcString() string { +func (*DeleteLoopbackReply) GetCrcString() string { return "e8d4e804" } -func (*HwInterfaceSetMtuReply) GetMessageType() api.MessageType { +func (*DeleteLoopbackReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetMtu represents VPP binary API message 'sw_interface_set_mtu': +// DeleteSubif represents VPP binary API message 'delete_subif': // -// "sw_interface_set_mtu", +// "delete_subif", // [ // "u16", // "_vl_msg_id" @@ -315,33 +681,102 @@ func (*HwInterfaceSetMtuReply) GetMessageType() api.MessageType { // "u32", // "sw_if_index" // ], +// { +// "crc": "0x529cb13f" +// } +// +type DeleteSubif struct { + SwIfIndex uint32 +} + +func (*DeleteSubif) GetMessageName() string { + return "delete_subif" +} +func (*DeleteSubif) GetCrcString() string { + return "529cb13f" +} +func (*DeleteSubif) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// DeleteSubifReply represents VPP binary API message 'delete_subif_reply': +// +// "delete_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], // [ // "u32", -// "mtu", -// 4 +// "context" +// ], +// [ +// "i32", +// "retval" // ], // { -// "crc": "0xd0008db8" +// "crc": "0xe8d4e804" // } // -type SwInterfaceSetMtu struct { +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", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u16", +// "mtu" +// ], +// { +// "crc": "0x132da1e7" +// } +// +type HwInterfaceSetMtu struct { SwIfIndex uint32 - Mtu []uint32 `struc:"[4]uint32"` + Mtu uint16 } -func (*SwInterfaceSetMtu) GetMessageName() string { - return "sw_interface_set_mtu" +func (*HwInterfaceSetMtu) GetMessageName() string { + return "hw_interface_set_mtu" } -func (*SwInterfaceSetMtu) GetCrcString() string { - return "d0008db8" +func (*HwInterfaceSetMtu) GetCrcString() string { + return "132da1e7" } -func (*SwInterfaceSetMtu) GetMessageType() api.MessageType { +func (*HwInterfaceSetMtu) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetMtuReply represents VPP binary API message 'sw_interface_set_mtu_reply': +// HwInterfaceSetMtuReply represents VPP binary API message 'hw_interface_set_mtu_reply': // -// "sw_interface_set_mtu_reply", +// "hw_interface_set_mtu_reply", // [ // "u16", // "_vl_msg_id" @@ -358,23 +793,23 @@ func (*SwInterfaceSetMtu) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type SwInterfaceSetMtuReply struct { +type HwInterfaceSetMtuReply struct { Retval int32 } -func (*SwInterfaceSetMtuReply) GetMessageName() string { - return "sw_interface_set_mtu_reply" +func (*HwInterfaceSetMtuReply) GetMessageName() string { + return "hw_interface_set_mtu_reply" } -func (*SwInterfaceSetMtuReply) GetCrcString() string { +func (*HwInterfaceSetMtuReply) GetCrcString() string { return "e8d4e804" } -func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType { +func (*HwInterfaceSetMtuReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetIPDirectedBroadcast represents VPP binary API message 'sw_interface_set_ip_directed_broadcast': +// InterfaceNameRenumber represents VPP binary API message 'interface_name_renumber': // -// "sw_interface_set_ip_directed_broadcast", +// "interface_name_renumber", // [ // "u16", // "_vl_msg_id" @@ -392,31 +827,31 @@ func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType { // "sw_if_index" // ], // [ -// "u8", -// "enable" +// "u32", +// "new_show_dev_instance" // ], // { -// "crc": "0xa36fadc0" +// "crc": "0x39194269" // } // -type SwInterfaceSetIPDirectedBroadcast struct { - SwIfIndex uint32 - Enable uint8 +type InterfaceNameRenumber struct { + SwIfIndex uint32 + NewShowDevInstance uint32 } -func (*SwInterfaceSetIPDirectedBroadcast) GetMessageName() string { - return "sw_interface_set_ip_directed_broadcast" +func (*InterfaceNameRenumber) GetMessageName() string { + return "interface_name_renumber" } -func (*SwInterfaceSetIPDirectedBroadcast) GetCrcString() string { - return "a36fadc0" +func (*InterfaceNameRenumber) GetCrcString() string { + return "39194269" } -func (*SwInterfaceSetIPDirectedBroadcast) GetMessageType() api.MessageType { +func (*InterfaceNameRenumber) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetIPDirectedBroadcastReply represents VPP binary API message 'sw_interface_set_ip_directed_broadcast_reply': +// InterfaceNameRenumberReply represents VPP binary API message 'interface_name_renumber_reply': // -// "sw_interface_set_ip_directed_broadcast_reply", +// "interface_name_renumber_reply", // [ // "u16", // "_vl_msg_id" @@ -433,23 +868,23 @@ func (*SwInterfaceSetIPDirectedBroadcast) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type SwInterfaceSetIPDirectedBroadcastReply struct { +type InterfaceNameRenumberReply struct { Retval int32 } -func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageName() string { - return "sw_interface_set_ip_directed_broadcast_reply" +func (*InterfaceNameRenumberReply) GetMessageName() string { + return "interface_name_renumber_reply" } -func (*SwInterfaceSetIPDirectedBroadcastReply) GetCrcString() string { +func (*InterfaceNameRenumberReply) GetCrcString() string { return "e8d4e804" } -func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageType() api.MessageType { +func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceEvent represents VPP binary API message 'sw_interface_event': +// SwInterfaceAddDelAddress represents VPP binary API message 'sw_interface_add_del_address': // -// "sw_interface_event", +// "sw_interface_add_del_address", // [ // "u16", // "_vl_msg_id" @@ -460,7 +895,7 @@ func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageType() api.MessageType // ], // [ // "u32", -// "pid" +// "context" // ], // [ // "u32", @@ -468,83 +903,121 @@ func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageType() api.MessageType // ], // [ // "u8", -// "admin_up_down" +// "is_add" // ], // [ // "u8", -// "link_up_down" +// "is_ipv6" // ], // [ // "u8", -// "deleted" +// "del_all" +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "address", +// 16 // ], // { -// "crc": "0xbf9938e4" +// "crc": "0x7b583179" // } // -type SwInterfaceEvent struct { - PID uint32 - SwIfIndex uint32 - AdminUpDown uint8 - LinkUpDown uint8 - Deleted uint8 +type SwInterfaceAddDelAddress struct { + SwIfIndex uint32 + IsAdd uint8 + IsIPv6 uint8 + DelAll uint8 + AddressLength uint8 + Address []byte `struc:"[16]byte"` } -func (*SwInterfaceEvent) GetMessageName() string { - return "sw_interface_event" +func (*SwInterfaceAddDelAddress) GetMessageName() string { + return "sw_interface_add_del_address" } -func (*SwInterfaceEvent) GetCrcString() string { - return "bf9938e4" +func (*SwInterfaceAddDelAddress) GetCrcString() string { + return "7b583179" } -func (*SwInterfaceEvent) GetMessageType() api.MessageType { - return api.EventMessage +func (*SwInterfaceAddDelAddress) GetMessageType() api.MessageType { + return api.RequestMessage } -// WantInterfaceEvents represents VPP binary API message 'want_interface_events': +// SwInterfaceAddDelAddressReply represents VPP binary API message 'sw_interface_add_del_address_reply': // -// "want_interface_events", +// "sw_interface_add_del_address_reply", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SwInterfaceAddDelAddressReply struct { + Retval int32 +} + +func (*SwInterfaceAddDelAddressReply) GetMessageName() string { + return "sw_interface_add_del_address_reply" +} +func (*SwInterfaceAddDelAddressReply) GetCrcString() string { + return "e8d4e804" +} +func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// SwInterfaceClearStats represents VPP binary API message 'sw_interface_clear_stats': +// +// "sw_interface_clear_stats", +// [ +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "context" +// "client_index" // ], // [ // "u32", -// "enable_disable" +// "context" // ], // [ // "u32", -// "pid" +// "sw_if_index" // ], // { -// "crc": "0x476f5a08" +// "crc": "0x529cb13f" // } // -type WantInterfaceEvents struct { - EnableDisable uint32 - PID uint32 +type SwInterfaceClearStats struct { + SwIfIndex uint32 } -func (*WantInterfaceEvents) GetMessageName() string { - return "want_interface_events" +func (*SwInterfaceClearStats) GetMessageName() string { + return "sw_interface_clear_stats" } -func (*WantInterfaceEvents) GetCrcString() string { - return "476f5a08" +func (*SwInterfaceClearStats) GetCrcString() string { + return "529cb13f" } -func (*WantInterfaceEvents) GetMessageType() api.MessageType { +func (*SwInterfaceClearStats) GetMessageType() api.MessageType { return api.RequestMessage } -// WantInterfaceEventsReply represents VPP binary API message 'want_interface_events_reply': +// SwInterfaceClearStatsReply represents VPP binary API message 'sw_interface_clear_stats_reply': // -// "want_interface_events_reply", +// "sw_interface_clear_stats_reply", // [ // "u16", // "_vl_msg_id" @@ -561,17 +1034,17 @@ func (*WantInterfaceEvents) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type WantInterfaceEventsReply struct { +type SwInterfaceClearStatsReply struct { Retval int32 } -func (*WantInterfaceEventsReply) GetMessageName() string { - return "want_interface_events_reply" +func (*SwInterfaceClearStatsReply) GetMessageName() string { + return "sw_interface_clear_stats_reply" } -func (*WantInterfaceEventsReply) GetCrcString() string { +func (*SwInterfaceClearStatsReply) GetCrcString() string { return "e8d4e804" } -func (*WantInterfaceEventsReply) GetMessageType() api.MessageType { +func (*SwInterfaceClearStatsReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -807,9 +1280,9 @@ func (*SwInterfaceDump) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceAddDelAddress represents VPP binary API message 'sw_interface_add_del_address': +// SwInterfaceEvent represents VPP binary API message 'sw_interface_event': // -// "sw_interface_add_del_address", +// "sw_interface_event", // [ // "u16", // "_vl_msg_id" @@ -820,7 +1293,7 @@ func (*SwInterfaceDump) GetMessageType() api.MessageType { // ], // [ // "u32", -// "context" +// "pid" // ], // [ // "u32", @@ -828,84 +1301,41 @@ func (*SwInterfaceDump) GetMessageType() api.MessageType { // ], // [ // "u8", -// "is_add" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "del_all" +// "admin_up_down" // ], // [ // "u8", -// "address_length" +// "link_up_down" // ], // [ // "u8", -// "address", -// 16 -// ], -// { -// "crc": "0x7b583179" -// } -// -type SwInterfaceAddDelAddress struct { - SwIfIndex uint32 - IsAdd uint8 - IsIPv6 uint8 - DelAll uint8 - AddressLength uint8 - Address []byte `struc:"[16]byte"` -} - -func (*SwInterfaceAddDelAddress) GetMessageName() string { - return "sw_interface_add_del_address" -} -func (*SwInterfaceAddDelAddress) GetCrcString() string { - return "7b583179" -} -func (*SwInterfaceAddDelAddress) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// SwInterfaceAddDelAddressReply represents VPP binary API message 'sw_interface_add_del_address_reply': -// -// "sw_interface_add_del_address_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" +// "deleted" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0xbf9938e4" // } // -type SwInterfaceAddDelAddressReply struct { - Retval int32 +type SwInterfaceEvent struct { + PID uint32 + SwIfIndex uint32 + AdminUpDown uint8 + LinkUpDown uint8 + Deleted uint8 } -func (*SwInterfaceAddDelAddressReply) GetMessageName() string { - return "sw_interface_add_del_address_reply" +func (*SwInterfaceEvent) GetMessageName() string { + return "sw_interface_event" } -func (*SwInterfaceAddDelAddressReply) GetCrcString() string { - return "e8d4e804" +func (*SwInterfaceEvent) GetCrcString() string { + return "bf9938e4" } -func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*SwInterfaceEvent) GetMessageType() api.MessageType { + return api.EventMessage } -// SwInterfaceSetTable represents VPP binary API message 'sw_interface_set_table': +// SwInterfaceGetMacAddress represents VPP binary API message 'sw_interface_get_mac_address': // -// "sw_interface_set_table", +// "sw_interface_get_mac_address", // [ // "u16", // "_vl_msg_id" @@ -922,37 +1352,27 @@ func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType { // "u32", // "sw_if_index" // ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u32", -// "vrf_id" -// ], // { -// "crc": "0xacb25d89" +// "crc": "0x529cb13f" // } // -type SwInterfaceSetTable struct { +type SwInterfaceGetMacAddress struct { SwIfIndex uint32 - IsIPv6 uint8 - VrfID uint32 } -func (*SwInterfaceSetTable) GetMessageName() string { - return "sw_interface_set_table" +func (*SwInterfaceGetMacAddress) GetMessageName() string { + return "sw_interface_get_mac_address" } -func (*SwInterfaceSetTable) GetCrcString() string { - return "acb25d89" +func (*SwInterfaceGetMacAddress) GetCrcString() string { + return "529cb13f" } -func (*SwInterfaceSetTable) GetMessageType() api.MessageType { +func (*SwInterfaceGetMacAddress) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetTableReply represents VPP binary API message 'sw_interface_set_table_reply': +// SwInterfaceGetMacAddressReply represents VPP binary API message 'sw_interface_get_mac_address_reply': // -// "sw_interface_set_table_reply", +// "sw_interface_get_mac_address_reply", // [ // "u16", // "_vl_msg_id" @@ -965,21 +1385,27 @@ func (*SwInterfaceSetTable) GetMessageType() api.MessageType { // "i32", // "retval" // ], +// [ +// "u8", +// "mac_address", +// 6 +// ], // { -// "crc": "0xe8d4e804" +// "crc": "0x8ea538d3" // } // -type SwInterfaceSetTableReply struct { - Retval int32 +type SwInterfaceGetMacAddressReply struct { + Retval int32 + MacAddress []byte `struc:"[6]byte"` } -func (*SwInterfaceSetTableReply) GetMessageName() string { - return "sw_interface_set_table_reply" +func (*SwInterfaceGetMacAddressReply) GetMessageName() string { + return "sw_interface_get_mac_address_reply" } -func (*SwInterfaceSetTableReply) GetCrcString() string { - return "e8d4e804" +func (*SwInterfaceGetMacAddressReply) GetCrcString() string { + return "8ea538d3" } -func (*SwInterfaceSetTableReply) GetMessageType() api.MessageType { +func (*SwInterfaceGetMacAddressReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -1063,9 +1489,9 @@ func (*SwInterfaceGetTableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceSetUnnumbered represents VPP binary API message 'sw_interface_set_unnumbered': +// SwInterfaceRxPlacementDetails represents VPP binary API message 'sw_interface_rx_placement_details': // -// "sw_interface_set_unnumbered", +// "sw_interface_rx_placement_details", // [ // "u16", // "_vl_msg_id" @@ -1084,68 +1510,77 @@ func (*SwInterfaceGetTableReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "unnumbered_sw_if_index" +// "queue_id" +// ], +// [ +// "u32", +// "worker_id" // ], // [ // "u8", -// "is_add" +// "mode" // ], // { -// "crc": "0xa2c1bbda" +// "crc": "0x0e9e33f4" // } // -type SwInterfaceSetUnnumbered struct { - SwIfIndex uint32 - UnnumberedSwIfIndex uint32 - IsAdd uint8 +type SwInterfaceRxPlacementDetails struct { + SwIfIndex uint32 + QueueID uint32 + WorkerID uint32 + Mode uint8 } -func (*SwInterfaceSetUnnumbered) GetMessageName() string { - return "sw_interface_set_unnumbered" +func (*SwInterfaceRxPlacementDetails) GetMessageName() string { + return "sw_interface_rx_placement_details" } -func (*SwInterfaceSetUnnumbered) GetCrcString() string { - return "a2c1bbda" +func (*SwInterfaceRxPlacementDetails) GetCrcString() string { + return "0e9e33f4" } -func (*SwInterfaceSetUnnumbered) GetMessageType() api.MessageType { +func (*SwInterfaceRxPlacementDetails) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceSetUnnumberedReply represents VPP binary API message 'sw_interface_set_unnumbered_reply': +// SwInterfaceRxPlacementDump represents VPP binary API message 'sw_interface_rx_placement_dump': // -// "sw_interface_set_unnumbered_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 SwInterfaceSetUnnumberedReply struct { - Retval int32 +type SwInterfaceRxPlacementDump struct { + SwIfIndex uint32 } -func (*SwInterfaceSetUnnumberedReply) GetMessageName() string { - return "sw_interface_set_unnumbered_reply" +func (*SwInterfaceRxPlacementDump) GetMessageName() string { + return "sw_interface_rx_placement_dump" } -func (*SwInterfaceSetUnnumberedReply) GetCrcString() string { - return "e8d4e804" +func (*SwInterfaceRxPlacementDump) GetCrcString() string { + return "529cb13f" } -func (*SwInterfaceSetUnnumberedReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*SwInterfaceRxPlacementDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// SwInterfaceClearStats represents VPP binary API message 'sw_interface_clear_stats': +// SwInterfaceSetFlags represents VPP binary API message 'sw_interface_set_flags': // -// "sw_interface_clear_stats", +// "sw_interface_set_flags", // [ // "u16", // "_vl_msg_id" @@ -1162,27 +1597,32 @@ func (*SwInterfaceSetUnnumberedReply) GetMessageType() api.MessageType { // "u32", // "sw_if_index" // ], +// [ +// "u8", +// "admin_up_down" +// ], // { -// "crc": "0x529cb13f" +// "crc": "0x555485f5" // } // -type SwInterfaceClearStats struct { - SwIfIndex uint32 +type SwInterfaceSetFlags struct { + SwIfIndex uint32 + AdminUpDown uint8 } -func (*SwInterfaceClearStats) GetMessageName() string { - return "sw_interface_clear_stats" +func (*SwInterfaceSetFlags) GetMessageName() string { + return "sw_interface_set_flags" } -func (*SwInterfaceClearStats) GetCrcString() string { - return "529cb13f" +func (*SwInterfaceSetFlags) GetCrcString() string { + return "555485f5" } -func (*SwInterfaceClearStats) GetMessageType() api.MessageType { +func (*SwInterfaceSetFlags) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceClearStatsReply represents VPP binary API message 'sw_interface_clear_stats_reply': +// SwInterfaceSetFlagsReply represents VPP binary API message 'sw_interface_set_flags_reply': // -// "sw_interface_clear_stats_reply", +// "sw_interface_set_flags_reply", // [ // "u16", // "_vl_msg_id" @@ -1199,23 +1639,23 @@ func (*SwInterfaceClearStats) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type SwInterfaceClearStatsReply struct { +type SwInterfaceSetFlagsReply struct { Retval int32 } -func (*SwInterfaceClearStatsReply) GetMessageName() string { - return "sw_interface_clear_stats_reply" +func (*SwInterfaceSetFlagsReply) GetMessageName() string { + return "sw_interface_set_flags_reply" } -func (*SwInterfaceClearStatsReply) GetCrcString() string { +func (*SwInterfaceSetFlagsReply) GetCrcString() string { return "e8d4e804" } -func (*SwInterfaceClearStatsReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceTagAddDel represents VPP binary API message 'sw_interface_tag_add_del': +// SwInterfaceSetIPDirectedBroadcast represents VPP binary API message 'sw_interface_set_ip_directed_broadcast': // -// "sw_interface_tag_add_del", +// "sw_interface_set_ip_directed_broadcast", // [ // "u16", // "_vl_msg_id" @@ -1229,41 +1669,35 @@ func (*SwInterfaceClearStatsReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u8", -// "is_add" -// ], -// [ // "u32", // "sw_if_index" // ], // [ // "u8", -// "tag", -// 64 +// "enable" // ], // { -// "crc": "0x14cc636c" +// "crc": "0xa36fadc0" // } // -type SwInterfaceTagAddDel struct { - IsAdd uint8 +type SwInterfaceSetIPDirectedBroadcast struct { SwIfIndex uint32 - Tag []byte `struc:"[64]byte"` + Enable uint8 } -func (*SwInterfaceTagAddDel) GetMessageName() string { - return "sw_interface_tag_add_del" +func (*SwInterfaceSetIPDirectedBroadcast) GetMessageName() string { + return "sw_interface_set_ip_directed_broadcast" } -func (*SwInterfaceTagAddDel) GetCrcString() string { - return "14cc636c" +func (*SwInterfaceSetIPDirectedBroadcast) GetCrcString() string { + return "a36fadc0" } -func (*SwInterfaceTagAddDel) GetMessageType() api.MessageType { +func (*SwInterfaceSetIPDirectedBroadcast) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceTagAddDelReply represents VPP binary API message 'sw_interface_tag_add_del_reply': +// SwInterfaceSetIPDirectedBroadcastReply represents VPP binary API message 'sw_interface_set_ip_directed_broadcast_reply': // -// "sw_interface_tag_add_del_reply", +// "sw_interface_set_ip_directed_broadcast_reply", // [ // "u16", // "_vl_msg_id" @@ -1280,17 +1714,17 @@ func (*SwInterfaceTagAddDel) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type SwInterfaceTagAddDelReply struct { +type SwInterfaceSetIPDirectedBroadcastReply struct { Retval int32 } -func (*SwInterfaceTagAddDelReply) GetMessageName() string { - return "sw_interface_tag_add_del_reply" +func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageName() string { + return "sw_interface_set_ip_directed_broadcast_reply" } -func (*SwInterfaceTagAddDelReply) GetCrcString() string { +func (*SwInterfaceSetIPDirectedBroadcastReply) GetCrcString() string { return "e8d4e804" } -func (*SwInterfaceTagAddDelReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -1370,9 +1804,9 @@ func (*SwInterfaceSetMacAddressReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceGetMacAddress represents VPP binary API message 'sw_interface_get_mac_address': +// SwInterfaceSetMtu represents VPP binary API message 'sw_interface_set_mtu': // -// "sw_interface_get_mac_address", +// "sw_interface_set_mtu", // [ // "u16", // "_vl_msg_id" @@ -1389,27 +1823,33 @@ func (*SwInterfaceSetMacAddressReply) GetMessageType() api.MessageType { // "u32", // "sw_if_index" // ], +// [ +// "u32", +// "mtu", +// 4 +// ], // { -// "crc": "0x529cb13f" +// "crc": "0xd0008db8" // } // -type SwInterfaceGetMacAddress struct { +type SwInterfaceSetMtu struct { SwIfIndex uint32 + Mtu []uint32 `struc:"[4]uint32"` } -func (*SwInterfaceGetMacAddress) GetMessageName() string { - return "sw_interface_get_mac_address" +func (*SwInterfaceSetMtu) GetMessageName() string { + return "sw_interface_set_mtu" } -func (*SwInterfaceGetMacAddress) GetCrcString() string { - return "529cb13f" +func (*SwInterfaceSetMtu) GetCrcString() string { + return "d0008db8" } -func (*SwInterfaceGetMacAddress) GetMessageType() api.MessageType { +func (*SwInterfaceSetMtu) GetMessageType() api.MessageType { return api.RequestMessage } -// SwInterfaceGetMacAddressReply represents VPP binary API message 'sw_interface_get_mac_address_reply': +// SwInterfaceSetMtuReply represents VPP binary API message 'sw_interface_set_mtu_reply': // -// "sw_interface_get_mac_address_reply", +// "sw_interface_set_mtu_reply", // [ // "u16", // "_vl_msg_id" @@ -1422,27 +1862,21 @@ func (*SwInterfaceGetMacAddress) GetMessageType() api.MessageType { // "i32", // "retval" // ], -// [ -// "u8", -// "mac_address", -// 6 -// ], // { -// "crc": "0x8ea538d3" +// "crc": "0xe8d4e804" // } // -type SwInterfaceGetMacAddressReply struct { - Retval int32 - MacAddress []byte `struc:"[6]byte"` +type SwInterfaceSetMtuReply struct { + Retval int32 } -func (*SwInterfaceGetMacAddressReply) GetMessageName() string { - return "sw_interface_get_mac_address_reply" +func (*SwInterfaceSetMtuReply) GetMessageName() string { + return "sw_interface_set_mtu_reply" } -func (*SwInterfaceGetMacAddressReply) GetCrcString() string { - return "8ea538d3" +func (*SwInterfaceSetMtuReply) GetCrcString() string { + return "e8d4e804" } -func (*SwInterfaceGetMacAddressReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -1616,46 +2050,9 @@ func (*SwInterfaceSetRxPlacementReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// SwInterfaceRxPlacementDump represents VPP binary API message 'sw_interface_rx_placement_dump': -// -// "sw_interface_rx_placement_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0x529cb13f" -// } -// -type SwInterfaceRxPlacementDump struct { - SwIfIndex uint32 -} - -func (*SwInterfaceRxPlacementDump) GetMessageName() string { - return "sw_interface_rx_placement_dump" -} -func (*SwInterfaceRxPlacementDump) GetCrcString() string { - return "529cb13f" -} -func (*SwInterfaceRxPlacementDump) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// SwInterfaceRxPlacementDetails represents VPP binary API message 'sw_interface_rx_placement_details': +// SwInterfaceSetTable represents VPP binary API message 'sw_interface_set_table': // -// "sw_interface_rx_placement_details", +// "sw_interface_set_table", // [ // "u16", // "_vl_msg_id" @@ -1673,83 +2070,36 @@ func (*SwInterfaceRxPlacementDump) GetMessageType() api.MessageType { // "sw_if_index" // ], // [ -// "u32", -// "queue_id" -// ], -// [ -// "u32", -// "worker_id" -// ], -// [ // "u8", -// "mode" -// ], -// { -// "crc": "0x0e9e33f4" -// } -// -type SwInterfaceRxPlacementDetails struct { - SwIfIndex uint32 - QueueID uint32 - WorkerID uint32 - Mode uint8 -} - -func (*SwInterfaceRxPlacementDetails) GetMessageName() string { - return "sw_interface_rx_placement_details" -} -func (*SwInterfaceRxPlacementDetails) GetCrcString() string { - return "0e9e33f4" -} -func (*SwInterfaceRxPlacementDetails) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// InterfaceNameRenumber represents VPP binary API message 'interface_name_renumber': -// -// "interface_name_renumber", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" +// "is_ipv6" // ], // [ // "u32", -// "new_show_dev_instance" +// "vrf_id" // ], // { -// "crc": "0x39194269" +// "crc": "0xacb25d89" // } // -type InterfaceNameRenumber struct { - SwIfIndex uint32 - NewShowDevInstance uint32 +type SwInterfaceSetTable struct { + SwIfIndex uint32 + IsIPv6 uint8 + VrfID uint32 } -func (*InterfaceNameRenumber) GetMessageName() string { - return "interface_name_renumber" +func (*SwInterfaceSetTable) GetMessageName() string { + return "sw_interface_set_table" } -func (*InterfaceNameRenumber) GetCrcString() string { - return "39194269" +func (*SwInterfaceSetTable) GetCrcString() string { + return "acb25d89" } -func (*InterfaceNameRenumber) GetMessageType() api.MessageType { +func (*SwInterfaceSetTable) GetMessageType() api.MessageType { return api.RequestMessage } -// InterfaceNameRenumberReply represents VPP binary API message 'interface_name_renumber_reply': +// SwInterfaceSetTableReply represents VPP binary API message 'sw_interface_set_table_reply': // -// "interface_name_renumber_reply", +// "sw_interface_set_table_reply", // [ // "u16", // "_vl_msg_id" @@ -1766,23 +2116,23 @@ func (*InterfaceNameRenumber) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type InterfaceNameRenumberReply struct { +type SwInterfaceSetTableReply struct { Retval int32 } -func (*InterfaceNameRenumberReply) GetMessageName() string { - return "interface_name_renumber_reply" +func (*SwInterfaceSetTableReply) GetMessageName() string { + return "sw_interface_set_table_reply" } -func (*InterfaceNameRenumberReply) GetCrcString() string { +func (*SwInterfaceSetTableReply) GetCrcString() string { return "e8d4e804" } -func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetTableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CreateSubif represents VPP binary API message 'create_subif': +// SwInterfaceSetUnnumbered represents VPP binary API message 'sw_interface_set_unnumbered': // -// "create_subif", +// "sw_interface_set_unnumbered", // [ // "u16", // "_vl_msg_id" @@ -1801,235 +2151,35 @@ 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" +// "unnumbered_sw_if_index" // ], // [ // "u8", -// "inner_vlan_id_any" -// ], -// [ -// "u16", -// "outer_vlan_id" -// ], -// [ -// "u16", -// "inner_vlan_id" -// ], -// { -// "crc": "0x86cfe408" -// } -// -type CreateSubif struct { - SwIfIndex uint32 - SubID uint32 - NoTags uint8 - OneTag uint8 - TwoTags uint8 - Dot1ad uint8 - ExactMatch uint8 - DefaultSub uint8 - OuterVlanIDAny uint8 - InnerVlanIDAny uint8 - OuterVlanID uint16 - InnerVlanID uint16 -} - -func (*CreateSubif) GetMessageName() string { - return "create_subif" -} -func (*CreateSubif) GetCrcString() string { - return "86cfe408" -} -func (*CreateSubif) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// CreateSubifReply represents VPP binary API message 'create_subif_reply': -// -// "create_subif_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0xfda5941f" -// } -// -type CreateSubifReply struct { - Retval int32 - SwIfIndex uint32 -} - -func (*CreateSubifReply) GetMessageName() string { - return "create_subif_reply" -} -func (*CreateSubifReply) GetCrcString() string { - return "fda5941f" -} -func (*CreateSubifReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// CreateVlanSubif represents VPP binary API message 'create_vlan_subif': -// -// "create_vlan_subif", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "vlan_id" -// ], -// { -// "crc": "0x70cadeda" -// } -// -type CreateVlanSubif struct { - SwIfIndex uint32 - VlanID uint32 -} - -func (*CreateVlanSubif) GetMessageName() string { - return "create_vlan_subif" -} -func (*CreateVlanSubif) GetCrcString() string { - return "70cadeda" -} -func (*CreateVlanSubif) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// CreateVlanSubifReply represents VPP binary API message 'create_vlan_subif_reply': -// -// "create_vlan_subif_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0xfda5941f" -// } -// -type CreateVlanSubifReply struct { - Retval int32 - SwIfIndex uint32 -} - -func (*CreateVlanSubifReply) GetMessageName() string { - return "create_vlan_subif_reply" -} -func (*CreateVlanSubifReply) GetCrcString() string { - return "fda5941f" -} -func (*CreateVlanSubifReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// DeleteSubif represents VPP binary API message 'delete_subif': -// -// "delete_subif", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" +// "is_add" // ], // { -// "crc": "0x529cb13f" +// "crc": "0xa2c1bbda" // } // -type DeleteSubif struct { - SwIfIndex uint32 +type SwInterfaceSetUnnumbered struct { + SwIfIndex uint32 + UnnumberedSwIfIndex uint32 + IsAdd uint8 } -func (*DeleteSubif) GetMessageName() string { - return "delete_subif" +func (*SwInterfaceSetUnnumbered) GetMessageName() string { + return "sw_interface_set_unnumbered" } -func (*DeleteSubif) GetCrcString() string { - return "529cb13f" +func (*SwInterfaceSetUnnumbered) GetCrcString() string { + return "a2c1bbda" } -func (*DeleteSubif) GetMessageType() api.MessageType { +func (*SwInterfaceSetUnnumbered) GetMessageType() api.MessageType { return api.RequestMessage } -// DeleteSubifReply represents VPP binary API message 'delete_subif_reply': +// SwInterfaceSetUnnumberedReply represents VPP binary API message 'sw_interface_set_unnumbered_reply': // -// "delete_subif_reply", +// "sw_interface_set_unnumbered_reply", // [ // "u16", // "_vl_msg_id" @@ -2046,23 +2196,23 @@ func (*DeleteSubif) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type DeleteSubifReply struct { +type SwInterfaceSetUnnumberedReply struct { Retval int32 } -func (*DeleteSubifReply) GetMessageName() string { - return "delete_subif_reply" +func (*SwInterfaceSetUnnumberedReply) GetMessageName() string { + return "sw_interface_set_unnumbered_reply" } -func (*DeleteSubifReply) GetCrcString() string { +func (*SwInterfaceSetUnnumberedReply) GetCrcString() string { return "e8d4e804" } -func (*DeleteSubifReply) GetMessageType() api.MessageType { +func (*SwInterfaceSetUnnumberedReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// CreateLoopback represents VPP binary API message 'create_loopback': +// SwInterfaceTagAddDel represents VPP binary API message 'sw_interface_tag_add_del': // -// "create_loopback", +// "sw_interface_tag_add_del", // [ // "u16", // "_vl_msg_id" @@ -2077,191 +2227,40 @@ func (*DeleteSubifReply) GetMessageType() api.MessageType { // ], // [ // "u8", -// "mac_address", -// 6 -// ], -// { -// "crc": "0x3b54129c" -// } -// -type CreateLoopback struct { - MacAddress []byte `struc:"[6]byte"` -} - -func (*CreateLoopback) GetMessageName() string { - return "create_loopback" -} -func (*CreateLoopback) GetCrcString() string { - return "3b54129c" -} -func (*CreateLoopback) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// CreateLoopbackReply represents VPP binary API message 'create_loopback_reply': -// -// "create_loopback_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" +// "is_add" // ], // [ // "u32", // "sw_if_index" // ], -// { -// "crc": "0xfda5941f" -// } -// -type CreateLoopbackReply struct { - Retval int32 - SwIfIndex uint32 -} - -func (*CreateLoopbackReply) GetMessageName() string { - return "create_loopback_reply" -} -func (*CreateLoopbackReply) GetCrcString() string { - return "fda5941f" -} -func (*CreateLoopbackReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// CreateLoopbackInstance represents VPP binary API message 'create_loopback_instance': -// -// "create_loopback_instance", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "mac_address", -// 6 -// ], // [ // "u8", -// "is_specified" -// ], -// [ -// "u32", -// "user_instance" -// ], -// { -// "crc": "0x7bbd53b6" -// } -// -type CreateLoopbackInstance struct { - MacAddress []byte `struc:"[6]byte"` - IsSpecified uint8 - UserInstance uint32 -} - -func (*CreateLoopbackInstance) GetMessageName() string { - return "create_loopback_instance" -} -func (*CreateLoopbackInstance) GetCrcString() string { - return "7bbd53b6" -} -func (*CreateLoopbackInstance) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// CreateLoopbackInstanceReply represents VPP binary API message 'create_loopback_instance_reply': -// -// "create_loopback_instance_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0xfda5941f" -// } -// -type CreateLoopbackInstanceReply struct { - Retval int32 - SwIfIndex uint32 -} - -func (*CreateLoopbackInstanceReply) GetMessageName() string { - return "create_loopback_instance_reply" -} -func (*CreateLoopbackInstanceReply) GetCrcString() string { - return "fda5941f" -} -func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// DeleteLoopback represents VPP binary API message 'delete_loopback': -// -// "delete_loopback", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" +// "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,6 +560,97 @@ func (*IP6RaPrefixInfo) GetCrcString() string { return "83d7c6e5" } +// MfibPath represents VPP binary API type 'mfib_path': +// +// "mfib_path", +// [ +// "vl_api_fib_path_t", +// "path" +// ], +// [ +// "u32", +// "itf_flags" +// ], +// { +// "crc": "0x4ba77d32" +// } +// +type MfibPath struct { + Path FibPath + ItfFlags uint32 +} + +func (*MfibPath) GetTypeName() string { + return "mfib_path" +} +func (*MfibPath) GetCrcString() string { + return "4ba77d32" +} + +// 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" +} + +// 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" +} + // ProxyArp represents VPP binary API type 'proxy_arp': // // "proxy_arp", @@ -718,6 +685,38 @@ func (*ProxyArp) GetCrcString() string { return "6d88106e" } +// PuntRedirect represents VPP binary API type 'punt_redirect': +// +// "punt_redirect", +// [ +// "u32", +// "rx_sw_if_index" +// ], +// [ +// "u32", +// "tx_sw_if_index" +// ], +// [ +// "vl_api_address_t", +// "nh" +// ], +// { +// "crc": "0x3e7a801f" +// } +// +type PuntRedirect struct { + RxSwIfIndex uint32 + TxSwIfIndex uint32 + Nh Address +} + +func (*PuntRedirect) GetTypeName() string { + return "punt_redirect" +} +func (*PuntRedirect) GetCrcString() string { + return "3e7a801f" +} + /* Unions */ // AddressUnion represents VPP binary API union 'address_union': @@ -746,6 +745,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 { @@ -759,6 +762,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 { @@ -774,9 +781,9 @@ func (u *AddressUnion) GetIP6() (a IP6Address) { /* Messages */ -// IPTableAddDel represents VPP binary API message 'ip_table_add_del': +// IoamDisable represents VPP binary API message 'ioam_disable': // -// "ip_table_add_del", +// "ioam_disable", // [ // "u16", // "_vl_msg_id" @@ -790,46 +797,30 @@ func (u *AddressUnion) GetIP6() (a IP6Address) { // "context" // ], // [ -// "u32", -// "table_id" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u8", -// "name", -// 64 +// "u16", +// "id" // ], // { -// "crc": "0x0240c89d" +// "crc": "0x6b16a45e" // } // -type IPTableAddDel struct { - TableID uint32 - IsIPv6 uint8 - IsAdd uint8 - Name []byte `struc:"[64]byte"` +type IoamDisable struct { + ID uint16 } -func (*IPTableAddDel) GetMessageName() string { - return "ip_table_add_del" +func (*IoamDisable) GetMessageName() string { + return "ioam_disable" } -func (*IPTableAddDel) GetCrcString() string { - return "0240c89d" +func (*IoamDisable) GetCrcString() string { + return "6b16a45e" } -func (*IPTableAddDel) GetMessageType() api.MessageType { +func (*IoamDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply': +// IoamDisableReply represents VPP binary API message 'ioam_disable_reply': // -// "ip_table_add_del_reply", +// "ioam_disable_reply", // [ // "u16", // "_vl_msg_id" @@ -846,23 +837,23 @@ func (*IPTableAddDel) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IPTableAddDelReply struct { +type IoamDisableReply struct { Retval int32 } -func (*IPTableAddDelReply) GetMessageName() string { - return "ip_table_add_del_reply" +func (*IoamDisableReply) GetMessageName() string { + return "ioam_disable_reply" } -func (*IPTableAddDelReply) GetCrcString() string { +func (*IoamDisableReply) GetCrcString() string { return "e8d4e804" } -func (*IPTableAddDelReply) GetMessageType() api.MessageType { +func (*IoamDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPFibDump represents VPP binary API message 'ip_fib_dump': +// IoamEnable represents VPP binary API message 'ioam_enable': // -// "ip_fib_dump", +// "ioam_enable", // [ // "u16", // "_vl_msg_id" @@ -875,92 +866,89 @@ func (*IPTableAddDelReply) GetMessageType() api.MessageType { // "u32", // "context" // ], -// { -// "crc": "0x51077d14" -// } -// -type IPFibDump struct{} - -func (*IPFibDump) GetMessageName() string { - return "ip_fib_dump" -} -func (*IPFibDump) GetCrcString() string { - return "51077d14" -} -func (*IPFibDump) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// IPFibDetails represents VPP binary API message 'ip_fib_details': -// -// "ip_fib_details", // [ // "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" +// "id" // ], // [ -// "u32", -// "table_id" +// "u8", +// "seqno" // ], // [ // "u8", -// "table_name", -// 64 +// "analyse" // ], // [ // "u8", -// "address_length" +// "pot_enable" // ], // [ // "u8", -// "address", -// 4 +// "trace_enable" // ], // [ // "u32", -// "count" +// "node_id" +// ], +// { +// "crc": "0x9392e032" +// } +// +type IoamEnable struct { + ID uint16 + Seqno uint8 + Analyse uint8 + PotEnable uint8 + TraceEnable uint8 + NodeID uint32 +} + +func (*IoamEnable) GetMessageName() string { + return "ioam_enable" +} +func (*IoamEnable) GetCrcString() string { + return "9392e032" +} +func (*IoamEnable) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IoamEnableReply represents VPP binary API message 'ioam_enable_reply': +// +// "ioam_enable_reply", +// [ +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "stats_index" +// "context" // ], // [ -// "vl_api_fib_path_t", -// "path", -// 0, -// "count" +// "i32", +// "retval" // ], // { -// "crc": "0xf6a2fab3" +// "crc": "0xe8d4e804" // } // -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 +type IoamEnableReply struct { + Retval int32 } -func (*IPFibDetails) GetMessageName() string { - return "ip_fib_details" +func (*IoamEnableReply) GetMessageName() string { + return "ioam_enable_reply" } -func (*IPFibDetails) GetCrcString() string { - return "f6a2fab3" +func (*IoamEnableReply) GetCrcString() string { + return "e8d4e804" } -func (*IPFibDetails) GetMessageType() api.MessageType { +func (*IoamEnableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6FibDump represents VPP binary API message 'ip6_fib_dump': +// IP4ArpEvent represents VPP binary API message 'ip4_arp_event': // -// "ip6_fib_dump", +// "ip4_arp_event", // [ // "u16", // "_vl_msg_id" @@ -971,22 +959,45 @@ func (*IPFibDetails) GetMessageType() api.MessageType { // ], // [ // "u32", -// "context" +// "address" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "new_mac", +// 6 +// ], +// [ +// "u8", +// "mac_ip" // ], // { -// "crc": "0x51077d14" +// "crc": "0xef7235f7" // } // -type IP6FibDump struct{} +type IP4ArpEvent struct { + Address uint32 + PID uint32 + SwIfIndex uint32 + NewMac []byte `struc:"[6]byte"` + MacIP uint8 +} -func (*IP6FibDump) GetMessageName() string { - return "ip6_fib_dump" +func (*IP4ArpEvent) GetMessageName() string { + return "ip4_arp_event" } -func (*IP6FibDump) GetCrcString() string { - return "51077d14" +func (*IP4ArpEvent) GetCrcString() string { + return "ef7235f7" } -func (*IP6FibDump) GetMessageType() api.MessageType { - return api.RequestMessage +func (*IP4ArpEvent) GetMessageType() api.MessageType { + return api.EventMessage } // IP6FibDetails represents VPP binary API message 'ip6_fib_details': @@ -1056,9 +1067,9 @@ func (*IP6FibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPNeighborDump represents VPP binary API message 'ip_neighbor_dump': +// IP6FibDump represents VPP binary API message 'ip6_fib_dump': // -// "ip_neighbor_dump", +// "ip6_fib_dump", // [ // "u16", // "_vl_msg_id" @@ -1071,36 +1082,25 @@ func (*IP6FibDetails) GetMessageType() api.MessageType { // "u32", // "context" // ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_ipv6" -// ], // { -// "crc": "0x6b7bcd0a" +// "crc": "0x51077d14" // } // -type IPNeighborDump struct { - SwIfIndex uint32 - IsIPv6 uint8 -} +type IP6FibDump struct{} -func (*IPNeighborDump) GetMessageName() string { - return "ip_neighbor_dump" +func (*IP6FibDump) GetMessageName() string { + return "ip6_fib_dump" } -func (*IPNeighborDump) GetCrcString() string { - return "6b7bcd0a" +func (*IP6FibDump) GetCrcString() string { + return "51077d14" } -func (*IPNeighborDump) GetMessageType() api.MessageType { +func (*IP6FibDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IPNeighborDetails represents VPP binary API message 'ip_neighbor_details': +// IP6MfibDetails represents VPP binary API message 'ip6_mfib_details': // -// "ip_neighbor_details", +// "ip6_mfib_details", // [ // "u16", // "_vl_msg_id" @@ -1111,163 +1111,58 @@ func (*IPNeighborDump) GetMessageType() api.MessageType { // ], // [ // "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "stats_index" -// ], -// [ -// "u8", -// "is_static" -// ], -// [ -// "u8", -// "is_ipv6" +// "table_id" // ], // [ // "u8", -// "mac_address", -// 6 +// "address_length" // ], // [ // "u8", -// "ip_address", +// "grp_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 (*IPNeighborDetails) GetMessageName() string { - return "ip_neighbor_details" -} -func (*IPNeighborDetails) GetCrcString() string { - return "c7001770" -} -func (*IPNeighborDetails) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// IPNeighborAddDel represents VPP binary API message 'ip_neighbor_add_del': -// -// "ip_neighbor_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "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", +// "src_address", // 16 // ], -// { -// "crc": "0x4711eb25" -// } -// -type IPNeighborAddDel struct { - SwIfIndex uint32 - IsAdd uint8 - IsIPv6 uint8 - IsStatic uint8 - IsNoAdjFib uint8 - MacAddress []byte `struc:"[6]byte"` - DstAddress []byte `struc:"[16]byte"` -} - -func (*IPNeighborAddDel) GetMessageName() string { - return "ip_neighbor_add_del" -} -func (*IPNeighborAddDel) GetCrcString() string { - return "4711eb25" -} -func (*IPNeighborAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// IPNeighborAddDelReply represents VPP binary API message 'ip_neighbor_add_del_reply': -// -// "ip_neighbor_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], // [ // "u32", -// "context" -// ], -// [ -// "i32", -// "retval" +// "count" // ], // [ -// "u32", -// "stats_index" +// "vl_api_mfib_path_t", +// "path", +// 0, +// "count" // ], // { -// "crc": "0x1992deab" +// "crc": "0x738c546e" // } // -type IPNeighborAddDelReply struct { - Retval int32 - StatsIndex 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 (*IPNeighborAddDelReply) GetMessageName() string { - return "ip_neighbor_add_del_reply" +func (*IP6MfibDetails) GetMessageName() string { + return "ip6_mfib_details" } -func (*IPNeighborAddDelReply) GetCrcString() string { - return "1992deab" +func (*IP6MfibDetails) GetCrcString() string { + return "738c546e" } -func (*IPNeighborAddDelReply) GetMessageType() api.MessageType { +func (*IP6MfibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash': +// IP6MfibDump represents VPP binary API message 'ip6_mfib_dump': // -// "set_ip_flow_hash", +// "ip6_mfib_dump", // [ // "u16", // "_vl_msg_id" @@ -1280,104 +1175,25 @@ func (*IPNeighborAddDelReply) GetMessageType() api.MessageType { // "u32", // "context" // ], -// [ -// "u32", -// "vrf_id" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "src" -// ], -// [ -// "u8", -// "dst" -// ], -// [ -// "u8", -// "sport" -// ], -// [ -// "u8", -// "dport" -// ], -// [ -// "u8", -// "proto" -// ], -// [ -// "u8", -// "reverse" -// ], -// [ -// "u8", -// "symmetric" -// ], // { -// "crc": "0xa9084bfb" +// "crc": "0x51077d14" // } // -type SetIPFlowHash struct { - VrfID uint32 - IsIPv6 uint8 - Src uint8 - Dst uint8 - Sport uint8 - Dport uint8 - Proto uint8 - Reverse uint8 - Symmetric uint8 -} +type IP6MfibDump struct{} -func (*SetIPFlowHash) GetMessageName() string { - return "set_ip_flow_hash" +func (*IP6MfibDump) GetMessageName() string { + return "ip6_mfib_dump" } -func (*SetIPFlowHash) GetCrcString() string { - return "a9084bfb" +func (*IP6MfibDump) GetCrcString() string { + return "51077d14" } -func (*SetIPFlowHash) GetMessageType() api.MessageType { +func (*IP6MfibDump) GetMessageType() api.MessageType { return api.RequestMessage } -// SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply': -// -// "set_ip_flow_hash_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } -// -type SetIPFlowHashReply struct { - Retval int32 -} - -func (*SetIPFlowHashReply) GetMessageName() string { - return "set_ip_flow_hash_reply" -} -func (*SetIPFlowHashReply) GetCrcString() string { - return "e8d4e804" -} -func (*SetIPFlowHashReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// SwInterfaceIP6ndRaConfig represents VPP binary API message 'sw_interface_ip6nd_ra_config': +// IP6NdEvent represents VPP binary API message 'ip6_nd_event': // -// "sw_interface_ip6nd_ra_config", +// "ip6_nd_event", // [ // "u16", // "_vl_msg_id" @@ -1388,7 +1204,7 @@ func (*SetIPFlowHashReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "context" +// "pid" // ], // [ // "u32", @@ -1396,123 +1212,43 @@ func (*SetIPFlowHashReply) GetMessageType() api.MessageType { // ], // [ // "u8", -// "suppress" -// ], -// [ -// "u8", -// "managed" -// ], -// [ -// "u8", -// "other" -// ], -// [ -// "u8", -// "ll_option" -// ], -// [ -// "u8", -// "send_unicast" -// ], -// [ -// "u8", -// "cease" +// "address", +// 16 // ], // [ // "u8", -// "is_no" +// "new_mac", +// 6 // ], // [ // "u8", -// "default_router" -// ], -// [ -// "u32", -// "max_interval" -// ], -// [ -// "u32", -// "min_interval" -// ], -// [ -// "u32", -// "lifetime" -// ], -// [ -// "u32", -// "initial_count" -// ], -// [ -// "u32", -// "initial_interval" -// ], -// { -// "crc": "0xc3f02daa" -// } -// -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 (*SwInterfaceIP6ndRaConfig) GetMessageName() string { - return "sw_interface_ip6nd_ra_config" -} -func (*SwInterfaceIP6ndRaConfig) GetCrcString() string { - return "c3f02daa" -} -func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// SwInterfaceIP6ndRaConfigReply represents VPP binary API message 'sw_interface_ip6nd_ra_config_reply': -// -// "sw_interface_ip6nd_ra_config_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" +// "mac_ip" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x96ab2fdd" // } // -type SwInterfaceIP6ndRaConfigReply struct { - Retval int32 +type IP6NdEvent struct { + PID uint32 + SwIfIndex uint32 + Address []byte `struc:"[16]byte"` + NewMac []byte `struc:"[6]byte"` + MacIP uint8 } -func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string { - return "sw_interface_ip6nd_ra_config_reply" +func (*IP6NdEvent) GetMessageName() string { + return "ip6_nd_event" } -func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string { - return "e8d4e804" +func (*IP6NdEvent) GetCrcString() string { + return "96ab2fdd" } -func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*IP6NdEvent) GetMessageType() api.MessageType { + return api.EventMessage } -// SwInterfaceIP6ndRaPrefix represents VPP binary API message 'sw_interface_ip6nd_ra_prefix': +// IP6RaEvent represents VPP binary API message 'ip6_ra_event': // -// "sw_interface_ip6nd_ra_prefix", +// "ip6_ra_event", // [ // "u16", // "_vl_msg_id" @@ -1523,7 +1259,7 @@ func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "context" +// "pid" // ], // [ // "u32", @@ -1531,104 +1267,64 @@ func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { // ], // [ // "u8", -// "address", +// "router_address", // 16 // ], // [ // "u8", -// "address_length" -// ], -// [ -// "u8", -// "use_default" -// ], -// [ -// "u8", -// "no_advertise" -// ], -// [ -// "u8", -// "off_link" -// ], -// [ -// "u8", -// "no_autoconfig" +// "current_hop_limit" // ], // [ // "u8", -// "no_onlink" +// "flags" // ], // [ -// "u8", -// "is_no" +// "u16", +// "router_lifetime_in_sec" // ], // [ // "u32", -// "val_lifetime" +// "neighbor_reachable_time_in_msec" // ], // [ // "u32", -// "pref_lifetime" -// ], -// { -// "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" +// "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", @@ -2161,114 +1782,158 @@ func (*IPAddDelRouteReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del': +// IPAddressDetails represents VPP binary API message 'ip_address_details': // -// "ip_mroute_add_del", +// "ip_address_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ -// "u32", -// "context" +// "u8", +// "ip", +// 16 // ], // [ -// "u32", -// "next_hop_sw_if_index" +// "u8", +// "prefix_length" // ], // [ // "u32", -// "table_id" +// "sw_if_index" // ], // [ -// "u32", -// "entry_flags" +// "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", -// "itf_flags" +// "client_index" // ], // [ // "u32", -// "rpf_id" +// "context" // ], // [ // "u32", -// "bier_imp" +// "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", -// "grp_address_length" +// "_vl_msg_id" // ], // [ -// "u8", -// "next_hop_afi" +// "u32", +// "client_index" // ], // [ -// "u8", -// "is_add" +// "u32", +// "context" // ], // [ // "u8", -// "is_ipv6" +// "ip", +// 16 // ], // [ // "u8", -// "is_local" +// "is_ip4" // ], // [ // "u8", -// "grp_address", -// 16 +// "plen" // ], // [ -// "u8", -// "src_address", -// 16 +// "u32", +// "sw_if_index" // ], // [ // "u8", -// "nh_address", -// 16 +// "is_add" // ], // { -// "crc": "0xf44c17b1" +// "crc": "0x0a355d39" // } // -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 IPContainerProxyAddDel struct { + IP []byte `struc:"[16]byte"` + IsIP4 uint8 + Plen uint8 + SwIfIndex uint32 + IsAdd uint8 } -func (*IPMrouteAddDel) GetMessageName() string { - return "ip_mroute_add_del" +func (*IPContainerProxyAddDel) GetMessageName() string { + return "ip_container_proxy_add_del" } -func (*IPMrouteAddDel) GetCrcString() string { - return "f44c17b1" +func (*IPContainerProxyAddDel) GetCrcString() string { + return "0a355d39" } -func (*IPMrouteAddDel) GetMessageType() api.MessageType { +func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply': +// IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply': // -// "ip_mroute_add_del_reply", +// "ip_container_proxy_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -2281,32 +1946,65 @@ func (*IPMrouteAddDel) GetMessageType() api.MessageType { // "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", -// "stats_index" +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "vl_api_prefix_t", +// "prefix" // ], // { -// "crc": "0x1992deab" +// "crc": "0xd528df63" // } // -type IPMrouteAddDelReply struct { - Retval int32 - StatsIndex uint32 +type IPContainerProxyDetails struct { + SwIfIndex uint32 + Prefix Prefix } -func (*IPMrouteAddDelReply) GetMessageName() string { - return "ip_mroute_add_del_reply" +func (*IPContainerProxyDetails) GetMessageName() string { + return "ip_container_proxy_details" } -func (*IPMrouteAddDelReply) GetCrcString() string { - return "1992deab" +func (*IPContainerProxyDetails) GetCrcString() string { + return "d528df63" } -func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { +func (*IPContainerProxyDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPMfibDump represents VPP binary API message 'ip_mfib_dump': +// IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump': // -// "ip_mfib_dump", +// "ip_container_proxy_dump", // [ // "u16", // "_vl_msg_id" @@ -2323,21 +2021,21 @@ func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { // "crc": "0x51077d14" // } // -type IPMfibDump struct{} +type IPContainerProxyDump struct{} -func (*IPMfibDump) GetMessageName() string { - return "ip_mfib_dump" +func (*IPContainerProxyDump) GetMessageName() string { + return "ip_container_proxy_dump" } -func (*IPMfibDump) GetCrcString() string { +func (*IPContainerProxyDump) GetCrcString() string { return "51077d14" } -func (*IPMfibDump) GetMessageType() api.MessageType { +func (*IPContainerProxyDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IPMfibDetails represents VPP binary API message 'ip_mfib_details': +// IPDetails represents VPP binary API message 'ip_details': // -// "ip_mfib_details", +// "ip_details", // [ // "u16", // "_vl_msg_id" @@ -2348,28 +2046,95 @@ func (*IPMfibDump) GetMessageType() api.MessageType { // ], // [ // "u32", -// "table_id" +// "sw_if_index" +// ], +// [ +// "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", +// [ +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "entry_flags" +// "client_index" // ], // [ // "u32", -// "rpf_id" +// "context" // ], // [ // "u8", -// "address_length" +// "is_ipv6" +// ], +// { +// "crc": "0xde883da4" +// } +// +type IPDump struct { + IsIPv6 uint8 +} + +func (*IPDump) GetMessageName() string { + return "ip_dump" +} +func (*IPDump) GetCrcString() string { + return "de883da4" +} +func (*IPDump) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IPFibDetails represents VPP binary API message 'ip_fib_details': +// +// "ip_fib_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" // ], // [ // "u8", -// "grp_address", -// 4 +// "table_name", +// 64 // ], // [ // "u8", -// "src_address", +// "address_length" +// ], +// [ +// "u8", +// "address", // 4 // ], // [ @@ -2381,40 +2146,38 @@ func (*IPMfibDump) GetMessageType() api.MessageType { // "stats_index" // ], // [ -// "vl_api_mfib_path_t", +// "vl_api_fib_path_t", // "path", // 0, // "count" // ], // { -// "crc": "0x61faa26f" +// "crc": "0xf6a2fab3" // } // -type IPMfibDetails struct { +type IPFibDetails struct { TableID uint32 - EntryFlags uint32 - RpfID uint32 + TableName []byte `struc:"[64]byte"` AddressLength uint8 - GrpAddress []byte `struc:"[4]byte"` - SrcAddress []byte `struc:"[4]byte"` + Address []byte `struc:"[4]byte"` Count uint32 `struc:"sizeof=Path"` StatsIndex uint32 - Path []MfibPath + Path []FibPath } -func (*IPMfibDetails) GetMessageName() string { - return "ip_mfib_details" +func (*IPFibDetails) GetMessageName() string { + return "ip_fib_details" } -func (*IPMfibDetails) GetCrcString() string { - return "61faa26f" +func (*IPFibDetails) GetCrcString() string { + return "f6a2fab3" } -func (*IPMfibDetails) GetMessageType() api.MessageType { +func (*IPFibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6MfibDump represents VPP binary API message 'ip6_mfib_dump': +// IPFibDump represents VPP binary API message 'ip_fib_dump': // -// "ip6_mfib_dump", +// "ip_fib_dump", // [ // "u16", // "_vl_msg_id" @@ -2431,21 +2194,21 @@ func (*IPMfibDetails) GetMessageType() api.MessageType { // "crc": "0x51077d14" // } // -type IP6MfibDump struct{} +type IPFibDump struct{} -func (*IP6MfibDump) GetMessageName() string { - return "ip6_mfib_dump" +func (*IPFibDump) GetMessageName() string { + return "ip_fib_dump" } -func (*IP6MfibDump) GetCrcString() string { +func (*IPFibDump) GetCrcString() string { return "51077d14" } -func (*IP6MfibDump) GetMessageType() api.MessageType { +func (*IPFibDump) GetMessageType() api.MessageType { return api.RequestMessage } -// IP6MfibDetails represents VPP binary API message 'ip6_mfib_details': +// IPMfibDetails represents VPP binary API message 'ip_mfib_details': // -// "ip6_mfib_details", +// "ip_mfib_details", // [ // "u16", // "_vl_msg_id" @@ -2459,104 +2222,101 @@ func (*IP6MfibDump) GetMessageType() api.MessageType { // "table_id" // ], // [ +// "u32", +// "entry_flags" +// ], +// [ +// "u32", +// "rpf_id" +// ], +// [ // "u8", // "address_length" // ], // [ // "u8", // "grp_address", -// 16 +// 4 // ], // [ // "u8", // "src_address", -// 16 +// 4 // ], // [ // "u32", // "count" // ], // [ +// "u32", +// "stats_index" +// ], +// [ // "vl_api_mfib_path_t", // "path", // 0, // "count" // ], // { -// "crc": "0x738c546e" +// "crc": "0x61faa26f" // } // -type IP6MfibDetails struct { +type IPMfibDetails struct { TableID uint32 + EntryFlags uint32 + RpfID uint32 AddressLength uint8 - GrpAddress []byte `struc:"[16]byte"` - SrcAddress []byte `struc:"[16]byte"` + GrpAddress []byte `struc:"[4]byte"` + SrcAddress []byte `struc:"[4]byte"` Count uint32 `struc:"sizeof=Path"` + StatsIndex uint32 Path []MfibPath } -func (*IP6MfibDetails) GetMessageName() string { - return "ip6_mfib_details" +func (*IPMfibDetails) GetMessageName() string { + return "ip_mfib_details" } -func (*IP6MfibDetails) GetCrcString() string { - return "738c546e" +func (*IPMfibDetails) GetCrcString() string { + return "61faa26f" } -func (*IP6MfibDetails) GetMessageType() api.MessageType { +func (*IPMfibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPAddressDetails represents VPP binary API message 'ip_address_details': +// IPMfibDump represents VPP binary API message 'ip_mfib_dump': // -// "ip_address_details", +// "ip_mfib_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" -// ], -// [ -// "u8", -// "ip", -// 16 -// ], -// [ -// "u8", -// "prefix_length" +// "client_index" // ], // [ // "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "is_ipv6" +// "context" // ], // { -// "crc": "0x9bc25966" +// "crc": "0x51077d14" // } // -type IPAddressDetails struct { - IP []byte `struc:"[16]byte"` - PrefixLength uint8 - SwIfIndex uint32 - IsIPv6 uint8 -} +type IPMfibDump struct{} -func (*IPAddressDetails) GetMessageName() string { - return "ip_address_details" +func (*IPMfibDump) GetMessageName() string { + return "ip_mfib_dump" } -func (*IPAddressDetails) GetCrcString() string { - return "9bc25966" +func (*IPMfibDump) GetCrcString() string { + return "51077d14" } -func (*IPAddressDetails) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*IPMfibDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// IPAddressDump represents VPP binary API message 'ip_address_dump': +// IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del': // -// "ip_address_dump", +// "ip_mroute_add_del", // [ // "u16", // "_vl_msg_id" @@ -2571,34 +2331,97 @@ func (*IPAddressDetails) GetMessageType() api.MessageType { // ], // [ // "u32", -// "sw_if_index" +// "next_hop_sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u32", +// "entry_flags" +// ], +// [ +// "u32", +// "itf_flags" +// ], +// [ +// "u32", +// "rpf_id" +// ], +// [ +// "u32", +// "bier_imp" +// ], +// [ +// "u16", +// "grp_address_length" +// ], +// [ +// "u8", +// "next_hop_afi" +// ], +// [ +// "u8", +// "is_add" // ], // [ // "u8", // "is_ipv6" // ], +// [ +// "u8", +// "is_local" +// ], +// [ +// "u8", +// "grp_address", +// 16 +// ], +// [ +// "u8", +// "src_address", +// 16 +// ], +// [ +// "u8", +// "nh_address", +// 16 +// ], // { -// "crc": "0x6b7bcd0a" +// "crc": "0xf44c17b1" // } // -type IPAddressDump struct { - SwIfIndex uint32 - IsIPv6 uint8 +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 (*IPAddressDump) GetMessageName() string { - return "ip_address_dump" +func (*IPMrouteAddDel) GetMessageName() string { + return "ip_mroute_add_del" } -func (*IPAddressDump) GetCrcString() string { - return "6b7bcd0a" +func (*IPMrouteAddDel) GetCrcString() string { + return "f44c17b1" } -func (*IPAddressDump) GetMessageType() api.MessageType { +func (*IPMrouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details': +// IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply': // -// "ip_unnumbered_details", +// "ip_mroute_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -2608,35 +2431,35 @@ 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 IPMrouteAddDelReply struct { + Retval int32 + StatsIndex uint32 } -func (*IPUnnumberedDetails) GetMessageName() string { - return "ip_unnumbered_details" +func (*IPMrouteAddDelReply) GetMessageName() string { + return "ip_mroute_add_del_reply" } -func (*IPUnnumberedDetails) GetCrcString() string { - return "ae694cf4" +func (*IPMrouteAddDelReply) GetCrcString() string { + return "1992deab" } -func (*IPUnnumberedDetails) GetMessageType() api.MessageType { +func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump': +// IPNeighborAddDel represents VPP binary API message 'ip_neighbor_add_del': // -// "ip_unnumbered_dump", +// "ip_neighbor_add_del", // [ // "u16", // "_vl_msg_id" @@ -2653,27 +2476,59 @@ func (*IPUnnumberedDetails) GetMessageType() api.MessageType { // "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 +// ], // { -// "crc": "0x529cb13f" +// "crc": "0x4711eb25" // } // -type IPUnnumberedDump struct { - SwIfIndex uint32 +type IPNeighborAddDel struct { + SwIfIndex uint32 + IsAdd uint8 + IsIPv6 uint8 + IsStatic uint8 + IsNoAdjFib uint8 + MacAddress []byte `struc:"[6]byte"` + DstAddress []byte `struc:"[16]byte"` } -func (*IPUnnumberedDump) GetMessageName() string { - return "ip_unnumbered_dump" +func (*IPNeighborAddDel) GetMessageName() string { + return "ip_neighbor_add_del" } -func (*IPUnnumberedDump) GetCrcString() string { - return "529cb13f" +func (*IPNeighborAddDel) GetCrcString() string { + return "4711eb25" } -func (*IPUnnumberedDump) GetMessageType() api.MessageType { +func (*IPNeighborAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPDetails represents VPP binary API message 'ip_details': +// IPNeighborAddDelReply represents VPP binary API message 'ip_neighbor_add_del_reply': // -// "ip_details", +// "ip_neighbor_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -2683,72 +2538,95 @@ func (*IPUnnumberedDump) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" +// "i32", +// "retval" // ], // [ -// "u8", -// "is_ipv6" +// "u32", +// "stats_index" // ], // { -// "crc": "0x8bb37ec4" +// "crc": "0x1992deab" // } // -type IPDetails struct { - SwIfIndex uint32 - IsIPv6 uint8 +type IPNeighborAddDelReply struct { + Retval int32 + StatsIndex uint32 } -func (*IPDetails) GetMessageName() string { - return "ip_details" +func (*IPNeighborAddDelReply) GetMessageName() string { + return "ip_neighbor_add_del_reply" } -func (*IPDetails) GetCrcString() string { - return "8bb37ec4" +func (*IPNeighborAddDelReply) GetCrcString() string { + return "1992deab" } -func (*IPDetails) GetMessageType() api.MessageType { +func (*IPNeighborAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPDump represents VPP binary API message 'ip_dump': +// IPNeighborDetails represents VPP binary API message 'ip_neighbor_details': // -// "ip_dump", +// "ip_neighbor_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ // "u32", -// "context" +// "sw_if_index" +// ], +// [ +// "u32", +// "stats_index" +// ], +// [ +// "u8", +// "is_static" // ], // [ // "u8", // "is_ipv6" // ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "ip_address", +// 16 +// ], // { -// "crc": "0xde883da4" +// "crc": "0xc7001770" // } // -type IPDump struct { - IsIPv6 uint8 +type IPNeighborDetails struct { + SwIfIndex uint32 + StatsIndex uint32 + IsStatic uint8 + IsIPv6 uint8 + MacAddress []byte `struc:"[6]byte"` + IPAddress []byte `struc:"[16]byte"` } -func (*IPDump) GetMessageName() string { - return "ip_dump" +func (*IPNeighborDetails) GetMessageName() string { + return "ip_neighbor_details" } -func (*IPDump) GetCrcString() string { - return "de883da4" +func (*IPNeighborDetails) GetCrcString() string { + return "c7001770" } -func (*IPDump) GetMessageType() api.MessageType { - return api.RequestMessage +func (*IPNeighborDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// MfibSignalDump represents VPP binary API message 'mfib_signal_dump': +// IPNeighborDump represents VPP binary API message 'ip_neighbor_dump': // -// "mfib_signal_dump", +// "ip_neighbor_dump", // [ // "u16", // "_vl_msg_id" @@ -2761,85 +2639,111 @@ func (*IPDump) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], // { -// "crc": "0x51077d14" +// "crc": "0x6b7bcd0a" // } // -type MfibSignalDump struct{} +type IPNeighborDump struct { + SwIfIndex uint32 + IsIPv6 uint8 +} -func (*MfibSignalDump) GetMessageName() string { - return "mfib_signal_dump" +func (*IPNeighborDump) GetMessageName() string { + return "ip_neighbor_dump" } -func (*MfibSignalDump) GetCrcString() string { - return "51077d14" +func (*IPNeighborDump) GetCrcString() string { + return "6b7bcd0a" } -func (*MfibSignalDump) GetMessageType() api.MessageType { +func (*IPNeighborDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MfibSignalDetails represents VPP binary API message 'mfib_signal_details': +// IPProbeNeighbor represents VPP binary API message 'ip_probe_neighbor': // -// "mfib_signal_details", +// "ip_probe_neighbor", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "context" +// "client_index" // ], // [ // "u32", -// "sw_if_index" +// "context" // ], // [ // "u32", -// "table_id" -// ], -// [ -// "u16", -// "grp_address_len" +// "sw_if_index" // ], // [ // "u8", -// "grp_address", +// "dst_address", // 16 // ], // [ // "u8", -// "src_address", -// 16 +// "is_ipv6" // ], +// { +// "crc": "0x1e44bfd7" +// } +// +type IPProbeNeighbor struct { + SwIfIndex uint32 + DstAddress []byte `struc:"[16]byte"` + IsIPv6 uint8 +} + +func (*IPProbeNeighbor) GetMessageName() string { + return "ip_probe_neighbor" +} +func (*IPProbeNeighbor) GetCrcString() string { + return "1e44bfd7" +} +func (*IPProbeNeighbor) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IPProbeNeighborReply represents VPP binary API message 'ip_probe_neighbor_reply': +// +// "ip_probe_neighbor_reply", // [ // "u16", -// "ip_packet_len" +// "_vl_msg_id" // ], // [ -// "u8", -// "ip_packet_data", -// 256 +// "u32", +// "context" +// ], +// [ +// "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,215 @@ func (*IPPuntRedirectDetails) GetMessageType() api.MessageType { // "context" // ], // [ +// "u32", +// "sw_if_index" +// ], +// [ // "u8", -// "ip", -// 16 +// "enable_ip4" // ], // [ // "u8", -// "is_ip4" +// "enable_ip6" +// ], +// { +// "crc": "0xbb8dc5d0" +// } +// +type IPReassemblyEnableDisable struct { + SwIfIndex uint32 + EnableIP4 uint8 + EnableIP6 uint8 +} + +func (*IPReassemblyEnableDisable) GetMessageName() string { + return "ip_reassembly_enable_disable" +} +func (*IPReassemblyEnableDisable) GetCrcString() string { + return "bb8dc5d0" +} +func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply': +// +// "ip_reassembly_enable_disable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPReassemblyEnableDisableReply struct { + Retval int32 +} + +func (*IPReassemblyEnableDisableReply) GetMessageName() string { + return "ip_reassembly_enable_disable_reply" +} +func (*IPReassemblyEnableDisableReply) GetCrcString() string { + return "e8d4e804" +} +func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// IPReassemblyGet represents VPP binary API message 'ip_reassembly_get': +// +// "ip_reassembly_get", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" // ], // [ // "u8", -// "plen" +// "is_ip6" +// ], +// { +// "crc": "0x6fe91190" +// } +// +type IPReassemblyGet struct { + IsIP6 uint8 +} + +func (*IPReassemblyGet) GetMessageName() string { + return "ip_reassembly_get" +} +func (*IPReassemblyGet) GetCrcString() string { + return "6fe91190" +} +func (*IPReassemblyGet) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply': +// +// "ip_reassembly_get_reply", +// [ +// "u16", +// "_vl_msg_id" // ], // [ // "u32", -// "sw_if_index" +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "timeout_ms" +// ], +// [ +// "u32", +// "max_reassemblies" +// ], +// [ +// "u32", +// "expire_walk_interval_ms" // ], // [ // "u8", -// "is_add" +// "is_ip6" // ], // { -// "crc": "0x0a355d39" +// "crc": "0x1f90afd1" // } // -type IPContainerProxyAddDel struct { - IP []byte `struc:"[16]byte"` - IsIP4 uint8 - Plen uint8 - SwIfIndex uint32 - IsAdd uint8 +type IPReassemblyGetReply struct { + Retval int32 + TimeoutMs uint32 + MaxReassemblies uint32 + ExpireWalkIntervalMs uint32 + IsIP6 uint8 } -func (*IPContainerProxyAddDel) GetMessageName() string { - return "ip_container_proxy_add_del" +func (*IPReassemblyGetReply) GetMessageName() string { + return "ip_reassembly_get_reply" } -func (*IPContainerProxyAddDel) GetCrcString() string { - return "0a355d39" +func (*IPReassemblyGetReply) GetCrcString() string { + return "1f90afd1" } -func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { +func (*IPReassemblyGetReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// IPReassemblySet represents VPP binary API message 'ip_reassembly_set': +// +// "ip_reassembly_set", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "timeout_ms" +// ], +// [ +// "u32", +// "max_reassemblies" +// ], +// [ +// "u32", +// "expire_walk_interval_ms" +// ], +// [ +// "u8", +// "is_ip6" +// ], +// { +// "crc": "0x1db184de" +// } +// +type IPReassemblySet struct { + TimeoutMs uint32 + MaxReassemblies uint32 + ExpireWalkIntervalMs uint32 + IsIP6 uint8 +} + +func (*IPReassemblySet) GetMessageName() string { + return "ip_reassembly_set" +} +func (*IPReassemblySet) GetCrcString() string { + return "1db184de" +} +func (*IPReassemblySet) GetMessageType() api.MessageType { return api.RequestMessage } -// IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply': +// IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply': // -// "ip_container_proxy_add_del_reply", +// "ip_reassembly_set_reply", // [ // "u16", // "_vl_msg_id" @@ -3150,23 +3218,23 @@ func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IPContainerProxyAddDelReply struct { +type IPReassemblySetReply struct { Retval int32 } -func (*IPContainerProxyAddDelReply) GetMessageName() string { - return "ip_container_proxy_add_del_reply" +func (*IPReassemblySetReply) GetMessageName() string { + return "ip_reassembly_set_reply" } -func (*IPContainerProxyAddDelReply) GetCrcString() string { +func (*IPReassemblySetReply) GetCrcString() string { return "e8d4e804" } -func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { +func (*IPReassemblySetReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump': +// IPScanNeighborEnableDisable represents VPP binary API message 'ip_scan_neighbor_enable_disable': // -// "ip_container_proxy_dump", +// "ip_scan_neighbor_enable_disable", // [ // "u16", // "_vl_msg_id" @@ -3179,25 +3247,56 @@ func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u8", +// "mode" +// ], +// [ +// "u8", +// "scan_interval" +// ], +// [ +// "u8", +// "max_proc_time" +// ], +// [ +// "u8", +// "max_update" +// ], +// [ +// "u8", +// "scan_int_delay" +// ], +// [ +// "u8", +// "stale_threshold" +// ], // { -// "crc": "0x51077d14" +// "crc": "0x0a6bf57a" // } // -type IPContainerProxyDump struct{} +type IPScanNeighborEnableDisable struct { + Mode uint8 + ScanInterval uint8 + MaxProcTime uint8 + MaxUpdate uint8 + ScanIntDelay uint8 + StaleThreshold uint8 +} -func (*IPContainerProxyDump) GetMessageName() string { - return "ip_container_proxy_dump" +func (*IPScanNeighborEnableDisable) GetMessageName() string { + return "ip_scan_neighbor_enable_disable" } -func (*IPContainerProxyDump) GetCrcString() string { - return "51077d14" +func (*IPScanNeighborEnableDisable) GetCrcString() string { + return "0a6bf57a" } -func (*IPContainerProxyDump) GetMessageType() api.MessageType { +func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details': +// IPScanNeighborEnableDisableReply represents VPP binary API message 'ip_scan_neighbor_enable_disable_reply': // -// "ip_container_proxy_details", +// "ip_scan_neighbor_enable_disable_reply", // [ // "u16", // "_vl_msg_id" @@ -3207,29 +3306,24 @@ func (*IPContainerProxyDump) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" -// ], -// [ -// "vl_api_prefix_t", -// "prefix" +// "i32", +// "retval" // ], // { -// "crc": "0xd528df63" +// "crc": "0xe8d4e804" // } // -type IPContainerProxyDetails struct { - SwIfIndex uint32 - Prefix Prefix +type IPScanNeighborEnableDisableReply struct { + Retval int32 } -func (*IPContainerProxyDetails) GetMessageName() string { - return "ip_container_proxy_details" +func (*IPScanNeighborEnableDisableReply) GetMessageName() string { + return "ip_scan_neighbor_enable_disable_reply" } -func (*IPContainerProxyDetails) GetCrcString() string { - return "d528df63" +func (*IPScanNeighborEnableDisableReply) GetCrcString() string { + return "e8d4e804" } -func (*IPContainerProxyDetails) GetMessageType() api.MessageType { +func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } @@ -3516,9 +3610,9 @@ func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPScanNeighborEnableDisable represents VPP binary API message 'ip_scan_neighbor_enable_disable': +// IPTableAddDel represents VPP binary API message 'ip_table_add_del': // -// "ip_scan_neighbor_enable_disable", +// "ip_table_add_del", // [ // "u16", // "_vl_msg_id" @@ -3532,55 +3626,46 @@ func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType { // "context" // ], // [ -// "u8", -// "mode" -// ], -// [ -// "u8", -// "scan_interval" -// ], -// [ -// "u8", -// "max_proc_time" +// "u32", +// "table_id" // ], // [ // "u8", -// "max_update" +// "is_ipv6" // ], // [ // "u8", -// "scan_int_delay" +// "is_add" // ], // [ // "u8", -// "stale_threshold" +// "name", +// 64 // ], // { -// "crc": "0x0a6bf57a" +// "crc": "0x0240c89d" // } // -type IPScanNeighborEnableDisable struct { - Mode uint8 - ScanInterval uint8 - MaxProcTime uint8 - MaxUpdate uint8 - ScanIntDelay uint8 - StaleThreshold uint8 +type IPTableAddDel struct { + TableID uint32 + IsIPv6 uint8 + IsAdd uint8 + Name []byte `struc:"[64]byte"` } -func (*IPScanNeighborEnableDisable) GetMessageName() string { - return "ip_scan_neighbor_enable_disable" +func (*IPTableAddDel) GetMessageName() string { + return "ip_table_add_del" } -func (*IPScanNeighborEnableDisable) GetCrcString() string { - return "0a6bf57a" +func (*IPTableAddDel) GetCrcString() string { + return "0240c89d" } -func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType { +func (*IPTableAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// IPScanNeighborEnableDisableReply represents VPP binary API message 'ip_scan_neighbor_enable_disable_reply': +// IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply': // -// "ip_scan_neighbor_enable_disable_reply", +// "ip_table_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -3597,33 +3682,29 @@ func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type IPScanNeighborEnableDisableReply struct { +type IPTableAddDelReply struct { Retval int32 } -func (*IPScanNeighborEnableDisableReply) GetMessageName() string { - return "ip_scan_neighbor_enable_disable_reply" +func (*IPTableAddDelReply) GetMessageName() string { + return "ip_table_add_del_reply" } -func (*IPScanNeighborEnableDisableReply) GetCrcString() string { +func (*IPTableAddDelReply) GetCrcString() string { return "e8d4e804" } -func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType { +func (*IPTableAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IPProbeNeighbor represents VPP binary API message 'ip_probe_neighbor': +// IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details': // -// "ip_probe_neighbor", +// "ip_unnumbered_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", // "context" // ], // [ @@ -3631,150 +3712,134 @@ func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType { // "sw_if_index" // ], // [ -// "u8", -// "dst_address", -// 16 -// ], -// [ -// "u8", -// "is_ipv6" +// "u32", +// "ip_sw_if_index" // ], // { -// "crc": "0x1e44bfd7" +// "crc": "0xae694cf4" // } // -type IPProbeNeighbor struct { - SwIfIndex uint32 - DstAddress []byte `struc:"[16]byte"` - IsIPv6 uint8 +type IPUnnumberedDetails struct { + SwIfIndex uint32 + IPSwIfIndex uint32 } -func (*IPProbeNeighbor) GetMessageName() string { - return "ip_probe_neighbor" +func (*IPUnnumberedDetails) GetMessageName() string { + return "ip_unnumbered_details" } -func (*IPProbeNeighbor) GetCrcString() string { - return "1e44bfd7" +func (*IPUnnumberedDetails) GetCrcString() string { + return "ae694cf4" } -func (*IPProbeNeighbor) GetMessageType() api.MessageType { - return api.RequestMessage +func (*IPUnnumberedDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// IPProbeNeighborReply represents VPP binary API message 'ip_probe_neighbor_reply': +// IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump': // -// "ip_probe_neighbor_reply", +// "ip_unnumbered_dump", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", +// "client_index" +// ], +// [ +// "u32", // "context" // ], // [ -// "i32", -// "retval" +// "u32", +// "sw_if_index" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x529cb13f" // } // -type IPProbeNeighborReply struct { - Retval int32 +type IPUnnumberedDump struct { + SwIfIndex uint32 } -func (*IPProbeNeighborReply) GetMessageName() string { - return "ip_probe_neighbor_reply" +func (*IPUnnumberedDump) GetMessageName() string { + return "ip_unnumbered_dump" } -func (*IPProbeNeighborReply) GetCrcString() string { - return "e8d4e804" +func (*IPUnnumberedDump) GetCrcString() string { + return "529cb13f" } -func (*IPProbeNeighborReply) GetMessageType() api.MessageType { - return api.ReplyMessage +func (*IPUnnumberedDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// WantIP4ArpEvents represents VPP binary API message 'want_ip4_arp_events': +// MfibSignalDetails represents VPP binary API message 'mfib_signal_details': // -// "want_ip4_arp_events", +// "mfib_signal_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" +// "context" // ], // [ // "u32", -// "context" +// "sw_if_index" // ], // [ -// "u8", -// "enable_disable" +// "u32", +// "table_id" // ], // [ -// "u32", -// "pid" +// "u16", +// "grp_address_len" // ], // [ -// "u32", -// "address" +// "u8", +// "grp_address", +// 16 // ], -// { -// "crc": "0x77e06379" -// } -// -type WantIP4ArpEvents struct { - EnableDisable uint8 - PID uint32 - Address uint32 -} - -func (*WantIP4ArpEvents) GetMessageName() string { - return "want_ip4_arp_events" -} -func (*WantIP4ArpEvents) GetCrcString() string { - return "77e06379" -} -func (*WantIP4ArpEvents) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// WantIP4ArpEventsReply represents VPP binary API message 'want_ip4_arp_events_reply': -// -// "want_ip4_arp_events_reply", // [ -// "u16", -// "_vl_msg_id" +// "u8", +// "src_address", +// 16 // ], // [ -// "u32", -// "context" +// "u16", +// "ip_packet_len" // ], // [ -// "i32", -// "retval" +// "u8", +// "ip_packet_data", +// 256 // ], // { -// "crc": "0xe8d4e804" +// "crc": "0x3f5f03f5" // } // -type WantIP4ArpEventsReply 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 (*WantIP4ArpEventsReply) GetMessageName() string { - return "want_ip4_arp_events_reply" +func (*MfibSignalDetails) GetMessageName() string { + return "mfib_signal_details" } -func (*WantIP4ArpEventsReply) GetCrcString() string { - return "e8d4e804" +func (*MfibSignalDetails) GetCrcString() string { + return "3f5f03f5" } -func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType { +func (*MfibSignalDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP4ArpEvent represents VPP binary API message 'ip4_arp_event': +// MfibSignalDump represents VPP binary API message 'mfib_signal_dump': // -// "ip4_arp_event", +// "mfib_signal_dump", // [ // "u16", // "_vl_msg_id" @@ -3785,50 +3850,27 @@ func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "address" -// ], -// [ -// "u32", -// "pid" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "new_mac", -// 6 -// ], -// [ -// "u8", -// "mac_ip" +// "context" // ], // { -// "crc": "0xef7235f7" +// "crc": "0x51077d14" // } // -type IP4ArpEvent struct { - Address uint32 - PID uint32 - SwIfIndex uint32 - NewMac []byte `struc:"[6]byte"` - MacIP uint8 -} +type MfibSignalDump struct{} -func (*IP4ArpEvent) GetMessageName() string { - return "ip4_arp_event" +func (*MfibSignalDump) GetMessageName() string { + return "mfib_signal_dump" } -func (*IP4ArpEvent) GetCrcString() string { - return "ef7235f7" +func (*MfibSignalDump) GetCrcString() string { + return "51077d14" } -func (*IP4ArpEvent) GetMessageType() api.MessageType { - return api.EventMessage +func (*MfibSignalDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// WantIP6NdEvents represents VPP binary API message 'want_ip6_nd_events': +// ProxyArpAddDel represents VPP binary API message 'proxy_arp_add_del': // -// "want_ip6_nd_events", +// "proxy_arp_add_del", // [ // "u16", // "_vl_msg_id" @@ -3843,40 +3885,34 @@ func (*IP4ArpEvent) GetMessageType() api.MessageType { // ], // [ // "u8", -// "enable_disable" -// ], -// [ -// "u32", -// "pid" +// "is_add" // ], // [ -// "u8", -// "address", -// 16 +// "vl_api_proxy_arp_t", +// "proxy" // ], // { -// "crc": "0x1cf65fbb" +// "crc": "0x227988d9" // } // -type WantIP6NdEvents struct { - EnableDisable uint8 - PID uint32 - Address []byte `struc:"[16]byte"` +type ProxyArpAddDel struct { + IsAdd uint8 + Proxy ProxyArp } -func (*WantIP6NdEvents) GetMessageName() string { - return "want_ip6_nd_events" +func (*ProxyArpAddDel) GetMessageName() string { + return "proxy_arp_add_del" } -func (*WantIP6NdEvents) GetCrcString() string { - return "1cf65fbb" +func (*ProxyArpAddDel) GetCrcString() string { + return "227988d9" } -func (*WantIP6NdEvents) GetMessageType() api.MessageType { +func (*ProxyArpAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// WantIP6NdEventsReply represents VPP binary API message 'want_ip6_nd_events_reply': +// ProxyArpAddDelReply represents VPP binary API message 'proxy_arp_add_del_reply': // -// "want_ip6_nd_events_reply", +// "proxy_arp_add_del_reply", // [ // "u16", // "_vl_msg_id" @@ -3893,78 +3929,56 @@ func (*WantIP6NdEvents) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type WantIP6NdEventsReply struct { +type ProxyArpAddDelReply struct { Retval int32 } -func (*WantIP6NdEventsReply) GetMessageName() string { - return "want_ip6_nd_events_reply" +func (*ProxyArpAddDelReply) GetMessageName() string { + return "proxy_arp_add_del_reply" } -func (*WantIP6NdEventsReply) GetCrcString() string { +func (*ProxyArpAddDelReply) GetCrcString() string { return "e8d4e804" } -func (*WantIP6NdEventsReply) GetMessageType() api.MessageType { +func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6NdEvent represents VPP binary API message 'ip6_nd_event': +// ProxyArpDetails represents VPP binary API message 'proxy_arp_details': // -// "ip6_nd_event", +// "proxy_arp_details", // [ // "u16", // "_vl_msg_id" // ], // [ // "u32", -// "client_index" -// ], -// [ -// "u32", -// "pid" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "address", -// 16 -// ], -// [ -// "u8", -// "new_mac", -// 6 +// "context" // ], // [ -// "u8", -// "mac_ip" +// "vl_api_proxy_arp_t", +// "proxy" // ], // { -// "crc": "0x96ab2fdd" +// "crc": "0x9b707c77" // } // -type IP6NdEvent struct { - PID uint32 - SwIfIndex uint32 - Address []byte `struc:"[16]byte"` - NewMac []byte `struc:"[6]byte"` - MacIP uint8 +type ProxyArpDetails struct { + Proxy ProxyArp } -func (*IP6NdEvent) GetMessageName() string { - return "ip6_nd_event" +func (*ProxyArpDetails) GetMessageName() string { + return "proxy_arp_details" } -func (*IP6NdEvent) GetCrcString() string { - return "96ab2fdd" +func (*ProxyArpDetails) GetCrcString() string { + return "9b707c77" } -func (*IP6NdEvent) GetMessageType() api.MessageType { - return api.EventMessage +func (*ProxyArpDetails) GetMessageType() api.MessageType { + return api.ReplyMessage } -// WantIP6RaEvents represents VPP binary API message 'want_ip6_ra_events': +// ProxyArpDump represents VPP binary API message 'proxy_arp_dump': // -// "want_ip6_ra_events", +// "proxy_arp_dump", // [ // "u16", // "_vl_msg_id" @@ -3977,36 +3991,25 @@ func (*IP6NdEvent) GetMessageType() api.MessageType { // "u32", // "context" // ], -// [ -// "u8", -// "enable_disable" -// ], -// [ -// "u32", -// "pid" -// ], // { -// "crc": "0x05b454b5" +// "crc": "0x51077d14" // } // -type WantIP6RaEvents struct { - EnableDisable uint8 - PID uint32 -} +type ProxyArpDump struct{} -func (*WantIP6RaEvents) GetMessageName() string { - return "want_ip6_ra_events" +func (*ProxyArpDump) GetMessageName() string { + return "proxy_arp_dump" } -func (*WantIP6RaEvents) GetCrcString() string { - return "05b454b5" +func (*ProxyArpDump) GetCrcString() string { + return "51077d14" } -func (*WantIP6RaEvents) GetMessageType() api.MessageType { +func (*ProxyArpDump) GetMessageType() api.MessageType { return api.RequestMessage } -// WantIP6RaEventsReply represents VPP binary API message 'want_ip6_ra_events_reply': +// ProxyArpIntfcDetails represents VPP binary API message 'proxy_arp_intfc_details': // -// "want_ip6_ra_events_reply", +// "proxy_arp_intfc_details", // [ // "u16", // "_vl_msg_id" @@ -4016,30 +4019,30 @@ func (*WantIP6RaEvents) GetMessageType() api.MessageType { // "context" // ], // [ -// "i32", -// "retval" +// "u32", +// "sw_if_index" // ], // { -// "crc": "0xe8d4e804" +// "crc": "0xf6458e5f" // } // -type WantIP6RaEventsReply struct { - Retval int32 +type ProxyArpIntfcDetails struct { + SwIfIndex uint32 } -func (*WantIP6RaEventsReply) GetMessageName() string { - return "want_ip6_ra_events_reply" +func (*ProxyArpIntfcDetails) GetMessageName() string { + return "proxy_arp_intfc_details" } -func (*WantIP6RaEventsReply) GetCrcString() string { - return "e8d4e804" +func (*ProxyArpIntfcDetails) GetCrcString() string { + return "f6458e5f" } -func (*WantIP6RaEventsReply) GetMessageType() api.MessageType { +func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// IP6RaEvent represents VPP binary API message 'ip6_ra_event': +// ProxyArpIntfcDump represents VPP binary API message 'proxy_arp_intfc_dump': // -// "ip6_ra_event", +// "proxy_arp_intfc_dump", // [ // "u16", // "_vl_msg_id" @@ -4050,77 +4053,27 @@ func (*WantIP6RaEventsReply) GetMessageType() api.MessageType { // ], // [ // "u32", -// "pid" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "router_address", -// 16 -// ], -// [ -// "u8", -// "current_hop_limit" -// ], -// [ -// "u8", -// "flags" -// ], -// [ -// "u16", -// "router_lifetime_in_sec" -// ], -// [ -// "u32", -// "neighbor_reachable_time_in_msec" -// ], -// [ -// "u32", -// "time_in_msec_between_retransmitted_neighbor_solicitations" -// ], -// [ -// "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 ProxyArpIntfcDump struct{} -func (*IP6RaEvent) GetMessageName() string { - return "ip6_ra_event" +func (*ProxyArpIntfcDump) GetMessageName() string { + return "proxy_arp_intfc_dump" } -func (*IP6RaEvent) GetCrcString() string { - return "c5e54257" +func (*ProxyArpIntfcDump) GetCrcString() string { + return "51077d14" } -func (*IP6RaEvent) GetMessageType() api.MessageType { - return api.EventMessage +func (*ProxyArpIntfcDump) GetMessageType() api.MessageType { + return api.RequestMessage } -// ProxyArpAddDel represents VPP binary API message 'proxy_arp_add_del': +// ProxyArpIntfcEnableDisable represents VPP binary API message 'proxy_arp_intfc_enable_disable': // -// "proxy_arp_add_del", +// "proxy_arp_intfc_enable_disable", // [ // "u16", // "_vl_msg_id" @@ -4134,35 +4087,35 @@ func (*IP6RaEvent) GetMessageType() api.MessageType { // "context" // ], // [ -// "u8", -// "is_add" +// "u32", +// "sw_if_index" // ], // [ -// "vl_api_proxy_arp_t", -// "proxy" +// "u8", +// "enable_disable" // ], // { -// "crc": "0x227988d9" +// "crc": "0x69d24598" // } // -type ProxyArpAddDel struct { - IsAdd uint8 - Proxy ProxyArp +type ProxyArpIntfcEnableDisable struct { + SwIfIndex uint32 + EnableDisable uint8 } -func (*ProxyArpAddDel) GetMessageName() string { - return "proxy_arp_add_del" +func (*ProxyArpIntfcEnableDisable) GetMessageName() string { + return "proxy_arp_intfc_enable_disable" } -func (*ProxyArpAddDel) GetCrcString() string { - return "227988d9" +func (*ProxyArpIntfcEnableDisable) GetCrcString() string { + return "69d24598" } -func (*ProxyArpAddDel) GetMessageType() api.MessageType { +func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } -// ProxyArpAddDelReply represents VPP binary API message 'proxy_arp_add_del_reply': +// ProxyArpIntfcEnableDisableReply represents VPP binary API message 'proxy_arp_intfc_enable_disable_reply': // -// "proxy_arp_add_del_reply", +// "proxy_arp_intfc_enable_disable_reply", // [ // "u16", // "_vl_msg_id" @@ -4179,23 +4132,23 @@ func (*ProxyArpAddDel) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type ProxyArpAddDelReply struct { +type ProxyArpIntfcEnableDisableReply struct { Retval int32 } -func (*ProxyArpAddDelReply) GetMessageName() string { - return "proxy_arp_add_del_reply" +func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string { + return "proxy_arp_intfc_enable_disable_reply" } -func (*ProxyArpAddDelReply) GetCrcString() string { +func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string { return "e8d4e804" } -func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { +func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ProxyArpDump represents VPP binary API message 'proxy_arp_dump': +// ResetFib represents VPP binary API message 'reset_fib': // -// "proxy_arp_dump", +// "reset_fib", // [ // "u16", // "_vl_msg_id" @@ -4208,25 +4161,36 @@ func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { // "u32", // "context" // ], +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u8", +// "is_ipv6" +// ], // { -// "crc": "0x51077d14" +// "crc": "0x8553ebd9" // } // -type ProxyArpDump struct{} +type ResetFib struct { + VrfID uint32 + IsIPv6 uint8 +} -func (*ProxyArpDump) GetMessageName() string { - return "proxy_arp_dump" +func (*ResetFib) GetMessageName() string { + return "reset_fib" } -func (*ProxyArpDump) GetCrcString() string { - return "51077d14" +func (*ResetFib) GetCrcString() string { + return "8553ebd9" } -func (*ProxyArpDump) GetMessageType() api.MessageType { +func (*ResetFib) GetMessageType() api.MessageType { return api.RequestMessage } -// ProxyArpDetails represents VPP binary API message 'proxy_arp_details': +// ResetFibReply represents VPP binary API message 'reset_fib_reply': // -// "proxy_arp_details", +// "reset_fib_reply", // [ // "u16", // "_vl_msg_id" @@ -4236,30 +4200,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 ResetFibReply struct { + Retval int32 } -func (*ProxyArpDetails) GetMessageName() string { - return "proxy_arp_details" +func (*ResetFibReply) GetMessageName() string { + return "reset_fib_reply" } -func (*ProxyArpDetails) GetCrcString() string { - return "9b707c77" +func (*ResetFibReply) GetCrcString() string { + return "e8d4e804" } -func (*ProxyArpDetails) GetMessageType() api.MessageType { +func (*ResetFibReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ProxyArpIntfcEnableDisable represents VPP binary API message 'proxy_arp_intfc_enable_disable': +// SetArpNeighborLimit represents VPP binary API message 'set_arp_neighbor_limit': // -// "proxy_arp_intfc_enable_disable", +// "set_arp_neighbor_limit", // [ // "u16", // "_vl_msg_id" @@ -4273,35 +4237,35 @@ func (*ProxyArpDetails) GetMessageType() api.MessageType { // "context" // ], // [ -// "u32", -// "sw_if_index" +// "u8", +// "is_ipv6" // ], // [ -// "u8", -// "enable_disable" +// "u32", +// "arp_neighbor_limit" // ], // { -// "crc": "0x69d24598" +// "crc": "0x97d01fd6" // } // -type ProxyArpIntfcEnableDisable struct { - SwIfIndex uint32 - EnableDisable uint8 +type SetArpNeighborLimit struct { + IsIPv6 uint8 + ArpNeighborLimit uint32 } -func (*ProxyArpIntfcEnableDisable) GetMessageName() string { - return "proxy_arp_intfc_enable_disable" +func (*SetArpNeighborLimit) GetMessageName() string { + return "set_arp_neighbor_limit" } -func (*ProxyArpIntfcEnableDisable) GetCrcString() string { - return "69d24598" +func (*SetArpNeighborLimit) GetCrcString() string { + return "97d01fd6" } -func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { +func (*SetArpNeighborLimit) GetMessageType() api.MessageType { return api.RequestMessage } -// ProxyArpIntfcEnableDisableReply represents VPP binary API message 'proxy_arp_intfc_enable_disable_reply': +// SetArpNeighborLimitReply represents VPP binary API message 'set_arp_neighbor_limit_reply': // -// "proxy_arp_intfc_enable_disable_reply", +// "set_arp_neighbor_limit_reply", // [ // "u16", // "_vl_msg_id" @@ -4318,23 +4282,23 @@ func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { // "crc": "0xe8d4e804" // } // -type ProxyArpIntfcEnableDisableReply struct { +type SetArpNeighborLimitReply struct { Retval int32 } -func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string { - return "proxy_arp_intfc_enable_disable_reply" +func (*SetArpNeighborLimitReply) GetMessageName() string { + return "set_arp_neighbor_limit_reply" } -func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string { +func (*SetArpNeighborLimitReply) GetCrcString() string { return "e8d4e804" } -func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { +func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ProxyArpIntfcDump represents VPP binary API message 'proxy_arp_intfc_dump': +// SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash': // -// "proxy_arp_intfc_dump", +// "set_ip_flow_hash", // [ // "u16", // "_vl_msg_id" @@ -4347,100 +4311,71 @@ func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { // "u32", // "context" // ], -// { -// "crc": "0x51077d14" -// } -// -type ProxyArpIntfcDump struct{} - -func (*ProxyArpIntfcDump) GetMessageName() string { - return "proxy_arp_intfc_dump" -} -func (*ProxyArpIntfcDump) GetCrcString() string { - return "51077d14" -} -func (*ProxyArpIntfcDump) GetMessageType() api.MessageType { - return api.RequestMessage -} - -// ProxyArpIntfcDetails represents VPP binary API message 'proxy_arp_intfc_details': -// -// "proxy_arp_intfc_details", // [ -// "u16", -// "_vl_msg_id" +// "u32", +// "vrf_id" // ], // [ -// "u32", -// "context" +// "u8", +// "is_ipv6" // ], // [ -// "u32", -// "sw_if_index" +// "u8", +// "src" // ], -// { -// "crc": "0xf6458e5f" -// } -// -type ProxyArpIntfcDetails struct { - SwIfIndex uint32 -} - -func (*ProxyArpIntfcDetails) GetMessageName() string { - return "proxy_arp_intfc_details" -} -func (*ProxyArpIntfcDetails) GetCrcString() string { - return "f6458e5f" -} -func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType { - return api.ReplyMessage -} - -// ResetFib represents VPP binary API message 'reset_fib': -// -// "reset_fib", // [ -// "u16", -// "_vl_msg_id" +// "u8", +// "dst" // ], // [ -// "u32", -// "client_index" +// "u8", +// "sport" // ], // [ -// "u32", -// "context" +// "u8", +// "dport" // ], // [ -// "u32", -// "vrf_id" +// "u8", +// "proto" // ], // [ // "u8", -// "is_ipv6" +// "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,122 +612,6 @@ func (*MapDelDomainReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// 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 -} - -// MapDomainDump represents VPP binary API message 'map_domain_dump': -// -// "map_domain_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } -// -type MapDomainDump struct{} - -func (*MapDomainDump) GetMessageName() string { - return "map_domain_dump" -} -func (*MapDomainDump) GetCrcString() string { - return "51077d14" -} -func (*MapDomainDump) GetMessageType() api.MessageType { - return api.RequestMessage -} - // MapDomainDetails represents VPP binary API message 'map_domain_details': // // "map_domain_details", @@ -709,9 +685,9 @@ func (*MapDomainDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// MapRuleDump represents VPP binary API message 'map_rule_dump': +// MapDomainDump represents VPP binary API message 'map_domain_dump': // -// "map_rule_dump", +// "map_domain_dump", // [ // "u16", // "_vl_msg_id" @@ -724,66 +700,22 @@ func (*MapDomainDetails) GetMessageType() api.MessageType { // "u32", // "context" // ], -// [ -// "u32", -// "domain_index" -// ], // { -// "crc": "0xe43e6ff6" +// "crc": "0x51077d14" // } // -type MapRuleDump struct { - DomainIndex uint32 -} +type MapDomainDump struct{} -func (*MapRuleDump) GetMessageName() string { - return "map_rule_dump" +func (*MapDomainDump) GetMessageName() string { + return "map_domain_dump" } -func (*MapRuleDump) GetCrcString() string { - return "e43e6ff6" +func (*MapDomainDump) GetCrcString() string { + return "51077d14" } -func (*MapRuleDump) GetMessageType() api.MessageType { +func (*MapDomainDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MapRuleDetails represents VPP binary API message 'map_rule_details': -// -// "map_rule_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "vl_api_ip6_address_t", -// "ip6_dst" -// ], -// [ -// "u16", -// "psid" -// ], -// { -// "crc": "0x4f932665" -// } -// -type MapRuleDetails struct { - IP6Dst IP6Address - Psid uint16 -} - -func (*MapRuleDetails) GetMessageName() string { - return "map_rule_details" -} -func (*MapRuleDetails) GetCrcString() string { - return "4f932665" -} -func (*MapRuleDetails) GetMessageType() api.MessageType { - return api.ReplyMessage -} - // MapIfEnableDisable represents VPP binary API message 'map_if_enable_disable': // // "map_if_enable_disable", @@ -864,9 +796,89 @@ func (*MapIfEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MapSummaryStats represents VPP binary API message 'map_summary_stats': +// MapParamAddDelPreResolve represents VPP binary API message 'map_param_add_del_pre_resolve': // -// "map_summary_stats", +// "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': +// +// "map_param_add_del_pre_resolve_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type MapParamAddDelPreResolveReply struct { + Retval int32 +} + +func (*MapParamAddDelPreResolveReply) GetMessageName() string { + return "map_param_add_del_pre_resolve_reply" +} +func (*MapParamAddDelPreResolveReply) GetCrcString() string { + return "e8d4e804" +} +func (*MapParamAddDelPreResolveReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + +// MapParamGet represents VPP binary API message 'map_param_get': +// +// "map_param_get", // [ // "u16", // "_vl_msg_id" @@ -883,21 +895,21 @@ 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" @@ -911,48 +923,110 @@ func (*MapSummaryStats) GetMessageType() api.MessageType { // "retval" // ], // [ -// "u64", -// "total_bindings" +// "u8", +// "frag_inner" // ], // [ -// "u64", -// "total_pkts", -// 2 +// "u8", +// "frag_ignore_df" // ], // [ -// "u64", -// "total_bytes", -// 2 +// "vl_api_ip4_address_t", +// "icmp_ip4_err_relay_src" // ], // [ -// "u64", -// "total_ip4_fragments" +// "bool", +// "icmp6_enable_unreachable" // ], // [ -// "u64", -// "total_security_check", -// 2 +// "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" +// ], +// [ +// "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 } @@ -1416,6 +1410,76 @@ 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": "0x87a825d9" +// } +// +type MapParamSetTCP struct { + TCPMss uint16 +} + +func (*MapParamSetTCP) GetMessageName() string { + return "map_param_set_tcp" +} +func (*MapParamSetTCP) GetCrcString() string { + return "87a825d9" +} +func (*MapParamSetTCP) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// MapParamSetTCPReply represents VPP binary API message 'map_param_set_tcp_reply': +// +// "map_param_set_tcp_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type MapParamSetTCPReply struct { + Retval int32 +} + +func (*MapParamSetTCPReply) GetMessageName() string { + return "map_param_set_tcp_reply" +} +func (*MapParamSetTCPReply) GetCrcString() string { + return "e8d4e804" +} +func (*MapParamSetTCPReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} + // MapParamSetTrafficClass represents VPP binary API message 'map_param_set_traffic_class': // // "map_param_set_traffic_class", @@ -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 +} |