diff options
author | 2018-08-15 12:59:25 +0200 | |
---|---|---|
committer | 2018-08-16 15:03:29 +0200 | |
commit | a3bb834db727a3ac9a1ffcfeae9265e5dead851f (patch) | |
tree | 6ffe64d2dd78a4c3434c2889dd7582b74619fe2b /examples/bin_api/ip | |
parent | da815585c3f75c4ac073b0766dd668abf83844d8 (diff) |
Refactor GoVPP
Squashed commit of the following:
commit 348930db31575e9f59b3834d9fec07411f011e05
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 15 11:30:13 2018 +0200
Use debug level for log about different context
commit 9fc963c559cea67a41b85c6cdadc322fb3b1fc7c
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 15 11:22:03 2018 +0200
Remove annoying logs and add env vars for debugging
commit fdc9fd624d13feadb602e0d03d58f8a44b7a565f
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 15 11:18:47 2018 +0200
Fix printing unknown VPPApiError
commit 8f968be36a91de4d4a8ea17593ba314f82aa9583
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Tue Aug 14 17:25:10 2018 +0200
Refactor entire GoVPP
- fix some cases with inconsistent VPP messages, causing messages
to be incorrectly identified as event or request
- simplify API, remove direct access to internal Go channels
- add module name with message to registration of messages
- start watching filesystem only when vpe-api file does not exist
- simplify code in message codec and remove unneeded parts
- retrieve IDs of all registered messages after connect to VPP
- define fallback for control ping in core to avoid duplicate registration
- add SetLogLevel function to set logger level more easily
- remove lot of unused code
commit 34dd1b7e10ef0324aa8c4e4cc42375bd6021c6cb
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Mon Aug 13 11:29:54 2018 +0200
Rename VnetError to VPPApiError
commit c6549d6f77847a1367a12ff47fb716e2955e973a
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Mon Aug 13 10:23:43 2018 +0200
Fix examples and regenerate binapi
commit 4612e36b416779771f5efab4fc654c2766d2cb1c
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Mon Aug 13 09:51:22 2018 +0200
Add parsing and generation for services
commit ac9c5280c5aa27e325f327609e2364cc66f3723f
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Fri Aug 10 14:30:15 2018 +0200
Fix exit status on error and add continue-onerror flag
commit 9b3f4ef9fc7c8c62037fa107085eae18a8725314
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 15:20:56 2018 +0200
Return VnetError when Retval != 0
commit 8fd21a907b5e628ec4d2026215b83d15da96c297
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 14:59:05 2018 +0200
Add all missing errors from api_errno.h
commit 08450f288d3046ebaecf40203174ae342a07f1eb
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 14:29:27 2018 +0200
Update README
commit d8dced0728dd62243539be741868fb7d9b8de4cc
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:59:59 2018 +0200
Regenerate vpe in core
commit 254da7592cdbf634cf7aa46ae36ce7bb6d4ee555
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:37:00 2018 +0200
Add VnetError type for Retvals
commit 4475c1087fb53ab4c788e530bc7fef7cfc89d2cd
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:36:07 2018 +0200
Add registration API
commit 892a3ea5a2c703e2f7c29331663f6a6fa706bff5
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:30:43 2018 +0200
Generate registration for messages and check all IDs on connect
commit 389ed03b6e7082260281866c3449d72d72347c99
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:32:41 2018 +0200
Show error for empty adapter (on Darwin/Windows)
commit ef1ea040d656ade64242432dc5f06810ed8dcde6
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:31:37 2018 +0200
Improve logged info
commit d4adae3b14ed54c8d693060dd857fa9ba5ec8e06
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:27:48 2018 +0200
Update examples
commit 63921e1346014701a22639a2611129563bb1eb78
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:02:56 2018 +0200
Generate unions and fix some issues
- add comments between sections
- define structs on single line if it has no fields
- generate unions with setters/getters for each field
- fix detection of message type
commit 6ab3e3fa590b245898306a6ffaf32c7721eab60c
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 8 15:37:10 2018 +0200
Refactor binapi-generator
- split JSON parsing from code generation
- parse and generate enums
- parse unions (no generation yet)
- change output file suffix to '.ba.go'
- cleanup and simplify code
- split code into files
- add flag for debug mode
Change-Id: I58f685e0d4c7a38e9a7b6ea0a1f47792d95d7399
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Diffstat (limited to 'examples/bin_api/ip')
-rw-r--r-- | examples/bin_api/ip/ip.ba.go (renamed from examples/bin_api/ip/ip.go) | 2134 |
1 files changed, 1804 insertions, 330 deletions
diff --git a/examples/bin_api/ip/ip.go b/examples/bin_api/ip/ip.ba.go index 7a72629..c980b6a 100644 --- a/examples/bin_api/ip/ip.go +++ b/examples/bin_api/ip/ip.ba.go @@ -1,15 +1,200 @@ -// Code generated by govpp binapi-generator DO NOT EDIT. -// Package ip represents the VPP binary API of the 'ip' VPP module. -// Generated from '../../bin_api/ip.api.json' +// Code generated by GoVPP binapi-generator. DO NOT EDIT. +// source: ip.api.json + +/* +Package ip is a generated VPP binary API of the 'ip' VPP module. + +It is generated from this file: + ip.api.json + +It contains these VPP binary API objects: + 87 messages + 8 types + 1 enum + 1 union + 42 services +*/ package ip import "git.fd.io/govpp.git/api" +import "github.com/lunixbochs/struc" +import "bytes" -// VlApiVersion contains version of the API. -const VlAPIVersion = 0xb395c625 +// Reference imports to suppress errors if they are not otherwise used. +var _ = struc.Pack +var _ = bytes.NewBuffer -// FibPath represents the VPP binary API data type 'fib_path'. -// Generated from '../../bin_api/ip.api.json', line 2199: +/* Enums */ + +// AddressFamily represents the VPP binary API enum 'address_family'. +// Generated from 'ip.api.json', line 2727: +// +// "address_family", +// [ +// "ADDRESS_IP4", +// 0 +// ], +// [ +// "ADDRESS_IP6", +// 1 +// ], +// { +// "enumtype": "u32" +// } +// +type AddressFamily uint32 + +const ( + ADDRESS_IP4 AddressFamily = 0 + ADDRESS_IP6 AddressFamily = 1 +) + +/* Types */ + +// IP4Address represents the VPP binary API type 'ip4_address'. +// Generated from 'ip.api.json', line 2743: +// +// "ip4_address", +// [ +// "u8", +// "address", +// 4 +// ], +// { +// "crc": "0xfc4baa28" +// } +// +type IP4Address struct { + Address []byte `struc:"[4]byte"` +} + +func (*IP4Address) GetTypeName() string { + return "ip4_address" +} +func (*IP4Address) GetCrcString() string { + return "fc4baa28" +} + +// IP6Address represents the VPP binary API type 'ip6_address'. +// Generated from 'ip.api.json', line 2754: +// +// "ip6_address", +// [ +// "u8", +// "address", +// 16 +// ], +// { +// "crc": "0xad99ccc2" +// } +// +type IP6Address struct { + Address []byte `struc:"[16]byte"` +} + +func (*IP6Address) GetTypeName() string { + return "ip6_address" +} +func (*IP6Address) GetCrcString() string { + return "ad99ccc2" +} + +// Address represents the VPP binary API type 'address'. +// Generated from 'ip.api.json', line 2765: +// +// "address", +// [ +// "vl_api_address_family_t", +// "af" +// ], +// [ +// "vl_api_address_union_t", +// "un" +// ], +// { +// "crc": "0x09f11671" +// } +// +type Address struct { + Af AddressFamily + Un AddressUnion +} + +func (*Address) GetTypeName() string { + return "address" +} +func (*Address) GetCrcString() string { + return "09f11671" +} + +// Prefix represents the VPP binary API type 'prefix'. +// Generated from 'ip.api.json', line 2779: +// +// "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" +} + +// FibMplsLabel represents the VPP binary API type 'fib_mpls_label'. +// Generated from 'ip.api.json', line 2793: +// +// "fib_mpls_label", +// [ +// "u8", +// "is_uniform" +// ], +// [ +// "u32", +// "label" +// ], +// [ +// "u8", +// "ttl" +// ], +// [ +// "u8", +// "exp" +// ], +// { +// "crc": "0xc93bf35c" +// } +// +type FibMplsLabel struct { + IsUniform uint8 + Label uint32 + TTL uint8 + Exp uint8 +} + +func (*FibMplsLabel) GetTypeName() string { + return "fib_mpls_label" +} +func (*FibMplsLabel) GetCrcString() string { + return "c93bf35c" +} + +// FibPath represents the VPP binary API type 'fib_path'. +// Generated from 'ip.api.json', line 2815: // // "fib_path", // [ @@ -38,6 +223,10 @@ const VlAPIVersion = 0xb395c625 // ], // [ // "u8", +// "is_udp_encap" +// ], +// [ +// "u8", // "is_unreach" // ], // [ @@ -46,6 +235,22 @@ const VlAPIVersion = 0xb395c625 // ], // [ // "u8", +// "is_resolve_host" +// ], +// [ +// "u8", +// "is_resolve_attached" +// ], +// [ +// "u8", +// "is_dvr" +// ], +// [ +// "u8", +// "is_source_lookup" +// ], +// [ +// "u8", // "afi" // ], // [ @@ -53,32 +258,199 @@ const VlAPIVersion = 0xb395c625 // "next_hop", // 16 // ], +// [ +// "u32", +// "next_hop_id" +// ], +// [ +// "u32", +// "rpf_id" +// ], +// [ +// "u32", +// "via_label" +// ], +// [ +// "u8", +// "n_labels" +// ], +// [ +// "vl_api_fib_mpls_label_t", +// "label_stack", +// 16 +// ], // { -// "crc": "0xcd899e0a" +// "crc": "0xabe483ef" // } // type FibPath struct { - SwIfIndex uint32 - TableID uint32 - Weight uint8 - Preference uint8 - IsLocal uint8 - IsDrop uint8 - IsUnreach uint8 - IsProhibit uint8 - Afi uint8 - NextHop []byte `struc:"[16]byte"` + SwIfIndex uint32 + TableID uint32 + Weight uint8 + Preference uint8 + IsLocal uint8 + IsDrop uint8 + IsUDPEncap uint8 + IsUnreach uint8 + IsProhibit uint8 + IsResolveHost uint8 + IsResolveAttached uint8 + IsDvr uint8 + IsSourceLookup uint8 + Afi uint8 + NextHop []byte `struc:"[16]byte"` + NextHopID uint32 + RpfID uint32 + ViaLabel uint32 + NLabels uint8 + LabelStack []FibMplsLabel `struc:"[16]FibMplsLabel"` } func (*FibPath) GetTypeName() string { return "fib_path" } func (*FibPath) GetCrcString() string { - return "cd899e0a" + return "abe483ef" +} + +// IP6RaPrefixInfo represents the VPP binary API type 'ip6_ra_prefix_info'. +// Generated from 'ip.api.json', line 2903: +// +// "ip6_ra_prefix_info", +// [ +// "u8", +// "dst_address", +// 16 +// ], +// [ +// "u8", +// "dst_address_length" +// ], +// [ +// "u8", +// "flags" +// ], +// [ +// "u32", +// "valid_time" +// ], +// [ +// "u32", +// "preferred_time" +// ], +// { +// "crc": "0x83d7c6e5" +// } +// +type IP6RaPrefixInfo struct { + DstAddress []byte `struc:"[16]byte"` + DstAddressLength uint8 + Flags uint8 + ValidTime uint32 + PreferredTime uint32 +} + +func (*IP6RaPrefixInfo) GetTypeName() string { + return "ip6_ra_prefix_info" +} +func (*IP6RaPrefixInfo) GetCrcString() string { + return "83d7c6e5" } +// ProxyArp represents the VPP binary API type 'proxy_arp'. +// Generated from 'ip.api.json', line 2930: +// +// "proxy_arp", +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u8", +// "low_address", +// 4 +// ], +// [ +// "u8", +// "hi_address", +// 4 +// ], +// { +// "crc": "0x6d88106e" +// } +// +type ProxyArp struct { + VrfID uint32 + LowAddress []byte `struc:"[4]byte"` + HiAddress []byte `struc:"[4]byte"` +} + +func (*ProxyArp) GetTypeName() string { + return "proxy_arp" +} +func (*ProxyArp) GetCrcString() string { + return "6d88106e" +} + +/* Unions */ + +// AddressUnion represents the VPP binary API union 'address_union'. +// Generated from 'ip.api.json', line 2562: +// +// "address_union", +// [ +// "vl_api_ip4_address_t", +// "ip4" +// ], +// [ +// "vl_api_ip6_address_t", +// "ip6" +// ], +// { +// "crc": "0xd68a2fb4" +// } +// +type AddressUnion struct { + Union_data [16]byte +} + +func (*AddressUnion) GetTypeName() string { + return "address_union" +} +func (*AddressUnion) GetCrcString() string { + return "d68a2fb4" +} + +func (u *AddressUnion) SetIP4(a IP4Address) { + var b = new(bytes.Buffer) + if err := struc.Pack(b, &a); err != nil { + return + } + copy(u.Union_data[:], b.Bytes()) +} +func (u *AddressUnion) GetIP4() (a IP4Address) { + var b = bytes.NewReader(u.Union_data[:]) + struc.Unpack(b, &a) + return +} + +func (u *AddressUnion) SetIP6(a IP6Address) { + var b = new(bytes.Buffer) + if err := struc.Pack(b, &a); err != nil { + return + } + copy(u.Union_data[:], b.Bytes()) +} +func (u *AddressUnion) GetIP6() (a IP6Address) { + var b = bytes.NewReader(u.Union_data[:]) + struc.Unpack(b, &a) + return +} + +/* Messages */ + // IPTableAddDel represents the VPP binary API message 'ip_table_add_del'. -// Generated from '../../bin_api/ip.api.json', line 187: +// Generated from 'ip.api.json', line 4: // // "ip_table_add_del", // [ @@ -116,7 +488,7 @@ func (*FibPath) GetCrcString() string { // type IPTableAddDel struct { TableID uint32 - IsIpv6 uint8 + IsIPv6 uint8 IsAdd uint8 Name []byte `struc:"[64]byte"` } @@ -124,18 +496,18 @@ type IPTableAddDel struct { func (*IPTableAddDel) GetMessageName() string { return "ip_table_add_del" } -func (*IPTableAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPTableAddDel) GetCrcString() string { return "0240c89d" } +func (*IPTableAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPTableAddDel() api.Message { return &IPTableAddDel{} } // IPTableAddDelReply represents the VPP binary API message 'ip_table_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 222: +// Generated from 'ip.api.json', line 39: // // "ip_table_add_del_reply", // [ @@ -161,18 +533,18 @@ type IPTableAddDelReply struct { func (*IPTableAddDelReply) GetMessageName() string { return "ip_table_add_del_reply" } -func (*IPTableAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPTableAddDelReply) GetCrcString() string { return "e8d4e804" } +func (*IPTableAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPTableAddDelReply() api.Message { return &IPTableAddDelReply{} } // IPFibDump represents the VPP binary API message 'ip_fib_dump'. -// Generated from '../../bin_api/ip.api.json', line 240: +// Generated from 'ip.api.json', line 57: // // "ip_fib_dump", // [ @@ -191,24 +563,23 @@ func NewIPTableAddDelReply() api.Message { // "crc": "0x51077d14" // } // -type IPFibDump struct { -} +type IPFibDump struct{} func (*IPFibDump) GetMessageName() string { return "ip_fib_dump" } -func (*IPFibDump) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPFibDump) GetCrcString() string { return "51077d14" } +func (*IPFibDump) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPFibDump() api.Message { return &IPFibDump{} } // IPFibDetails represents the VPP binary API message 'ip_fib_details'. -// Generated from '../../bin_api/ip.api.json', line 258: +// Generated from 'ip.api.json', line 75: // // "ip_fib_details", // [ @@ -263,18 +634,18 @@ type IPFibDetails struct { func (*IPFibDetails) GetMessageName() string { return "ip_fib_details" } -func (*IPFibDetails) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPFibDetails) GetCrcString() string { return "99dfd73b" } +func (*IPFibDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPFibDetails() api.Message { return &IPFibDetails{} } // IP6FibDump represents the VPP binary API message 'ip6_fib_dump'. -// Generated from '../../bin_api/ip.api.json', line 300: +// Generated from 'ip.api.json', line 117: // // "ip6_fib_dump", // [ @@ -293,24 +664,23 @@ func NewIPFibDetails() api.Message { // "crc": "0x51077d14" // } // -type IP6FibDump struct { -} +type IP6FibDump struct{} func (*IP6FibDump) GetMessageName() string { return "ip6_fib_dump" } -func (*IP6FibDump) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IP6FibDump) GetCrcString() string { return "51077d14" } +func (*IP6FibDump) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIP6FibDump() api.Message { return &IP6FibDump{} } // IP6FibDetails represents the VPP binary API message 'ip6_fib_details'. -// Generated from '../../bin_api/ip.api.json', line 318: +// Generated from 'ip.api.json', line 135: // // "ip6_fib_details", // [ @@ -365,18 +735,18 @@ type IP6FibDetails struct { func (*IP6FibDetails) GetMessageName() string { return "ip6_fib_details" } -func (*IP6FibDetails) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IP6FibDetails) GetCrcString() string { return "abd0060e" } +func (*IP6FibDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIP6FibDetails() api.Message { return &IP6FibDetails{} } // IPNeighborDump represents the VPP binary API message 'ip_neighbor_dump'. -// Generated from '../../bin_api/ip.api.json', line 360: +// Generated from 'ip.api.json', line 177: // // "ip_neighbor_dump", // [ @@ -405,24 +775,24 @@ func NewIP6FibDetails() api.Message { // type IPNeighborDump struct { SwIfIndex uint32 - IsIpv6 uint8 + IsIPv6 uint8 } func (*IPNeighborDump) GetMessageName() string { return "ip_neighbor_dump" } -func (*IPNeighborDump) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPNeighborDump) GetCrcString() string { return "6b7bcd0a" } +func (*IPNeighborDump) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPNeighborDump() api.Message { return &IPNeighborDump{} } // IPNeighborDetails represents the VPP binary API message 'ip_neighbor_details'. -// Generated from '../../bin_api/ip.api.json', line 386: +// Generated from 'ip.api.json', line 203: // // "ip_neighbor_details", // [ @@ -462,7 +832,7 @@ func NewIPNeighborDump() api.Message { type IPNeighborDetails struct { SwIfIndex uint32 IsStatic uint8 - IsIpv6 uint8 + IsIPv6 uint8 MacAddress []byte `struc:"[6]byte"` IPAddress []byte `struc:"[16]byte"` } @@ -470,18 +840,18 @@ type IPNeighborDetails struct { func (*IPNeighborDetails) GetMessageName() string { return "ip_neighbor_details" } -func (*IPNeighborDetails) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPNeighborDetails) GetCrcString() string { return "85e32a72" } +func (*IPNeighborDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPNeighborDetails() api.Message { return &IPNeighborDetails{} } // IPNeighborAddDel represents the VPP binary API message 'ip_neighbor_add_del'. -// Generated from '../../bin_api/ip.api.json', line 422: +// Generated from 'ip.api.json', line 239: // // "ip_neighbor_add_del", // [ @@ -533,7 +903,7 @@ func NewIPNeighborDetails() api.Message { type IPNeighborAddDel struct { SwIfIndex uint32 IsAdd uint8 - IsIpv6 uint8 + IsIPv6 uint8 IsStatic uint8 IsNoAdjFib uint8 MacAddress []byte `struc:"[6]byte"` @@ -543,18 +913,18 @@ type IPNeighborAddDel struct { func (*IPNeighborAddDel) GetMessageName() string { return "ip_neighbor_add_del" } -func (*IPNeighborAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPNeighborAddDel) GetCrcString() string { return "4711eb25" } +func (*IPNeighborAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPNeighborAddDel() api.Message { return &IPNeighborAddDel{} } // IPNeighborAddDelReply represents the VPP binary API message 'ip_neighbor_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 470: +// Generated from 'ip.api.json', line 287: // // "ip_neighbor_add_del_reply", // [ @@ -580,18 +950,18 @@ type IPNeighborAddDelReply struct { func (*IPNeighborAddDelReply) GetMessageName() string { return "ip_neighbor_add_del_reply" } -func (*IPNeighborAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPNeighborAddDelReply) GetCrcString() string { return "e8d4e804" } +func (*IPNeighborAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPNeighborAddDelReply() api.Message { return &IPNeighborAddDelReply{} } // SetIPFlowHash represents the VPP binary API message 'set_ip_flow_hash'. -// Generated from '../../bin_api/ip.api.json', line 488: +// Generated from 'ip.api.json', line 305: // // "set_ip_flow_hash", // [ @@ -644,7 +1014,7 @@ func NewIPNeighborAddDelReply() api.Message { // type SetIPFlowHash struct { VrfID uint32 - IsIpv6 uint8 + IsIPv6 uint8 Src uint8 Dst uint8 Sport uint8 @@ -656,18 +1026,18 @@ type SetIPFlowHash struct { func (*SetIPFlowHash) GetMessageName() string { return "set_ip_flow_hash" } -func (*SetIPFlowHash) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*SetIPFlowHash) GetCrcString() string { return "32ebf737" } +func (*SetIPFlowHash) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewSetIPFlowHash() api.Message { return &SetIPFlowHash{} } // SetIPFlowHashReply represents the VPP binary API message 'set_ip_flow_hash_reply'. -// Generated from '../../bin_api/ip.api.json', line 538: +// Generated from 'ip.api.json', line 355: // // "set_ip_flow_hash_reply", // [ @@ -693,18 +1063,18 @@ type SetIPFlowHashReply struct { func (*SetIPFlowHashReply) GetMessageName() string { return "set_ip_flow_hash_reply" } -func (*SetIPFlowHashReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*SetIPFlowHashReply) GetCrcString() string { return "e8d4e804" } +func (*SetIPFlowHashReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewSetIPFlowHashReply() api.Message { return &SetIPFlowHashReply{} } // SwInterfaceIP6ndRaConfig represents the VPP binary API message 'sw_interface_ip6nd_ra_config'. -// Generated from '../../bin_api/ip.api.json', line 556: +// Generated from 'ip.api.json', line 373: // // "sw_interface_ip6nd_ra_config", // [ @@ -799,18 +1169,18 @@ type SwInterfaceIP6ndRaConfig struct { func (*SwInterfaceIP6ndRaConfig) GetMessageName() string { return "sw_interface_ip6nd_ra_config" } -func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*SwInterfaceIP6ndRaConfig) GetCrcString() string { return "c3f02daa" } +func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewSwInterfaceIP6ndRaConfig() api.Message { return &SwInterfaceIP6ndRaConfig{} } // SwInterfaceIP6ndRaConfigReply represents the VPP binary API message 'sw_interface_ip6nd_ra_config_reply'. -// Generated from '../../bin_api/ip.api.json', line 630: +// Generated from 'ip.api.json', line 447: // // "sw_interface_ip6nd_ra_config_reply", // [ @@ -836,18 +1206,18 @@ type SwInterfaceIP6ndRaConfigReply struct { func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string { return "sw_interface_ip6nd_ra_config_reply" } -func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string { return "e8d4e804" } +func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewSwInterfaceIP6ndRaConfigReply() api.Message { return &SwInterfaceIP6ndRaConfigReply{} } // SwInterfaceIP6ndRaPrefix represents the VPP binary API message 'sw_interface_ip6nd_ra_prefix'. -// Generated from '../../bin_api/ip.api.json', line 648: +// Generated from 'ip.api.json', line 465: // // "sw_interface_ip6nd_ra_prefix", // [ @@ -928,18 +1298,18 @@ type SwInterfaceIP6ndRaPrefix struct { func (*SwInterfaceIP6ndRaPrefix) GetMessageName() string { return "sw_interface_ip6nd_ra_prefix" } -func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string { return "ca763c9a" } +func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewSwInterfaceIP6ndRaPrefix() api.Message { return &SwInterfaceIP6ndRaPrefix{} } // SwInterfaceIP6ndRaPrefixReply represents the VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply'. -// Generated from '../../bin_api/ip.api.json', line 711: +// Generated from 'ip.api.json', line 528: // // "sw_interface_ip6nd_ra_prefix_reply", // [ @@ -965,18 +1335,18 @@ type SwInterfaceIP6ndRaPrefixReply struct { func (*SwInterfaceIP6ndRaPrefixReply) GetMessageName() string { return "sw_interface_ip6nd_ra_prefix_reply" } -func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string { return "e8d4e804" } +func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewSwInterfaceIP6ndRaPrefixReply() api.Message { return &SwInterfaceIP6ndRaPrefixReply{} } // IP6ndProxyAddDel represents the VPP binary API message 'ip6nd_proxy_add_del'. -// Generated from '../../bin_api/ip.api.json', line 729: +// Generated from 'ip.api.json', line 546: // // "ip6nd_proxy_add_del", // [ @@ -1017,18 +1387,18 @@ type IP6ndProxyAddDel struct { func (*IP6ndProxyAddDel) GetMessageName() string { return "ip6nd_proxy_add_del" } -func (*IP6ndProxyAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IP6ndProxyAddDel) GetCrcString() string { return "d95f0fa0" } +func (*IP6ndProxyAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIP6ndProxyAddDel() api.Message { return &IP6ndProxyAddDel{} } // IP6ndProxyAddDelReply represents the VPP binary API message 'ip6nd_proxy_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 760: +// Generated from 'ip.api.json', line 577: // // "ip6nd_proxy_add_del_reply", // [ @@ -1054,18 +1424,18 @@ type IP6ndProxyAddDelReply struct { func (*IP6ndProxyAddDelReply) GetMessageName() string { return "ip6nd_proxy_add_del_reply" } -func (*IP6ndProxyAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IP6ndProxyAddDelReply) GetCrcString() string { return "e8d4e804" } +func (*IP6ndProxyAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIP6ndProxyAddDelReply() api.Message { return &IP6ndProxyAddDelReply{} } // IP6ndProxyDetails represents the VPP binary API message 'ip6nd_proxy_details'. -// Generated from '../../bin_api/ip.api.json', line 778: +// Generated from 'ip.api.json', line 595: // // "ip6nd_proxy_details", // [ @@ -1101,18 +1471,18 @@ type IP6ndProxyDetails struct { func (*IP6ndProxyDetails) GetMessageName() string { return "ip6nd_proxy_details" } -func (*IP6ndProxyDetails) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IP6ndProxyDetails) GetCrcString() string { return "d73bf1ab" } +func (*IP6ndProxyDetails) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIP6ndProxyDetails() api.Message { return &IP6ndProxyDetails{} } // IP6ndProxyDump represents the VPP binary API message 'ip6nd_proxy_dump'. -// Generated from '../../bin_api/ip.api.json', line 805: +// Generated from 'ip.api.json', line 622: // // "ip6nd_proxy_dump", // [ @@ -1131,24 +1501,126 @@ func NewIP6ndProxyDetails() api.Message { // "crc": "0x51077d14" // } // -type IP6ndProxyDump struct { -} +type IP6ndProxyDump struct{} func (*IP6ndProxyDump) GetMessageName() string { return "ip6nd_proxy_dump" } -func (*IP6ndProxyDump) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IP6ndProxyDump) GetCrcString() string { return "51077d14" } +func (*IP6ndProxyDump) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIP6ndProxyDump() api.Message { return &IP6ndProxyDump{} } +// IP6ndSendRouterSolicitation represents the VPP binary API message 'ip6nd_send_router_solicitation'. +// Generated from 'ip.api.json', line 640: +// +// "ip6nd_send_router_solicitation", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "irt" +// ], +// [ +// "u32", +// "mrt" +// ], +// [ +// "u32", +// "mrc" +// ], +// [ +// "u32", +// "mrd" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "stop" +// ], +// { +// "crc": "0xbd968917" +// } +// +type IP6ndSendRouterSolicitation struct { + Irt uint32 + Mrt uint32 + Mrc uint32 + Mrd uint32 + SwIfIndex uint32 + Stop uint8 +} + +func (*IP6ndSendRouterSolicitation) GetMessageName() string { + return "ip6nd_send_router_solicitation" +} +func (*IP6ndSendRouterSolicitation) GetCrcString() string { + return "bd968917" +} +func (*IP6ndSendRouterSolicitation) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewIP6ndSendRouterSolicitation() api.Message { + return &IP6ndSendRouterSolicitation{} +} + +// IP6ndSendRouterSolicitationReply represents the VPP binary API message 'ip6nd_send_router_solicitation_reply'. +// Generated from 'ip.api.json', line 682: +// +// "ip6nd_send_router_solicitation_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IP6ndSendRouterSolicitationReply struct { + Retval int32 +} + +func (*IP6ndSendRouterSolicitationReply) GetMessageName() string { + return "ip6nd_send_router_solicitation_reply" +} +func (*IP6ndSendRouterSolicitationReply) GetCrcString() string { + return "e8d4e804" +} +func (*IP6ndSendRouterSolicitationReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewIP6ndSendRouterSolicitationReply() api.Message { + return &IP6ndSendRouterSolicitationReply{} +} + // SwInterfaceIP6EnableDisable represents the VPP binary API message 'sw_interface_ip6_enable_disable'. -// Generated from '../../bin_api/ip.api.json', line 823: +// Generated from 'ip.api.json', line 700: // // "sw_interface_ip6_enable_disable", // [ @@ -1183,18 +1655,18 @@ type SwInterfaceIP6EnableDisable struct { func (*SwInterfaceIP6EnableDisable) GetMessageName() string { return "sw_interface_ip6_enable_disable" } -func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*SwInterfaceIP6EnableDisable) GetCrcString() string { return "a36fadc0" } +func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewSwInterfaceIP6EnableDisable() api.Message { return &SwInterfaceIP6EnableDisable{} } // SwInterfaceIP6EnableDisableReply represents the VPP binary API message 'sw_interface_ip6_enable_disable_reply'. -// Generated from '../../bin_api/ip.api.json', line 849: +// Generated from 'ip.api.json', line 726: // // "sw_interface_ip6_enable_disable_reply", // [ @@ -1220,18 +1692,18 @@ type SwInterfaceIP6EnableDisableReply struct { func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string { return "sw_interface_ip6_enable_disable_reply" } -func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string { return "e8d4e804" } +func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewSwInterfaceIP6EnableDisableReply() api.Message { return &SwInterfaceIP6EnableDisableReply{} } // SwInterfaceIP6SetLinkLocalAddress represents the VPP binary API message 'sw_interface_ip6_set_link_local_address'. -// Generated from '../../bin_api/ip.api.json', line 867: +// Generated from 'ip.api.json', line 744: // // "sw_interface_ip6_set_link_local_address", // [ @@ -1267,18 +1739,18 @@ type SwInterfaceIP6SetLinkLocalAddress struct { func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageName() string { return "sw_interface_ip6_set_link_local_address" } -func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*SwInterfaceIP6SetLinkLocalAddress) GetCrcString() string { return "d73bf1ab" } +func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewSwInterfaceIP6SetLinkLocalAddress() api.Message { return &SwInterfaceIP6SetLinkLocalAddress{} } // SwInterfaceIP6SetLinkLocalAddressReply represents the VPP binary API message 'sw_interface_ip6_set_link_local_address_reply'. -// Generated from '../../bin_api/ip.api.json', line 894: +// Generated from 'ip.api.json', line 771: // // "sw_interface_ip6_set_link_local_address_reply", // [ @@ -1304,18 +1776,18 @@ type SwInterfaceIP6SetLinkLocalAddressReply struct { func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageName() string { return "sw_interface_ip6_set_link_local_address_reply" } -func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*SwInterfaceIP6SetLinkLocalAddressReply) GetCrcString() string { return "e8d4e804" } +func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewSwInterfaceIP6SetLinkLocalAddressReply() api.Message { return &SwInterfaceIP6SetLinkLocalAddressReply{} } // IPAddDelRoute represents the VPP binary API message 'ip_add_del_route'. -// Generated from '../../bin_api/ip.api.json', line 912: +// Generated from 'ip.api.json', line 789: // // "ip_add_del_route", // [ @@ -1437,13 +1909,13 @@ func NewSwInterfaceIP6SetLinkLocalAddressReply() api.Message { // "next_hop_via_label" // ], // [ -// "u32", +// "vl_api_fib_mpls_label_t", // "next_hop_out_label_stack", // 0, // "next_hop_n_out_labels" // ], // { -// "crc": "0xc85f8290" +// "crc": "0x4219d62d" // } // type IPAddDelRoute struct { @@ -1456,7 +1928,7 @@ type IPAddDelRoute struct { IsDrop uint8 IsUnreach uint8 IsProhibit uint8 - IsIpv6 uint8 + IsIPv6 uint8 IsLocal uint8 IsClassify uint8 IsMultipath uint8 @@ -1473,24 +1945,24 @@ type IPAddDelRoute struct { NextHopAddress []byte `struc:"[16]byte"` NextHopNOutLabels uint8 `struc:"sizeof=NextHopOutLabelStack"` NextHopViaLabel uint32 - NextHopOutLabelStack []uint32 + NextHopOutLabelStack []FibMplsLabel } func (*IPAddDelRoute) GetMessageName() string { return "ip_add_del_route" } +func (*IPAddDelRoute) GetCrcString() string { + return "4219d62d" +} func (*IPAddDelRoute) GetMessageType() api.MessageType { return api.RequestMessage } -func (*IPAddDelRoute) GetCrcString() string { - return "c85f8290" -} func NewIPAddDelRoute() api.Message { return &IPAddDelRoute{} } // IPAddDelRouteReply represents the VPP binary API message 'ip_add_del_route_reply'. -// Generated from '../../bin_api/ip.api.json', line 1042: +// Generated from 'ip.api.json', line 919: // // "ip_add_del_route_reply", // [ @@ -1516,18 +1988,18 @@ type IPAddDelRouteReply struct { func (*IPAddDelRouteReply) GetMessageName() string { return "ip_add_del_route_reply" } -func (*IPAddDelRouteReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPAddDelRouteReply) GetCrcString() string { return "e8d4e804" } +func (*IPAddDelRouteReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPAddDelRouteReply() api.Message { return &IPAddDelRouteReply{} } // IPMrouteAddDel represents the VPP binary API message 'ip_mroute_add_del'. -// Generated from '../../bin_api/ip.api.json', line 1060: +// Generated from 'ip.api.json', line 937: // // "ip_mroute_add_del", // [ @@ -1596,8 +2068,13 @@ func NewIPAddDelRouteReply() api.Message { // "src_address", // 16 // ], +// [ +// "u8", +// "nh_address", +// 16 +// ], // { -// "crc": "0xc37112f7" +// "crc": "0xf44c17b1" // } // type IPMrouteAddDel struct { @@ -1610,27 +2087,28 @@ type IPMrouteAddDel struct { GrpAddressLength uint16 NextHopAfi uint8 IsAdd uint8 - IsIpv6 uint8 + IsIPv6 uint8 IsLocal uint8 GrpAddress []byte `struc:"[16]byte"` SrcAddress []byte `struc:"[16]byte"` + NhAddress []byte `struc:"[16]byte"` } func (*IPMrouteAddDel) GetMessageName() string { return "ip_mroute_add_del" } +func (*IPMrouteAddDel) GetCrcString() string { + return "f44c17b1" +} func (*IPMrouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -func (*IPMrouteAddDel) GetCrcString() string { - return "c37112f7" -} func NewIPMrouteAddDel() api.Message { return &IPMrouteAddDel{} } // IPMrouteAddDelReply represents the VPP binary API message 'ip_mroute_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 1132: +// Generated from 'ip.api.json', line 1014: // // "ip_mroute_add_del_reply", // [ @@ -1656,18 +2134,18 @@ type IPMrouteAddDelReply struct { func (*IPMrouteAddDelReply) GetMessageName() string { return "ip_mroute_add_del_reply" } -func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPMrouteAddDelReply) GetCrcString() string { return "e8d4e804" } +func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPMrouteAddDelReply() api.Message { return &IPMrouteAddDelReply{} } // IPMfibDump represents the VPP binary API message 'ip_mfib_dump'. -// Generated from '../../bin_api/ip.api.json', line 1150: +// Generated from 'ip.api.json', line 1032: // // "ip_mfib_dump", // [ @@ -1686,24 +2164,23 @@ func NewIPMrouteAddDelReply() api.Message { // "crc": "0x51077d14" // } // -type IPMfibDump struct { -} +type IPMfibDump struct{} func (*IPMfibDump) GetMessageName() string { return "ip_mfib_dump" } -func (*IPMfibDump) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPMfibDump) GetCrcString() string { return "51077d14" } +func (*IPMfibDump) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPMfibDump() api.Message { return &IPMfibDump{} } // IPMfibDetails represents the VPP binary API message 'ip_mfib_details'. -// Generated from '../../bin_api/ip.api.json', line 1168: +// Generated from 'ip.api.json', line 1050: // // "ip_mfib_details", // [ @@ -1768,18 +2245,18 @@ type IPMfibDetails struct { func (*IPMfibDetails) GetMessageName() string { return "ip_mfib_details" } -func (*IPMfibDetails) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPMfibDetails) GetCrcString() string { return "5e530d5e" } +func (*IPMfibDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPMfibDetails() api.Message { return &IPMfibDetails{} } // IP6MfibDump represents the VPP binary API message 'ip6_mfib_dump'. -// Generated from '../../bin_api/ip.api.json', line 1218: +// Generated from 'ip.api.json', line 1100: // // "ip6_mfib_dump", // [ @@ -1798,24 +2275,23 @@ func NewIPMfibDetails() api.Message { // "crc": "0x51077d14" // } // -type IP6MfibDump struct { -} +type IP6MfibDump struct{} func (*IP6MfibDump) GetMessageName() string { return "ip6_mfib_dump" } -func (*IP6MfibDump) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IP6MfibDump) GetCrcString() string { return "51077d14" } +func (*IP6MfibDump) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIP6MfibDump() api.Message { return &IP6MfibDump{} } // IP6MfibDetails represents the VPP binary API message 'ip6_mfib_details'. -// Generated from '../../bin_api/ip.api.json', line 1236: +// Generated from 'ip.api.json', line 1118: // // "ip6_mfib_details", // [ @@ -1870,18 +2346,18 @@ type IP6MfibDetails struct { func (*IP6MfibDetails) GetMessageName() string { return "ip6_mfib_details" } -func (*IP6MfibDetails) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IP6MfibDetails) GetCrcString() string { return "e02dcb4b" } +func (*IP6MfibDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIP6MfibDetails() api.Message { return &IP6MfibDetails{} } // IPAddressDetails represents the VPP binary API message 'ip_address_details'. -// Generated from '../../bin_api/ip.api.json', line 1278: +// Generated from 'ip.api.json', line 1160: // // "ip_address_details", // [ @@ -1921,24 +2397,24 @@ type IPAddressDetails struct { IP []byte `struc:"[16]byte"` PrefixLength uint8 SwIfIndex uint32 - IsIpv6 uint8 + IsIPv6 uint8 } func (*IPAddressDetails) GetMessageName() string { return "ip_address_details" } -func (*IPAddressDetails) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPAddressDetails) GetCrcString() string { return "bc7442f2" } +func (*IPAddressDetails) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPAddressDetails() api.Message { return &IPAddressDetails{} } // IPAddressDump represents the VPP binary API message 'ip_address_dump'. -// Generated from '../../bin_api/ip.api.json', line 1313: +// Generated from 'ip.api.json', line 1195: // // "ip_address_dump", // [ @@ -1967,24 +2443,111 @@ func NewIPAddressDetails() api.Message { // type IPAddressDump struct { SwIfIndex uint32 - IsIpv6 uint8 + IsIPv6 uint8 } func (*IPAddressDump) GetMessageName() string { return "ip_address_dump" } -func (*IPAddressDump) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPAddressDump) GetCrcString() string { return "6b7bcd0a" } +func (*IPAddressDump) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPAddressDump() api.Message { return &IPAddressDump{} } +// IPUnnumberedDetails represents the VPP binary API message 'ip_unnumbered_details'. +// Generated from 'ip.api.json', line 1221: +// +// "ip_unnumbered_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "ip_sw_if_index" +// ], +// { +// "crc": "0x05b717ca" +// } +// +type IPUnnumberedDetails struct { + SwIfIndex uint32 + IPSwIfIndex uint32 +} + +func (*IPUnnumberedDetails) GetMessageName() string { + return "ip_unnumbered_details" +} +func (*IPUnnumberedDetails) GetCrcString() string { + return "05b717ca" +} +func (*IPUnnumberedDetails) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewIPUnnumberedDetails() api.Message { + return &IPUnnumberedDetails{} +} + +// IPUnnumberedDump represents the VPP binary API message 'ip_unnumbered_dump'. +// Generated from 'ip.api.json', line 1247: +// +// "ip_unnumbered_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } +// +type IPUnnumberedDump struct { + SwIfIndex uint32 +} + +func (*IPUnnumberedDump) GetMessageName() string { + return "ip_unnumbered_dump" +} +func (*IPUnnumberedDump) GetCrcString() string { + return "529cb13f" +} +func (*IPUnnumberedDump) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewIPUnnumberedDump() api.Message { + return &IPUnnumberedDump{} +} + // IPDetails represents the VPP binary API message 'ip_details'. -// Generated from '../../bin_api/ip.api.json', line 1339: +// Generated from 'ip.api.json', line 1269: // // "ip_details", // [ @@ -2010,24 +2573,24 @@ func NewIPAddressDump() api.Message { type IPDetails struct { SwIfIndex uint32 Context uint32 - IsIpv6 uint8 + IsIPv6 uint8 } func (*IPDetails) GetMessageName() string { return "ip_details" } -func (*IPDetails) GetMessageType() api.MessageType { - return api.OtherMessage -} func (*IPDetails) GetCrcString() string { return "452ffc5a" } +func (*IPDetails) GetMessageType() api.MessageType { + return api.OtherMessage +} func NewIPDetails() api.Message { return &IPDetails{} } // IPDump represents the VPP binary API message 'ip_dump'. -// Generated from '../../bin_api/ip.api.json', line 1361: +// Generated from 'ip.api.json', line 1291: // // "ip_dump", // [ @@ -2051,24 +2614,24 @@ func NewIPDetails() api.Message { // } // type IPDump struct { - IsIpv6 uint8 + IsIPv6 uint8 } func (*IPDump) GetMessageName() string { return "ip_dump" } -func (*IPDump) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPDump) GetCrcString() string { return "de883da4" } +func (*IPDump) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPDump() api.Message { return &IPDump{} } // MfibSignalDump represents the VPP binary API message 'mfib_signal_dump'. -// Generated from '../../bin_api/ip.api.json', line 1383: +// Generated from 'ip.api.json', line 1313: // // "mfib_signal_dump", // [ @@ -2087,24 +2650,23 @@ func NewIPDump() api.Message { // "crc": "0x51077d14" // } // -type MfibSignalDump struct { -} +type MfibSignalDump struct{} func (*MfibSignalDump) GetMessageName() string { return "mfib_signal_dump" } -func (*MfibSignalDump) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*MfibSignalDump) GetCrcString() string { return "51077d14" } +func (*MfibSignalDump) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewMfibSignalDump() api.Message { return &MfibSignalDump{} } // MfibSignalDetails represents the VPP binary API message 'mfib_signal_details'. -// Generated from '../../bin_api/ip.api.json', line 1401: +// Generated from 'ip.api.json', line 1331: // // "mfib_signal_details", // [ @@ -2167,18 +2729,18 @@ type MfibSignalDetails struct { func (*MfibSignalDetails) GetMessageName() string { return "mfib_signal_details" } -func (*MfibSignalDetails) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*MfibSignalDetails) GetCrcString() string { return "791bbeab" } +func (*MfibSignalDetails) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewMfibSignalDetails() api.Message { return &MfibSignalDetails{} } // IPPuntPolice represents the VPP binary API message 'ip_punt_police'. -// Generated from '../../bin_api/ip.api.json', line 1450: +// Generated from 'ip.api.json', line 1380: // // "ip_punt_police", // [ @@ -2218,18 +2780,18 @@ type IPPuntPolice struct { func (*IPPuntPolice) GetMessageName() string { return "ip_punt_police" } -func (*IPPuntPolice) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPPuntPolice) GetCrcString() string { return "38691592" } +func (*IPPuntPolice) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPPuntPolice() api.Message { return &IPPuntPolice{} } // IPPuntPoliceReply represents the VPP binary API message 'ip_punt_police_reply'. -// Generated from '../../bin_api/ip.api.json', line 1480: +// Generated from 'ip.api.json', line 1410: // // "ip_punt_police_reply", // [ @@ -2255,18 +2817,18 @@ type IPPuntPoliceReply struct { func (*IPPuntPoliceReply) GetMessageName() string { return "ip_punt_police_reply" } -func (*IPPuntPoliceReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPPuntPoliceReply) GetCrcString() string { return "e8d4e804" } +func (*IPPuntPoliceReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPPuntPoliceReply() api.Message { return &IPPuntPoliceReply{} } // IPPuntRedirect represents the VPP binary API message 'ip_punt_redirect'. -// Generated from '../../bin_api/ip.api.json', line 1498: +// Generated from 'ip.api.json', line 1428: // // "ip_punt_redirect", // [ @@ -2317,18 +2879,18 @@ type IPPuntRedirect struct { func (*IPPuntRedirect) GetMessageName() string { return "ip_punt_redirect" } -func (*IPPuntRedirect) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPPuntRedirect) GetCrcString() string { return "996b6603" } +func (*IPPuntRedirect) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPPuntRedirect() api.Message { return &IPPuntRedirect{} } // IPPuntRedirectReply represents the VPP binary API message 'ip_punt_redirect_reply'. -// Generated from '../../bin_api/ip.api.json', line 1537: +// Generated from 'ip.api.json', line 1467: // // "ip_punt_redirect_reply", // [ @@ -2354,18 +2916,18 @@ type IPPuntRedirectReply struct { func (*IPPuntRedirectReply) GetMessageName() string { return "ip_punt_redirect_reply" } -func (*IPPuntRedirectReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPPuntRedirectReply) GetCrcString() string { return "e8d4e804" } +func (*IPPuntRedirectReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPPuntRedirectReply() api.Message { return &IPPuntRedirectReply{} } // IPContainerProxyAddDel represents the VPP binary API message 'ip_container_proxy_add_del'. -// Generated from '../../bin_api/ip.api.json', line 1555: +// Generated from 'ip.api.json', line 1485: // // "ip_container_proxy_add_del", // [ @@ -2416,18 +2978,18 @@ type IPContainerProxyAddDel struct { func (*IPContainerProxyAddDel) GetMessageName() string { return "ip_container_proxy_add_del" } -func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPContainerProxyAddDel) GetCrcString() string { return "0a355d39" } +func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPContainerProxyAddDel() api.Message { return &IPContainerProxyAddDel{} } // IPContainerProxyAddDelReply represents the VPP binary API message 'ip_container_proxy_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 1594: +// Generated from 'ip.api.json', line 1524: // // "ip_container_proxy_add_del_reply", // [ @@ -2453,18 +3015,18 @@ type IPContainerProxyAddDelReply struct { func (*IPContainerProxyAddDelReply) GetMessageName() string { return "ip_container_proxy_add_del_reply" } -func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPContainerProxyAddDelReply) GetCrcString() string { return "e8d4e804" } +func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPContainerProxyAddDelReply() api.Message { return &IPContainerProxyAddDelReply{} } // IPSourceAndPortRangeCheckAddDel represents the VPP binary API message 'ip_source_and_port_range_check_add_del'. -// Generated from '../../bin_api/ip.api.json', line 1612: +// Generated from 'ip.api.json', line 1542: // // "ip_source_and_port_range_check_add_del", // [ @@ -2519,7 +3081,7 @@ func NewIPContainerProxyAddDelReply() api.Message { // } // type IPSourceAndPortRangeCheckAddDel struct { - IsIpv6 uint8 + IsIPv6 uint8 IsAdd uint8 MaskLength uint8 Address []byte `struc:"[16]byte"` @@ -2532,18 +3094,18 @@ type IPSourceAndPortRangeCheckAddDel struct { func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string { return "ip_source_and_port_range_check_add_del" } -func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string { return "03d6b03a" } +func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPSourceAndPortRangeCheckAddDel() api.Message { return &IPSourceAndPortRangeCheckAddDel{} } // IPSourceAndPortRangeCheckAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 1665: +// Generated from 'ip.api.json', line 1595: // // "ip_source_and_port_range_check_add_del_reply", // [ @@ -2569,18 +3131,18 @@ type IPSourceAndPortRangeCheckAddDelReply struct { func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string { return "ip_source_and_port_range_check_add_del_reply" } -func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string { return "e8d4e804" } +func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPSourceAndPortRangeCheckAddDelReply() api.Message { return &IPSourceAndPortRangeCheckAddDelReply{} } // IPSourceAndPortRangeCheckInterfaceAddDel represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del'. -// Generated from '../../bin_api/ip.api.json', line 1683: +// Generated from 'ip.api.json', line 1613: // // "ip_source_and_port_range_check_interface_add_del", // [ @@ -2635,18 +3197,18 @@ type IPSourceAndPortRangeCheckInterfaceAddDel struct { func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string { return "ip_source_and_port_range_check_interface_add_del" } -func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string { return "6966bc44" } +func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIPSourceAndPortRangeCheckInterfaceAddDel() api.Message { return &IPSourceAndPortRangeCheckInterfaceAddDel{} } // IPSourceAndPortRangeCheckInterfaceAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 1725: +// Generated from 'ip.api.json', line 1655: // // "ip_source_and_port_range_check_interface_add_del_reply", // [ @@ -2672,18 +3234,210 @@ type IPSourceAndPortRangeCheckInterfaceAddDelReply struct { func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string { return "ip_source_and_port_range_check_interface_add_del_reply" } -func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" } +func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIPSourceAndPortRangeCheckInterfaceAddDelReply() api.Message { return &IPSourceAndPortRangeCheckInterfaceAddDelReply{} } +// IPScanNeighborEnableDisable represents the VPP binary API message 'ip_scan_neighbor_enable_disable'. +// Generated from 'ip.api.json', line 1673: +// +// "ip_scan_neighbor_enable_disable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "mode" +// ], +// [ +// "u8", +// "scan_interval" +// ], +// [ +// "u8", +// "max_proc_time" +// ], +// [ +// "u8", +// "max_update" +// ], +// [ +// "u8", +// "scan_int_delay" +// ], +// [ +// "u8", +// "stale_threshold" +// ], +// { +// "crc": "0x0a6bf57a" +// } +// +type IPScanNeighborEnableDisable struct { + Mode uint8 + ScanInterval uint8 + MaxProcTime uint8 + MaxUpdate uint8 + ScanIntDelay uint8 + StaleThreshold uint8 +} + +func (*IPScanNeighborEnableDisable) GetMessageName() string { + return "ip_scan_neighbor_enable_disable" +} +func (*IPScanNeighborEnableDisable) GetCrcString() string { + return "0a6bf57a" +} +func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewIPScanNeighborEnableDisable() api.Message { + return &IPScanNeighborEnableDisable{} +} + +// IPScanNeighborEnableDisableReply represents the VPP binary API message 'ip_scan_neighbor_enable_disable_reply'. +// Generated from 'ip.api.json', line 1715: +// +// "ip_scan_neighbor_enable_disable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPScanNeighborEnableDisableReply struct { + Retval int32 +} + +func (*IPScanNeighborEnableDisableReply) GetMessageName() string { + return "ip_scan_neighbor_enable_disable_reply" +} +func (*IPScanNeighborEnableDisableReply) GetCrcString() string { + return "e8d4e804" +} +func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewIPScanNeighborEnableDisableReply() api.Message { + return &IPScanNeighborEnableDisableReply{} +} + +// IPProbeNeighbor represents the VPP binary API message 'ip_probe_neighbor'. +// Generated from 'ip.api.json', line 1733: +// +// "ip_probe_neighbor", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "dst_address", +// 16 +// ], +// [ +// "u8", +// "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 +} +func NewIPProbeNeighbor() api.Message { + return &IPProbeNeighbor{} +} + +// IPProbeNeighborReply represents the VPP binary API message 'ip_probe_neighbor_reply'. +// Generated from 'ip.api.json', line 1764: +// +// "ip_probe_neighbor_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPProbeNeighborReply struct { + Retval int32 +} + +func (*IPProbeNeighborReply) GetMessageName() string { + return "ip_probe_neighbor_reply" +} +func (*IPProbeNeighborReply) GetCrcString() string { + return "e8d4e804" +} +func (*IPProbeNeighborReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewIPProbeNeighborReply() api.Message { + return &IPProbeNeighborReply{} +} + // WantIP4ArpEvents represents the VPP binary API message 'want_ip4_arp_events'. -// Generated from '../../bin_api/ip.api.json', line 1743: +// Generated from 'ip.api.json', line 1782: // // "want_ip4_arp_events", // [ @@ -2716,25 +3470,25 @@ func NewIPSourceAndPortRangeCheckInterfaceAddDelReply() api.Message { // type WantIP4ArpEvents struct { EnableDisable uint8 - Pid uint32 + PID uint32 Address uint32 } func (*WantIP4ArpEvents) GetMessageName() string { return "want_ip4_arp_events" } -func (*WantIP4ArpEvents) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*WantIP4ArpEvents) GetCrcString() string { return "77e06379" } +func (*WantIP4ArpEvents) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewWantIP4ArpEvents() api.Message { return &WantIP4ArpEvents{} } // WantIP4ArpEventsReply represents the VPP binary API message 'want_ip4_arp_events_reply'. -// Generated from '../../bin_api/ip.api.json', line 1773: +// Generated from 'ip.api.json', line 1812: // // "want_ip4_arp_events_reply", // [ @@ -2760,18 +3514,18 @@ type WantIP4ArpEventsReply struct { func (*WantIP4ArpEventsReply) GetMessageName() string { return "want_ip4_arp_events_reply" } -func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*WantIP4ArpEventsReply) GetCrcString() string { return "e8d4e804" } +func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewWantIP4ArpEventsReply() api.Message { return &WantIP4ArpEventsReply{} } // IP4ArpEvent represents the VPP binary API message 'ip4_arp_event'. -// Generated from '../../bin_api/ip.api.json', line 1791: +// Generated from 'ip.api.json', line 1830: // // "ip4_arp_event", // [ @@ -2809,7 +3563,7 @@ func NewWantIP4ArpEventsReply() api.Message { // type IP4ArpEvent struct { Address uint32 - Pid uint32 + PID uint32 SwIfIndex uint32 NewMac []byte `struc:"[6]byte"` MacIP uint8 @@ -2818,18 +3572,18 @@ type IP4ArpEvent struct { func (*IP4ArpEvent) GetMessageName() string { return "ip4_arp_event" } -func (*IP4ArpEvent) GetMessageType() api.MessageType { - return api.EventMessage -} func (*IP4ArpEvent) GetCrcString() string { return "ef7235f7" } +func (*IP4ArpEvent) GetMessageType() api.MessageType { + return api.EventMessage +} func NewIP4ArpEvent() api.Message { return &IP4ArpEvent{} } // WantIP6NdEvents represents the VPP binary API message 'want_ip6_nd_events'. -// Generated from '../../bin_api/ip.api.json', line 1826: +// Generated from 'ip.api.json', line 1865: // // "want_ip6_nd_events", // [ @@ -2863,25 +3617,25 @@ func NewIP4ArpEvent() api.Message { // type WantIP6NdEvents struct { EnableDisable uint8 - Pid uint32 + PID uint32 Address []byte `struc:"[16]byte"` } func (*WantIP6NdEvents) GetMessageName() string { return "want_ip6_nd_events" } -func (*WantIP6NdEvents) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*WantIP6NdEvents) GetCrcString() string { return "1cf65fbb" } +func (*WantIP6NdEvents) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewWantIP6NdEvents() api.Message { return &WantIP6NdEvents{} } // WantIP6NdEventsReply represents the VPP binary API message 'want_ip6_nd_events_reply'. -// Generated from '../../bin_api/ip.api.json', line 1857: +// Generated from 'ip.api.json', line 1896: // // "want_ip6_nd_events_reply", // [ @@ -2907,18 +3661,18 @@ type WantIP6NdEventsReply struct { func (*WantIP6NdEventsReply) GetMessageName() string { return "want_ip6_nd_events_reply" } -func (*WantIP6NdEventsReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*WantIP6NdEventsReply) GetCrcString() string { return "e8d4e804" } +func (*WantIP6NdEventsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewWantIP6NdEventsReply() api.Message { return &WantIP6NdEventsReply{} } // IP6NdEvent represents the VPP binary API message 'ip6_nd_event'. -// Generated from '../../bin_api/ip.api.json', line 1875: +// Generated from 'ip.api.json', line 1914: // // "ip6_nd_event", // [ @@ -2956,7 +3710,7 @@ func NewWantIP6NdEventsReply() api.Message { // } // type IP6NdEvent struct { - Pid uint32 + PID uint32 SwIfIndex uint32 Address []byte `struc:"[16]byte"` NewMac []byte `struc:"[6]byte"` @@ -2966,20 +3720,20 @@ type IP6NdEvent struct { func (*IP6NdEvent) GetMessageName() string { return "ip6_nd_event" } -func (*IP6NdEvent) GetMessageType() api.MessageType { - return api.EventMessage -} func (*IP6NdEvent) GetCrcString() string { return "96ab2fdd" } +func (*IP6NdEvent) GetMessageType() api.MessageType { + return api.EventMessage +} func NewIP6NdEvent() api.Message { return &IP6NdEvent{} } -// ProxyArpAddDel represents the VPP binary API message 'proxy_arp_add_del'. -// Generated from '../../bin_api/ip.api.json', line 1911: +// WantIP6RaEvents represents the VPP binary API message 'want_ip6_ra_events'. +// Generated from 'ip.api.json', line 1950: // -// "proxy_arp_add_del", +// "want_ip6_ra_events", // [ // "u16", // "_vl_msg_id" @@ -2993,49 +3747,205 @@ func NewIP6NdEvent() api.Message { // "context" // ], // [ +// "u8", +// "enable_disable" +// ], +// [ // "u32", -// "vrf_id" +// "pid" +// ], +// { +// "crc": "0x05b454b5" +// } +// +type WantIP6RaEvents struct { + EnableDisable uint8 + PID uint32 +} + +func (*WantIP6RaEvents) GetMessageName() string { + return "want_ip6_ra_events" +} +func (*WantIP6RaEvents) GetCrcString() string { + return "05b454b5" +} +func (*WantIP6RaEvents) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewWantIP6RaEvents() api.Message { + return &WantIP6RaEvents{} +} + +// WantIP6RaEventsReply represents the VPP binary API message 'want_ip6_ra_events_reply'. +// Generated from 'ip.api.json', line 1976: +// +// "want_ip6_ra_events_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantIP6RaEventsReply struct { + Retval int32 +} + +func (*WantIP6RaEventsReply) GetMessageName() string { + return "want_ip6_ra_events_reply" +} +func (*WantIP6RaEventsReply) GetCrcString() string { + return "e8d4e804" +} +func (*WantIP6RaEventsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewWantIP6RaEventsReply() api.Message { + return &WantIP6RaEventsReply{} +} + +// IP6RaEvent represents the VPP binary API message 'ip6_ra_event'. +// Generated from 'ip.api.json', line 1994: +// +// "ip6_ra_event", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" // ], // [ // "u8", -// "is_add" +// "router_address", +// 16 // ], // [ // "u8", -// "low_address", -// 4 +// "current_hop_limit" // ], // [ // "u8", -// "hi_address", -// 4 +// "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" +// ], +// { +// "crc": "0xc5e54257" +// } +// +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 (*IP6RaEvent) GetMessageName() string { + return "ip6_ra_event" +} +func (*IP6RaEvent) GetCrcString() string { + return "c5e54257" +} +func (*IP6RaEvent) GetMessageType() api.MessageType { + return api.EventMessage +} +func NewIP6RaEvent() api.Message { + return &IP6RaEvent{} +} + +// ProxyArpAddDel represents the VPP binary API message 'proxy_arp_add_del'. +// Generated from 'ip.api.json', line 2051: +// +// "proxy_arp_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "vl_api_proxy_arp_t", +// "proxy" // ], // { -// "crc": "0xc2442918" +// "crc": "0x227988d9" // } // type ProxyArpAddDel struct { - VrfID uint32 - IsAdd uint8 - LowAddress []byte `struc:"[4]byte"` - HiAddress []byte `struc:"[4]byte"` + IsAdd uint8 + Proxy ProxyArp } func (*ProxyArpAddDel) GetMessageName() string { return "proxy_arp_add_del" } +func (*ProxyArpAddDel) GetCrcString() string { + return "227988d9" +} func (*ProxyArpAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -func (*ProxyArpAddDel) GetCrcString() string { - return "c2442918" -} func NewProxyArpAddDel() api.Message { return &ProxyArpAddDel{} } // ProxyArpAddDelReply represents the VPP binary API message 'proxy_arp_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 1947: +// Generated from 'ip.api.json', line 2077: // // "proxy_arp_add_del_reply", // [ @@ -3061,18 +3971,90 @@ type ProxyArpAddDelReply struct { func (*ProxyArpAddDelReply) GetMessageName() string { return "proxy_arp_add_del_reply" } -func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*ProxyArpAddDelReply) GetCrcString() string { return "e8d4e804" } +func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewProxyArpAddDelReply() api.Message { return &ProxyArpAddDelReply{} } +// ProxyArpDump represents the VPP binary API message 'proxy_arp_dump'. +// Generated from 'ip.api.json', line 2095: +// +// "proxy_arp_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } +// +type ProxyArpDump struct{} + +func (*ProxyArpDump) GetMessageName() string { + return "proxy_arp_dump" +} +func (*ProxyArpDump) GetCrcString() string { + return "51077d14" +} +func (*ProxyArpDump) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewProxyArpDump() api.Message { + return &ProxyArpDump{} +} + +// ProxyArpDetails represents the VPP binary API message 'proxy_arp_details'. +// Generated from 'ip.api.json', line 2113: +// +// "proxy_arp_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "vl_api_proxy_arp_t", +// "proxy" +// ], +// { +// "crc": "0x9b707c77" +// } +// +type ProxyArpDetails struct { + Proxy ProxyArp +} + +func (*ProxyArpDetails) GetMessageName() string { + return "proxy_arp_details" +} +func (*ProxyArpDetails) GetCrcString() string { + return "9b707c77" +} +func (*ProxyArpDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewProxyArpDetails() api.Message { + return &ProxyArpDetails{} +} + // ProxyArpIntfcEnableDisable represents the VPP binary API message 'proxy_arp_intfc_enable_disable'. -// Generated from '../../bin_api/ip.api.json', line 1965: +// Generated from 'ip.api.json', line 2131: // // "proxy_arp_intfc_enable_disable", // [ @@ -3107,18 +4089,18 @@ type ProxyArpIntfcEnableDisable struct { func (*ProxyArpIntfcEnableDisable) GetMessageName() string { return "proxy_arp_intfc_enable_disable" } -func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*ProxyArpIntfcEnableDisable) GetCrcString() string { return "69d24598" } +func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewProxyArpIntfcEnableDisable() api.Message { return &ProxyArpIntfcEnableDisable{} } // ProxyArpIntfcEnableDisableReply represents the VPP binary API message 'proxy_arp_intfc_enable_disable_reply'. -// Generated from '../../bin_api/ip.api.json', line 1991: +// Generated from 'ip.api.json', line 2157: // // "proxy_arp_intfc_enable_disable_reply", // [ @@ -3144,18 +4126,90 @@ type ProxyArpIntfcEnableDisableReply struct { func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string { return "proxy_arp_intfc_enable_disable_reply" } -func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string { return "e8d4e804" } +func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewProxyArpIntfcEnableDisableReply() api.Message { return &ProxyArpIntfcEnableDisableReply{} } +// ProxyArpIntfcDump represents the VPP binary API message 'proxy_arp_intfc_dump'. +// Generated from 'ip.api.json', line 2175: +// +// "proxy_arp_intfc_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "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 +} +func NewProxyArpIntfcDump() api.Message { + return &ProxyArpIntfcDump{} +} + +// ProxyArpIntfcDetails represents the VPP binary API message 'proxy_arp_intfc_details'. +// Generated from 'ip.api.json', line 2193: +// +// "proxy_arp_intfc_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "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 +} +func NewProxyArpIntfcDetails() api.Message { + return &ProxyArpIntfcDetails{} +} + // ResetFib represents the VPP binary API message 'reset_fib'. -// Generated from '../../bin_api/ip.api.json', line 2009: +// Generated from 'ip.api.json', line 2211: // // "reset_fib", // [ @@ -3184,24 +4238,24 @@ func NewProxyArpIntfcEnableDisableReply() api.Message { // type ResetFib struct { VrfID uint32 - IsIpv6 uint8 + IsIPv6 uint8 } func (*ResetFib) GetMessageName() string { return "reset_fib" } -func (*ResetFib) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*ResetFib) GetCrcString() string { return "8553ebd9" } +func (*ResetFib) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewResetFib() api.Message { return &ResetFib{} } // ResetFibReply represents the VPP binary API message 'reset_fib_reply'. -// Generated from '../../bin_api/ip.api.json', line 2035: +// Generated from 'ip.api.json', line 2237: // // "reset_fib_reply", // [ @@ -3227,18 +4281,18 @@ type ResetFibReply struct { func (*ResetFibReply) GetMessageName() string { return "reset_fib_reply" } -func (*ResetFibReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*ResetFibReply) GetCrcString() string { return "e8d4e804" } +func (*ResetFibReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewResetFibReply() api.Message { return &ResetFibReply{} } // SetArpNeighborLimit represents the VPP binary API message 'set_arp_neighbor_limit'. -// Generated from '../../bin_api/ip.api.json', line 2053: +// Generated from 'ip.api.json', line 2255: // // "set_arp_neighbor_limit", // [ @@ -3266,25 +4320,25 @@ func NewResetFibReply() api.Message { // } // type SetArpNeighborLimit struct { - IsIpv6 uint8 + IsIPv6 uint8 ArpNeighborLimit uint32 } func (*SetArpNeighborLimit) GetMessageName() string { return "set_arp_neighbor_limit" } -func (*SetArpNeighborLimit) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*SetArpNeighborLimit) GetCrcString() string { return "97d01fd6" } +func (*SetArpNeighborLimit) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewSetArpNeighborLimit() api.Message { return &SetArpNeighborLimit{} } // SetArpNeighborLimitReply represents the VPP binary API message 'set_arp_neighbor_limit_reply'. -// Generated from '../../bin_api/ip.api.json', line 2079: +// Generated from 'ip.api.json', line 2281: // // "set_arp_neighbor_limit_reply", // [ @@ -3310,18 +4364,18 @@ type SetArpNeighborLimitReply struct { func (*SetArpNeighborLimitReply) GetMessageName() string { return "set_arp_neighbor_limit_reply" } -func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*SetArpNeighborLimitReply) GetCrcString() string { return "e8d4e804" } +func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewSetArpNeighborLimitReply() api.Message { return &SetArpNeighborLimitReply{} } // IoamEnable represents the VPP binary API message 'ioam_enable'. -// Generated from '../../bin_api/ip.api.json', line 2097: +// Generated from 'ip.api.json', line 2299: // // "ioam_enable", // [ @@ -3376,18 +4430,18 @@ type IoamEnable struct { func (*IoamEnable) GetMessageName() string { return "ioam_enable" } -func (*IoamEnable) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IoamEnable) GetCrcString() string { return "9392e032" } +func (*IoamEnable) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIoamEnable() api.Message { return &IoamEnable{} } // IoamEnableReply represents the VPP binary API message 'ioam_enable_reply'. -// Generated from '../../bin_api/ip.api.json', line 2139: +// Generated from 'ip.api.json', line 2341: // // "ioam_enable_reply", // [ @@ -3413,18 +4467,18 @@ type IoamEnableReply struct { func (*IoamEnableReply) GetMessageName() string { return "ioam_enable_reply" } -func (*IoamEnableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IoamEnableReply) GetCrcString() string { return "e8d4e804" } +func (*IoamEnableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIoamEnableReply() api.Message { return &IoamEnableReply{} } // IoamDisable represents the VPP binary API message 'ioam_disable'. -// Generated from '../../bin_api/ip.api.json', line 2157: +// Generated from 'ip.api.json', line 2359: // // "ioam_disable", // [ @@ -3454,18 +4508,18 @@ type IoamDisable struct { func (*IoamDisable) GetMessageName() string { return "ioam_disable" } -func (*IoamDisable) GetMessageType() api.MessageType { - return api.RequestMessage -} func (*IoamDisable) GetCrcString() string { return "6b16a45e" } +func (*IoamDisable) GetMessageType() api.MessageType { + return api.RequestMessage +} func NewIoamDisable() api.Message { return &IoamDisable{} } // IoamDisableReply represents the VPP binary API message 'ioam_disable_reply'. -// Generated from '../../bin_api/ip.api.json', line 2179: +// Generated from 'ip.api.json', line 2381: // // "ioam_disable_reply", // [ @@ -3491,12 +4545,432 @@ type IoamDisableReply struct { func (*IoamDisableReply) GetMessageName() string { return "ioam_disable_reply" } -func (*IoamDisableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} func (*IoamDisableReply) GetCrcString() string { return "e8d4e804" } +func (*IoamDisableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} func NewIoamDisableReply() api.Message { return &IoamDisableReply{} } + +// IPReassemblySet represents the VPP binary API message 'ip_reassembly_set'. +// Generated from 'ip.api.json', line 2399: +// +// "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 +} +func NewIPReassemblySet() api.Message { + return &IPReassemblySet{} +} + +// IPReassemblySetReply represents the VPP binary API message 'ip_reassembly_set_reply'. +// Generated from 'ip.api.json', line 2433: +// +// "ip_reassembly_set_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPReassemblySetReply struct { + Retval int32 +} + +func (*IPReassemblySetReply) GetMessageName() string { + return "ip_reassembly_set_reply" +} +func (*IPReassemblySetReply) GetCrcString() string { + return "e8d4e804" +} +func (*IPReassemblySetReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func NewIPReassemblySetReply() api.Message { + return &IPReassemblySetReply{} +} + +// IPReassemblyGet represents the VPP binary API message 'ip_reassembly_get'. +// Generated from 'ip.api.json', line 2451: +// +// "ip_reassembly_get", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "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 +} +func NewIPReassemblyGet() api.Message { + return &IPReassemblyGet{} +} + +// IPReassemblyGetReply represents the VPP binary API message 'ip_reassembly_get_reply'. +// Generated from 'ip.api.json', line 2473: +// +// "ip_reassembly_get_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "timeout_ms" +// ], +// [ +// "u32", +// "max_reassemblies" +// ], +// [ +// "u32", +// "expire_walk_interval_ms" +// ], +// [ +// "u8", +// "is_ip6" +// ], +// { +// "crc": "0xd746fc57" +// } +// +type IPReassemblyGetReply struct { + Retval int32 + TimeoutMs uint32 + MaxReassemblies uint32 + ExpireWalkIntervalMs uint32 + IsIP6 uint8 +} + +func (*IPReassemblyGetReply) GetMessageName() string { + return "ip_reassembly_get_reply" +} +func (*IPReassemblyGetReply) GetCrcString() string { + return "d746fc57" +} +func (*IPReassemblyGetReply) GetMessageType() api.MessageType { + return api.RequestMessage +} +func NewIPReassemblyGetReply() api.Message { + return &IPReassemblyGetReply{} +} + +// IPReassemblyEnableDisable represents the VPP binary API message 'ip_reassembly_enable_disable'. +// Generated from 'ip.api.json', line 2511: +// +// "ip_reassembly_enable_disable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "enable_ip4" +// ], +// [ +// "u8", +// "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 +} +func NewIPReassemblyEnableDisable() api.Message { + return &IPReassemblyEnableDisable{} +} + +// IPReassemblyEnableDisableReply represents the VPP binary API message 'ip_reassembly_enable_disable_reply'. +// Generated from 'ip.api.json', line 2541: +// +// "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 +} +func NewIPReassemblyEnableDisableReply() api.Message { + return &IPReassemblyEnableDisableReply{} +} + +/* Services */ + +type Services interface { + DumpIP6Fib(*IP6FibDump) (*IP6FibDetails, error) + DumpIP6Mfib(*IP6MfibDump) (*IP6MfibDetails, error) + DumpIP6ndProxy(*IP6ndProxyDump) (*IP6ndProxyDetails, error) + DumpIPAddress(*IPAddressDump) (*IPAddressDetails, error) + DumpIP(*IPDump) (*IPDetails, error) + DumpIPFib(*IPFibDump) (*IPFibDetails, error) + DumpIPMfib(*IPMfibDump) (*IPMfibDetails, error) + DumpIPNeighbor(*IPNeighborDump) (*IPNeighborDetails, error) + DumpIPUnnumbered(*IPUnnumberedDump) (*IPUnnumberedDetails, error) + DumpMfibSignal(*MfibSignalDump) (*MfibSignalDetails, error) + DumpProxyArp(*ProxyArpDump) (*ProxyArpDetails, error) + DumpProxyArpIntfc(*ProxyArpIntfcDump) (*ProxyArpIntfcDetails, error) + IoamDisable(*IoamDisable) (*IoamDisableReply, error) + IoamEnable(*IoamEnable) (*IoamEnableReply, error) + IP6ndProxyAddDel(*IP6ndProxyAddDel) (*IP6ndProxyAddDelReply, error) + IP6ndSendRouterSolicitation(*IP6ndSendRouterSolicitation) (*IP6ndSendRouterSolicitationReply, error) + IPAddDelRoute(*IPAddDelRoute) (*IPAddDelRouteReply, error) + IPContainerProxyAddDel(*IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error) + IPMrouteAddDel(*IPMrouteAddDel) (*IPMrouteAddDelReply, error) + IPNeighborAddDel(*IPNeighborAddDel) (*IPNeighborAddDelReply, error) + IPProbeNeighbor(*IPProbeNeighbor) (*IPProbeNeighborReply, error) + IPPuntPolice(*IPPuntPolice) (*IPPuntPoliceReply, error) + IPPuntRedirect(*IPPuntRedirect) (*IPPuntRedirectReply, error) + IPReassemblyEnableDisable(*IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error) + IPReassemblyGet(*IPReassemblyGet) (*IPReassemblyGetReply, error) + IPReassemblySet(*IPReassemblySet) (*IPReassemblySetReply, error) + IPScanNeighborEnableDisable(*IPScanNeighborEnableDisable) (*IPScanNeighborEnableDisableReply, error) + IPSourceAndPortRangeCheckAddDel(*IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error) + IPSourceAndPortRangeCheckInterfaceAddDel(*IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error) + IPTableAddDel(*IPTableAddDel) (*IPTableAddDelReply, error) + ProxyArpAddDel(*ProxyArpAddDel) (*ProxyArpAddDelReply, error) + ProxyArpIntfcEnableDisable(*ProxyArpIntfcEnableDisable) (*ProxyArpIntfcEnableDisableReply, error) + ResetFib(*ResetFib) (*ResetFibReply, error) + SetArpNeighborLimit(*SetArpNeighborLimit) (*SetArpNeighborLimitReply, error) + SetIPFlowHash(*SetIPFlowHash) (*SetIPFlowHashReply, error) + SwInterfaceIP6EnableDisable(*SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error) + SwInterfaceIP6SetLinkLocalAddress(*SwInterfaceIP6SetLinkLocalAddress) (*SwInterfaceIP6SetLinkLocalAddressReply, error) + SwInterfaceIP6ndRaConfig(*SwInterfaceIP6ndRaConfig) (*SwInterfaceIP6ndRaConfigReply, error) + SwInterfaceIP6ndRaPrefix(*SwInterfaceIP6ndRaPrefix) (*SwInterfaceIP6ndRaPrefixReply, error) + WantIP4ArpEvents(*WantIP4ArpEvents) (*WantIP4ArpEventsReply, error) + WantIP6NdEvents(*WantIP6NdEvents) (*WantIP6NdEventsReply, error) + WantIP6RaEvents(*WantIP6RaEvents) (*WantIP6RaEventsReply, error) +} + +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((*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((*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((*SwInterfaceIP6SetLinkLocalAddress)(nil), "ip.SwInterfaceIP6SetLinkLocalAddress") + api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddressReply)(nil), "ip.SwInterfaceIP6SetLinkLocalAddressReply") + 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((*IPDetails)(nil), "ip.IPDetails") + api.RegisterMessage((*IPDump)(nil), "ip.IPDump") + api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump") + api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails") + 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((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel") + api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply") + 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((*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((*ProxyArpAddDel)(nil), "ip.ProxyArpAddDel") + api.RegisterMessage((*ProxyArpAddDelReply)(nil), "ip.ProxyArpAddDelReply") + api.RegisterMessage((*ProxyArpDump)(nil), "ip.ProxyArpDump") + api.RegisterMessage((*ProxyArpDetails)(nil), "ip.ProxyArpDetails") + 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") +} |