Generator improvements
[govpp.git] / examples / bin_api / ip / ip.ba.go
index 8f31fd4..290abec 100644 (file)
@@ -5,13 +5,12 @@
  Package ip is a generated from VPP binary API module 'ip'.
 
  It contains following objects:
-        91 messages
-        11 types
-         3 aliases
+        44 services
          1 enum
+         3 aliases
+        11 types
          1 union
-        44 services
-
+        91 messages
 */
 package ip
 
@@ -303,124 +302,6 @@ func (*Address) GetCrcString() string {
        return "09f11671"
 }
 
-// Prefix represents VPP binary API type 'prefix':
-//
-//     "prefix",
-//     [
-//         "vl_api_address_t",
-//         "address"
-//     ],
-//     [
-//         "u8",
-//         "address_length"
-//     ],
-//     {
-//         "crc": "0x0403aebc"
-//     }
-//
-type Prefix struct {
-       Address       Address
-       AddressLength uint8
-}
-
-func (*Prefix) GetTypeName() string {
-       return "prefix"
-}
-func (*Prefix) GetCrcString() string {
-       return "0403aebc"
-}
-
-// Mprefix represents VPP binary API type 'mprefix':
-//
-//     "mprefix",
-//     [
-//         "vl_api_address_family_t",
-//         "af"
-//     ],
-//     [
-//         "u16",
-//         "grp_address_length"
-//     ],
-//     [
-//         "vl_api_address_union_t",
-//         "grp_address"
-//     ],
-//     [
-//         "vl_api_address_union_t",
-//         "src_address"
-//     ],
-//     {
-//         "crc": "0x1c4cba05"
-//     }
-//
-type Mprefix struct {
-       Af               AddressFamily
-       GrpAddressLength uint16
-       GrpAddress       AddressUnion
-       SrcAddress       AddressUnion
-}
-
-func (*Mprefix) GetTypeName() string {
-       return "mprefix"
-}
-func (*Mprefix) GetCrcString() string {
-       return "1c4cba05"
-}
-
-// IP6Prefix represents VPP binary API type 'ip6_prefix':
-//
-//     "ip6_prefix",
-//     [
-//         "vl_api_ip6_address_t",
-//         "prefix"
-//     ],
-//     [
-//         "u8",
-//         "len"
-//     ],
-//     {
-//         "crc": "0x779fd64f"
-//     }
-//
-type IP6Prefix struct {
-       Prefix IP6Address
-       Len    uint8
-}
-
-func (*IP6Prefix) GetTypeName() string {
-       return "ip6_prefix"
-}
-func (*IP6Prefix) GetCrcString() string {
-       return "779fd64f"
-}
-
-// IP4Prefix represents VPP binary API type 'ip4_prefix':
-//
-//     "ip4_prefix",
-//     [
-//         "vl_api_ip4_address_t",
-//         "prefix"
-//     ],
-//     [
-//         "u8",
-//         "len"
-//     ],
-//     {
-//         "crc": "0xea8dc11d"
-//     }
-//
-type IP4Prefix struct {
-       Prefix IP4Address
-       Len    uint8
-}
-
-func (*IP4Prefix) GetTypeName() string {
-       return "ip4_prefix"
-}
-func (*IP4Prefix) GetCrcString() string {
-       return "ea8dc11d"
-}
-
 // FibMplsLabel represents VPP binary API type 'fib_mpls_label':
 //
 //     "fib_mpls_label",
@@ -582,63 +463,58 @@ func (*FibPath) GetCrcString() string {
        return "ba7a81f0"
 }
 
-// MfibPath represents VPP binary API type 'mfib_path':
+// IP4Prefix represents VPP binary API type 'ip4_prefix':
 //
-//     "mfib_path",
+//     "ip4_prefix",
 //     [
-//         "vl_api_fib_path_t",
-//         "path"
+//         "vl_api_ip4_address_t",
+//         "prefix"
 //     ],
 //     [
-//         "u32",
-//         "itf_flags"
+//         "u8",
+//         "len"
 //     ],
 //     {
-//         "crc": "0x4ba77d32"
+//         "crc": "0xea8dc11d"
 //     }
 //
-type MfibPath struct {
-       Path     FibPath
-       ItfFlags uint32
+type IP4Prefix struct {
+       Prefix IP4Address
+       Len    uint8
 }
 
-func (*MfibPath) GetTypeName() string {
-       return "mfib_path"
+func (*IP4Prefix) GetTypeName() string {
+       return "ip4_prefix"
 }
-func (*MfibPath) GetCrcString() string {
-       return "4ba77d32"
+func (*IP4Prefix) GetCrcString() string {
+       return "ea8dc11d"
 }
 
-// PuntRedirect represents VPP binary API type 'punt_redirect':
+// IP6Prefix represents VPP binary API type 'ip6_prefix':
 //
-//     "punt_redirect",
-//     [
-//         "u32",
-//         "rx_sw_if_index"
-//     ],
+//     "ip6_prefix",
 //     [
-//         "u32",
-//         "tx_sw_if_index"
+//         "vl_api_ip6_address_t",
+//         "prefix"
 //     ],
 //     [
-//         "vl_api_address_t",
-//         "nh"
+//         "u8",
+//         "len"
 //     ],
 //     {
-//         "crc": "0x3e7a801f"
+//         "crc": "0x779fd64f"
 //     }
 //
-type PuntRedirect struct {
-       RxSwIfIndex uint32
-       TxSwIfIndex uint32
-       Nh          Address
+type IP6Prefix struct {
+       Prefix IP6Address
+       Len    uint8
 }
 
-func (*PuntRedirect) GetTypeName() string {
-       return "punt_redirect"
+func (*IP6Prefix) GetTypeName() string {
+       return "ip6_prefix"
 }
-func (*PuntRedirect) GetCrcString() string {
-       return "3e7a801f"
+func (*IP6Prefix) GetCrcString() string {
+       return "779fd64f"
 }
 
 // IP6RaPrefixInfo represents VPP binary API type 'ip6_ra_prefix_info':
@@ -684,483 +560,230 @@ func (*IP6RaPrefixInfo) GetCrcString() string {
        return "83d7c6e5"
 }
 
-// ProxyArp represents VPP binary API type 'proxy_arp':
+// MfibPath represents VPP binary API type 'mfib_path':
 //
-//     "proxy_arp",
-//     [
-//         "u32",
-//         "vrf_id"
-//     ],
+//     "mfib_path",
 //     [
-//         "u8",
-//         "low_address",
-//         4
+//         "vl_api_fib_path_t",
+//         "path"
 //     ],
 //     [
-//         "u8",
-//         "hi_address",
-//         4
+//         "u32",
+//         "itf_flags"
 //     ],
 //     {
-//         "crc": "0x6d88106e"
+//         "crc": "0x4ba77d32"
 //     }
 //
-type ProxyArp struct {
-       VrfID      uint32
-       LowAddress []byte `struc:"[4]byte"`
-       HiAddress  []byte `struc:"[4]byte"`
+type MfibPath struct {
+       Path     FibPath
+       ItfFlags uint32
 }
 
-func (*ProxyArp) GetTypeName() string {
-       return "proxy_arp"
+func (*MfibPath) GetTypeName() string {
+       return "mfib_path"
 }
-func (*ProxyArp) GetCrcString() string {
-       return "6d88106e"
+func (*MfibPath) GetCrcString() string {
+       return "4ba77d32"
 }
 
-/* Unions */
-
-// AddressUnion represents VPP binary API union 'address_union':
+// Mprefix represents VPP binary API type 'mprefix':
 //
-//     "address_union",
+//     "mprefix",
 //     [
-//         "vl_api_ip4_address_t",
-//         "ip4"
+//         "vl_api_address_family_t",
+//         "af"
 //     ],
 //     [
-//         "vl_api_ip6_address_t",
-//         "ip6"
+//         "u16",
+//         "grp_address_length"
+//     ],
+//     [
+//         "vl_api_address_union_t",
+//         "grp_address"
+//     ],
+//     [
+//         "vl_api_address_union_t",
+//         "src_address"
 //     ],
 //     {
-//         "crc": "0xd68a2fb4"
+//         "crc": "0x1c4cba05"
 //     }
 //
-type AddressUnion struct {
-       Union_data [16]byte
+type Mprefix struct {
+       Af               AddressFamily
+       GrpAddressLength uint16
+       GrpAddress       AddressUnion
+       SrcAddress       AddressUnion
 }
 
-func (*AddressUnion) GetTypeName() string {
-       return "address_union"
-}
-func (*AddressUnion) GetCrcString() string {
-       return "d68a2fb4"
-}
-
-func (u *AddressUnion) SetIP4(a IP4Address) {
-       var b = new(bytes.Buffer)
-       if err := struc.Pack(b, &a); err != nil {
-               return
-       }
-       copy(u.Union_data[:], b.Bytes())
-}
-func (u *AddressUnion) GetIP4() (a IP4Address) {
-       var b = bytes.NewReader(u.Union_data[:])
-       struc.Unpack(b, &a)
-       return
-}
-
-func (u *AddressUnion) SetIP6(a IP6Address) {
-       var b = new(bytes.Buffer)
-       if err := struc.Pack(b, &a); err != nil {
-               return
-       }
-       copy(u.Union_data[:], b.Bytes())
+func (*Mprefix) GetTypeName() string {
+       return "mprefix"
 }
-func (u *AddressUnion) GetIP6() (a IP6Address) {
-       var b = bytes.NewReader(u.Union_data[:])
-       struc.Unpack(b, &a)
-       return
+func (*Mprefix) GetCrcString() string {
+       return "1c4cba05"
 }
 
-/* Messages */
-
-// IPTableAddDel represents VPP binary API message 'ip_table_add_del':
+// Prefix represents VPP binary API type 'prefix':
 //
-//     "ip_table_add_del",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "table_id"
-//     ],
-//     [
-//         "u8",
-//         "is_ipv6"
-//     ],
+//     "prefix",
 //     [
-//         "u8",
-//         "is_add"
+//         "vl_api_address_t",
+//         "address"
 //     ],
 //     [
 //         "u8",
-//         "name",
-//         64
-//     ],
-//     {
-//         "crc": "0x0240c89d"
-//     }
-//
-type IPTableAddDel struct {
-       TableID uint32
-       IsIPv6  uint8
-       IsAdd   uint8
-       Name    []byte `struc:"[64]byte"`
-}
-
-func (*IPTableAddDel) GetMessageName() string {
-       return "ip_table_add_del"
-}
-func (*IPTableAddDel) GetCrcString() string {
-       return "0240c89d"
-}
-func (*IPTableAddDel) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply':
-//
-//     "ip_table_add_del_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
+//         "address_length"
 //     ],
 //     {
-//         "crc": "0xe8d4e804"
+//         "crc": "0x0403aebc"
 //     }
 //
-type IPTableAddDelReply struct {
-       Retval int32
-}
-
-func (*IPTableAddDelReply) GetMessageName() string {
-       return "ip_table_add_del_reply"
-}
-func (*IPTableAddDelReply) GetCrcString() string {
-       return "e8d4e804"
-}
-func (*IPTableAddDelReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
+type Prefix struct {
+       Address       Address
+       AddressLength uint8
 }
 
-// IPFibDump represents VPP binary API message 'ip_fib_dump':
-//
-//     "ip_fib_dump",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     {
-//         "crc": "0x51077d14"
-//     }
-//
-type IPFibDump struct{}
-
-func (*IPFibDump) GetMessageName() string {
-       return "ip_fib_dump"
-}
-func (*IPFibDump) GetCrcString() string {
-       return "51077d14"
+func (*Prefix) GetTypeName() string {
+       return "prefix"
 }
-func (*IPFibDump) GetMessageType() api.MessageType {
-       return api.RequestMessage
+func (*Prefix) GetCrcString() string {
+       return "0403aebc"
 }
 
-// IPFibDetails represents VPP binary API message 'ip_fib_details':
+// ProxyArp represents VPP binary API type 'proxy_arp':
 //
-//     "ip_fib_details",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
+//     "proxy_arp",
 //     [
 //         "u32",
-//         "table_id"
-//     ],
-//     [
-//         "u8",
-//         "table_name",
-//         64
+//         "vrf_id"
 //     ],
 //     [
 //         "u8",
-//         "address_length"
+//         "low_address",
+//         4
 //     ],
 //     [
 //         "u8",
-//         "address",
+//         "hi_address",
 //         4
 //     ],
-//     [
-//         "u32",
-//         "count"
-//     ],
-//     [
-//         "u32",
-//         "stats_index"
-//     ],
-//     [
-//         "vl_api_fib_path_t",
-//         "path",
-//         0,
-//         "count"
-//     ],
 //     {
-//         "crc": "0xf6a2fab3"
+//         "crc": "0x6d88106e"
 //     }
 //
-type IPFibDetails struct {
-       TableID       uint32
-       TableName     []byte `struc:"[64]byte"`
-       AddressLength uint8
-       Address       []byte `struc:"[4]byte"`
-       Count         uint32 `struc:"sizeof=Path"`
-       StatsIndex    uint32
-       Path          []FibPath
-}
-
-func (*IPFibDetails) GetMessageName() string {
-       return "ip_fib_details"
-}
-func (*IPFibDetails) GetCrcString() string {
-       return "f6a2fab3"
-}
-func (*IPFibDetails) GetMessageType() api.MessageType {
-       return api.ReplyMessage
+type ProxyArp struct {
+       VrfID      uint32
+       LowAddress []byte `struc:"[4]byte"`
+       HiAddress  []byte `struc:"[4]byte"`
 }
 
-// IP6FibDump represents VPP binary API message 'ip6_fib_dump':
-//
-//     "ip6_fib_dump",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     {
-//         "crc": "0x51077d14"
-//     }
-//
-type IP6FibDump struct{}
-
-func (*IP6FibDump) GetMessageName() string {
-       return "ip6_fib_dump"
-}
-func (*IP6FibDump) GetCrcString() string {
-       return "51077d14"
+func (*ProxyArp) GetTypeName() string {
+       return "proxy_arp"
 }
-func (*IP6FibDump) GetMessageType() api.MessageType {
-       return api.RequestMessage
+func (*ProxyArp) GetCrcString() string {
+       return "6d88106e"
 }
 
-// IP6FibDetails represents VPP binary API message 'ip6_fib_details':
+// PuntRedirect represents VPP binary API type 'punt_redirect':
 //
-//     "ip6_fib_details",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "table_id"
-//     ],
-//     [
-//         "u8",
-//         "table_name",
-//         64
-//     ],
-//     [
-//         "u8",
-//         "address_length"
-//     ],
-//     [
-//         "u8",
-//         "address",
-//         16
-//     ],
+//     "punt_redirect",
 //     [
 //         "u32",
-//         "count"
+//         "rx_sw_if_index"
 //     ],
 //     [
 //         "u32",
-//         "stats_index"
+//         "tx_sw_if_index"
 //     ],
 //     [
-//         "vl_api_fib_path_t",
-//         "path",
-//         0,
-//         "count"
+//         "vl_api_address_t",
+//         "nh"
 //     ],
 //     {
-//         "crc": "0xef11e94d"
+//         "crc": "0x3e7a801f"
 //     }
 //
-type IP6FibDetails struct {
-       TableID       uint32
-       TableName     []byte `struc:"[64]byte"`
-       AddressLength uint8
-       Address       []byte `struc:"[16]byte"`
-       Count         uint32 `struc:"sizeof=Path"`
-       StatsIndex    uint32
-       Path          []FibPath
+type PuntRedirect struct {
+       RxSwIfIndex uint32
+       TxSwIfIndex uint32
+       Nh          Address
 }
 
-func (*IP6FibDetails) GetMessageName() string {
-       return "ip6_fib_details"
-}
-func (*IP6FibDetails) GetCrcString() string {
-       return "ef11e94d"
+func (*PuntRedirect) GetTypeName() string {
+       return "punt_redirect"
 }
-func (*IP6FibDetails) GetMessageType() api.MessageType {
-       return api.ReplyMessage
+func (*PuntRedirect) GetCrcString() string {
+       return "3e7a801f"
 }
 
-// IPNeighborDump represents VPP binary API message 'ip_neighbor_dump':
+/* Unions */
+
+// AddressUnion represents VPP binary API union 'address_union':
 //
-//     "ip_neighbor_dump",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
+//     "address_union",
 //     [
-//         "u32",
-//         "sw_if_index"
+//         "vl_api_ip4_address_t",
+//         "ip4"
 //     ],
 //     [
-//         "u8",
-//         "is_ipv6"
+//         "vl_api_ip6_address_t",
+//         "ip6"
 //     ],
 //     {
-//         "crc": "0x6b7bcd0a"
+//         "crc": "0xd68a2fb4"
 //     }
 //
-type IPNeighborDump struct {
-       SwIfIndex uint32
-       IsIPv6    uint8
+type AddressUnion struct {
+       Union_data [16]byte
 }
 
-func (*IPNeighborDump) GetMessageName() string {
-       return "ip_neighbor_dump"
-}
-func (*IPNeighborDump) GetCrcString() string {
-       return "6b7bcd0a"
+func (*AddressUnion) GetTypeName() string {
+       return "address_union"
 }
-func (*IPNeighborDump) GetMessageType() api.MessageType {
-       return api.RequestMessage
+func (*AddressUnion) GetCrcString() string {
+       return "d68a2fb4"
 }
 
-// IPNeighborDetails represents VPP binary API message 'ip_neighbor_details':
-//
-//     "ip_neighbor_details",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "stats_index"
-//     ],
-//     [
-//         "u8",
-//         "is_static"
-//     ],
-//     [
-//         "u8",
-//         "is_ipv6"
-//     ],
-//     [
-//         "u8",
-//         "mac_address",
-//         6
-//     ],
-//     [
-//         "u8",
-//         "ip_address",
-//         16
-//     ],
-//     {
-//         "crc": "0xc7001770"
-//     }
-//
-type IPNeighborDetails struct {
-       SwIfIndex  uint32
-       StatsIndex uint32
-       IsStatic   uint8
-       IsIPv6     uint8
-       MacAddress []byte `struc:"[6]byte"`
-       IPAddress  []byte `struc:"[16]byte"`
+func AddressUnionIP4(a IP4Address) (u AddressUnion) {
+       u.SetIP4(a)
+       return
+}
+func (u *AddressUnion) SetIP4(a IP4Address) {
+       var b = new(bytes.Buffer)
+       if err := struc.Pack(b, &a); err != nil {
+               return
+       }
+       copy(u.Union_data[:], b.Bytes())
+}
+func (u *AddressUnion) GetIP4() (a IP4Address) {
+       var b = bytes.NewReader(u.Union_data[:])
+       struc.Unpack(b, &a)
+       return
 }
 
-func (*IPNeighborDetails) GetMessageName() string {
-       return "ip_neighbor_details"
+func AddressUnionIP6(a IP6Address) (u AddressUnion) {
+       u.SetIP6(a)
+       return
 }
-func (*IPNeighborDetails) GetCrcString() string {
-       return "c7001770"
+func (u *AddressUnion) SetIP6(a IP6Address) {
+       var b = new(bytes.Buffer)
+       if err := struc.Pack(b, &a); err != nil {
+               return
+       }
+       copy(u.Union_data[:], b.Bytes())
 }
-func (*IPNeighborDetails) GetMessageType() api.MessageType {
-       return api.ReplyMessage
+func (u *AddressUnion) GetIP6() (a IP6Address) {
+       var b = bytes.NewReader(u.Union_data[:])
+       struc.Unpack(b, &a)
+       return
 }
 
-// IPNeighborAddDel represents VPP binary API message 'ip_neighbor_add_del':
+/* Messages */
+
+// IoamDisable represents VPP binary API message 'ioam_disable':
 //
-//     "ip_neighbor_add_del",
+//     "ioam_disable",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -1174,62 +797,30 @@ func (*IPNeighborDetails) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "is_add"
-//     ],
-//     [
-//         "u8",
-//         "is_ipv6"
-//     ],
-//     [
-//         "u8",
-//         "is_static"
-//     ],
-//     [
-//         "u8",
-//         "is_no_adj_fib"
-//     ],
-//     [
-//         "u8",
-//         "mac_address",
-//         6
-//     ],
-//     [
-//         "u8",
-//         "dst_address",
-//         16
+//         "u16",
+//         "id"
 //     ],
 //     {
-//         "crc": "0x4711eb25"
+//         "crc": "0x6b16a45e"
 //     }
 //
-type IPNeighborAddDel struct {
-       SwIfIndex  uint32
-       IsAdd      uint8
-       IsIPv6     uint8
-       IsStatic   uint8
-       IsNoAdjFib uint8
-       MacAddress []byte `struc:"[6]byte"`
-       DstAddress []byte `struc:"[16]byte"`
+type IoamDisable struct {
+       ID uint16
 }
 
-func (*IPNeighborAddDel) GetMessageName() string {
-       return "ip_neighbor_add_del"
+func (*IoamDisable) GetMessageName() string {
+       return "ioam_disable"
 }
-func (*IPNeighborAddDel) GetCrcString() string {
-       return "4711eb25"
+func (*IoamDisable) GetCrcString() string {
+       return "6b16a45e"
 }
-func (*IPNeighborAddDel) GetMessageType() api.MessageType {
+func (*IoamDisable) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPNeighborAddDelReply represents VPP binary API message 'ip_neighbor_add_del_reply':
+// IoamDisableReply represents VPP binary API message 'ioam_disable_reply':
 //
-//     "ip_neighbor_add_del_reply",
+//     "ioam_disable_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -1242,32 +833,27 @@ func (*IPNeighborAddDel) GetMessageType() api.MessageType {
 //         "i32",
 //         "retval"
 //     ],
-//     [
-//         "u32",
-//         "stats_index"
-//     ],
 //     {
-//         "crc": "0x1992deab"
+//         "crc": "0xe8d4e804"
 //     }
 //
-type IPNeighborAddDelReply struct {
-       Retval     int32
-       StatsIndex uint32
+type IoamDisableReply struct {
+       Retval int32
 }
 
-func (*IPNeighborAddDelReply) GetMessageName() string {
-       return "ip_neighbor_add_del_reply"
-}
-func (*IPNeighborAddDelReply) GetCrcString() string {
-       return "1992deab"
+func (*IoamDisableReply) GetMessageName() string {
+       return "ioam_disable_reply"
 }
-func (*IPNeighborAddDelReply) GetMessageType() api.MessageType {
+func (*IoamDisableReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*IoamDisableReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash':
+// IoamEnable represents VPP binary API message 'ioam_enable':
 //
-//     "set_ip_flow_hash",
+//     "ioam_enable",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -1281,70 +867,55 @@ func (*IPNeighborAddDelReply) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u32",
-//         "vrf_id"
-//     ],
-//     [
-//         "u8",
-//         "is_ipv6"
-//     ],
-//     [
-//         "u8",
-//         "src"
-//     ],
-//     [
-//         "u8",
-//         "dst"
+//         "u16",
+//         "id"
 //     ],
 //     [
 //         "u8",
-//         "sport"
+//         "seqno"
 //     ],
 //     [
 //         "u8",
-//         "dport"
+//         "analyse"
 //     ],
 //     [
 //         "u8",
-//         "proto"
+//         "pot_enable"
 //     ],
 //     [
 //         "u8",
-//         "reverse"
+//         "trace_enable"
 //     ],
 //     [
-//         "u8",
-//         "symmetric"
+//         "u32",
+//         "node_id"
 //     ],
 //     {
-//         "crc": "0xa9084bfb"
+//         "crc": "0x9392e032"
 //     }
 //
-type SetIPFlowHash struct {
-       VrfID     uint32
-       IsIPv6    uint8
-       Src       uint8
-       Dst       uint8
-       Sport     uint8
-       Dport     uint8
-       Proto     uint8
-       Reverse   uint8
-       Symmetric uint8
+type IoamEnable struct {
+       ID          uint16
+       Seqno       uint8
+       Analyse     uint8
+       PotEnable   uint8
+       TraceEnable uint8
+       NodeID      uint32
 }
 
-func (*SetIPFlowHash) GetMessageName() string {
-       return "set_ip_flow_hash"
+func (*IoamEnable) GetMessageName() string {
+       return "ioam_enable"
 }
-func (*SetIPFlowHash) GetCrcString() string {
-       return "a9084bfb"
+func (*IoamEnable) GetCrcString() string {
+       return "9392e032"
 }
-func (*SetIPFlowHash) GetMessageType() api.MessageType {
+func (*IoamEnable) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply':
+// IoamEnableReply represents VPP binary API message 'ioam_enable_reply':
 //
-//     "set_ip_flow_hash_reply",
+//     "ioam_enable_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -1361,23 +932,23 @@ func (*SetIPFlowHash) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type SetIPFlowHashReply struct {
+type IoamEnableReply struct {
        Retval int32
 }
 
-func (*SetIPFlowHashReply) GetMessageName() string {
-       return "set_ip_flow_hash_reply"
+func (*IoamEnableReply) GetMessageName() string {
+       return "ioam_enable_reply"
 }
-func (*SetIPFlowHashReply) GetCrcString() string {
+func (*IoamEnableReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*SetIPFlowHashReply) GetMessageType() api.MessageType {
+func (*IoamEnableReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SwInterfaceIP6ndRaConfig represents VPP binary API message 'sw_interface_ip6nd_ra_config':
+// IP4ArpEvent represents VPP binary API message 'ip4_arp_event':
 //
-//     "sw_interface_ip6nd_ra_config",
+//     "ip4_arp_event",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -1388,7 +959,11 @@ func (*SetIPFlowHashReply) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u32",
-//         "context"
+//         "address"
+//     ],
+//     [
+//         "u32",
+//         "pid"
 //     ],
 //     [
 //         "u32",
@@ -1396,123 +971,229 @@ func (*SetIPFlowHashReply) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u8",
-//         "suppress"
+//         "new_mac",
+//         6
 //     ],
 //     [
 //         "u8",
-//         "managed"
+//         "mac_ip"
 //     ],
+//     {
+//         "crc": "0xef7235f7"
+//     }
+//
+type IP4ArpEvent struct {
+       Address   uint32
+       PID       uint32
+       SwIfIndex uint32
+       NewMac    []byte `struc:"[6]byte"`
+       MacIP     uint8
+}
+
+func (*IP4ArpEvent) GetMessageName() string {
+       return "ip4_arp_event"
+}
+func (*IP4ArpEvent) GetCrcString() string {
+       return "ef7235f7"
+}
+func (*IP4ArpEvent) GetMessageType() api.MessageType {
+       return api.EventMessage
+}
+
+// IP6FibDetails represents VPP binary API message 'ip6_fib_details':
+//
+//     "ip6_fib_details",
 //     [
-//         "u8",
-//         "other"
+//         "u16",
+//         "_vl_msg_id"
 //     ],
 //     [
-//         "u8",
-//         "ll_option"
+//         "u32",
+//         "context"
 //     ],
 //     [
-//         "u8",
-//         "send_unicast"
+//         "u32",
+//         "table_id"
 //     ],
 //     [
 //         "u8",
-//         "cease"
+//         "table_name",
+//         64
 //     ],
 //     [
 //         "u8",
-//         "is_no"
+//         "address_length"
 //     ],
 //     [
 //         "u8",
-//         "default_router"
+//         "address",
+//         16
 //     ],
 //     [
 //         "u32",
-//         "max_interval"
+//         "count"
 //     ],
 //     [
 //         "u32",
-//         "min_interval"
+//         "stats_index"
+//     ],
+//     [
+//         "vl_api_fib_path_t",
+//         "path",
+//         0,
+//         "count"
+//     ],
+//     {
+//         "crc": "0xef11e94d"
+//     }
+//
+type IP6FibDetails struct {
+       TableID       uint32
+       TableName     []byte `struc:"[64]byte"`
+       AddressLength uint8
+       Address       []byte `struc:"[16]byte"`
+       Count         uint32 `struc:"sizeof=Path"`
+       StatsIndex    uint32
+       Path          []FibPath
+}
+
+func (*IP6FibDetails) GetMessageName() string {
+       return "ip6_fib_details"
+}
+func (*IP6FibDetails) GetCrcString() string {
+       return "ef11e94d"
+}
+func (*IP6FibDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// IP6FibDump represents VPP binary API message 'ip6_fib_dump':
+//
+//     "ip6_fib_dump",
+//     [
+//         "u16",
+//         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "lifetime"
+//         "client_index"
 //     ],
 //     [
 //         "u32",
-//         "initial_count"
+//         "context"
+//     ],
+//     {
+//         "crc": "0x51077d14"
+//     }
+//
+type IP6FibDump struct{}
+
+func (*IP6FibDump) GetMessageName() string {
+       return "ip6_fib_dump"
+}
+func (*IP6FibDump) GetCrcString() string {
+       return "51077d14"
+}
+func (*IP6FibDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// IP6MfibDetails represents VPP binary API message 'ip6_mfib_details':
+//
+//     "ip6_mfib_details",
+//     [
+//         "u16",
+//         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "initial_interval"
+//         "context"
+//     ],
+//     [
+//         "u32",
+//         "table_id"
+//     ],
+//     [
+//         "u8",
+//         "address_length"
+//     ],
+//     [
+//         "u8",
+//         "grp_address",
+//         16
+//     ],
+//     [
+//         "u8",
+//         "src_address",
+//         16
+//     ],
+//     [
+//         "u32",
+//         "count"
+//     ],
+//     [
+//         "vl_api_mfib_path_t",
+//         "path",
+//         0,
+//         "count"
 //     ],
 //     {
-//         "crc": "0xc3f02daa"
+//         "crc": "0x738c546e"
 //     }
 //
-type SwInterfaceIP6ndRaConfig struct {
-       SwIfIndex       uint32
-       Suppress        uint8
-       Managed         uint8
-       Other           uint8
-       LlOption        uint8
-       SendUnicast     uint8
-       Cease           uint8
-       IsNo            uint8
-       DefaultRouter   uint8
-       MaxInterval     uint32
-       MinInterval     uint32
-       Lifetime        uint32
-       InitialCount    uint32
-       InitialInterval uint32
+type IP6MfibDetails struct {
+       TableID       uint32
+       AddressLength uint8
+       GrpAddress    []byte `struc:"[16]byte"`
+       SrcAddress    []byte `struc:"[16]byte"`
+       Count         uint32 `struc:"sizeof=Path"`
+       Path          []MfibPath
 }
 
-func (*SwInterfaceIP6ndRaConfig) GetMessageName() string {
-       return "sw_interface_ip6nd_ra_config"
+func (*IP6MfibDetails) GetMessageName() string {
+       return "ip6_mfib_details"
 }
-func (*SwInterfaceIP6ndRaConfig) GetCrcString() string {
-       return "c3f02daa"
+func (*IP6MfibDetails) GetCrcString() string {
+       return "738c546e"
 }
-func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType {
-       return api.RequestMessage
+func (*IP6MfibDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
 }
 
-// SwInterfaceIP6ndRaConfigReply represents VPP binary API message 'sw_interface_ip6nd_ra_config_reply':
+// IP6MfibDump represents VPP binary API message 'ip6_mfib_dump':
 //
-//     "sw_interface_ip6nd_ra_config_reply",
+//     "ip6_mfib_dump",
 //     [
 //         "u16",
 //         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "context"
+//         "client_index"
 //     ],
 //     [
-//         "i32",
-//         "retval"
+//         "u32",
+//         "context"
 //     ],
 //     {
-//         "crc": "0xe8d4e804"
+//         "crc": "0x51077d14"
 //     }
 //
-type SwInterfaceIP6ndRaConfigReply struct {
-       Retval int32
-}
+type IP6MfibDump struct{}
 
-func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string {
-       return "sw_interface_ip6nd_ra_config_reply"
+func (*IP6MfibDump) GetMessageName() string {
+       return "ip6_mfib_dump"
 }
-func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string {
-       return "e8d4e804"
+func (*IP6MfibDump) GetCrcString() string {
+       return "51077d14"
 }
-func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
+func (*IP6MfibDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
 }
 
-// SwInterfaceIP6ndRaPrefix represents VPP binary API message 'sw_interface_ip6nd_ra_prefix':
+// IP6NdEvent represents VPP binary API message 'ip6_nd_event':
 //
-//     "sw_interface_ip6nd_ra_prefix",
+//     "ip6_nd_event",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -1523,7 +1204,7 @@ func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u32",
-//         "context"
+//         "pid"
 //     ],
 //     [
 //         "u32",
@@ -1536,99 +1217,114 @@ func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u8",
-//         "address_length"
+//         "new_mac",
+//         6
 //     ],
 //     [
 //         "u8",
-//         "use_default"
+//         "mac_ip"
+//     ],
+//     {
+//         "crc": "0x96ab2fdd"
+//     }
+//
+type IP6NdEvent struct {
+       PID       uint32
+       SwIfIndex uint32
+       Address   []byte `struc:"[16]byte"`
+       NewMac    []byte `struc:"[6]byte"`
+       MacIP     uint8
+}
+
+func (*IP6NdEvent) GetMessageName() string {
+       return "ip6_nd_event"
+}
+func (*IP6NdEvent) GetCrcString() string {
+       return "96ab2fdd"
+}
+func (*IP6NdEvent) GetMessageType() api.MessageType {
+       return api.EventMessage
+}
+
+// IP6RaEvent represents VPP binary API message 'ip6_ra_event':
+//
+//     "ip6_ra_event",
+//     [
+//         "u16",
+//         "_vl_msg_id"
 //     ],
 //     [
-//         "u8",
-//         "no_advertise"
+//         "u32",
+//         "client_index"
 //     ],
 //     [
-//         "u8",
-//         "off_link"
+//         "u32",
+//         "pid"
+//     ],
+//     [
+//         "u32",
+//         "sw_if_index"
 //     ],
 //     [
 //         "u8",
-//         "no_autoconfig"
+//         "router_address",
+//         16
 //     ],
 //     [
 //         "u8",
-//         "no_onlink"
+//         "current_hop_limit"
 //     ],
 //     [
 //         "u8",
-//         "is_no"
+//         "flags"
 //     ],
 //     [
-//         "u32",
-//         "val_lifetime"
+//         "u16",
+//         "router_lifetime_in_sec"
 //     ],
 //     [
 //         "u32",
-//         "pref_lifetime"
+//         "neighbor_reachable_time_in_msec"
 //     ],
-//     {
-//         "crc": "0xca763c9a"
-//     }
-//
-type SwInterfaceIP6ndRaPrefix struct {
-       SwIfIndex     uint32
-       Address       []byte `struc:"[16]byte"`
-       AddressLength uint8
-       UseDefault    uint8
-       NoAdvertise   uint8
-       OffLink       uint8
-       NoAutoconfig  uint8
-       NoOnlink      uint8
-       IsNo          uint8
-       ValLifetime   uint32
-       PrefLifetime  uint32
-}
-
-func (*SwInterfaceIP6ndRaPrefix) GetMessageName() string {
-       return "sw_interface_ip6nd_ra_prefix"
-}
-func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string {
-       return "ca763c9a"
-}
-func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// SwInterfaceIP6ndRaPrefixReply represents VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply':
-//
-//     "sw_interface_ip6nd_ra_prefix_reply",
 //     [
-//         "u16",
-//         "_vl_msg_id"
+//         "u32",
+//         "time_in_msec_between_retransmitted_neighbor_solicitations"
 //     ],
 //     [
 //         "u32",
-//         "context"
+//         "n_prefixes"
 //     ],
 //     [
-//         "i32",
-//         "retval"
+//         "vl_api_ip6_ra_prefix_info_t",
+//         "prefixes",
+//         0,
+//         "n_prefixes"
 //     ],
 //     {
-//         "crc": "0xe8d4e804"
+//         "crc": "0xc5e54257"
 //     }
 //
-type SwInterfaceIP6ndRaPrefixReply struct {
-       Retval int32
+type IP6RaEvent struct {
+       PID                                                 uint32
+       SwIfIndex                                           uint32
+       RouterAddress                                       []byte `struc:"[16]byte"`
+       CurrentHopLimit                                     uint8
+       Flags                                               uint8
+       RouterLifetimeInSec                                 uint16
+       NeighborReachableTimeInMsec                         uint32
+       TimeInMsecBetweenRetransmittedNeighborSolicitations uint32
+       NPrefixes                                           uint32 `struc:"sizeof=Prefixes"`
+       Prefixes                                            []IP6RaPrefixInfo
 }
 
-func (*SwInterfaceIP6ndRaPrefixReply) GetMessageName() string {
-       return "sw_interface_ip6nd_ra_prefix_reply"
+func (*IP6RaEvent) GetMessageName() string {
+       return "ip6_ra_event"
 }
-func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string {
-       return "e8d4e804"
+func (*IP6RaEvent) GetCrcString() string {
+       return "c5e54257"
 }
-func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
+func (*IP6RaEvent) GetMessageType() api.MessageType {
+       return api.EventMessage
 }
 
 // IP6ndProxyAddDel represents VPP binary API message 'ip6nd_proxy_add_del':
@@ -1877,81 +1573,6 @@ func (*IP6ndSendRouterSolicitationReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable':
-//
-//     "sw_interface_ip6_enable_disable",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "enable"
-//     ],
-//     {
-//         "crc": "0xa36fadc0"
-//     }
-//
-type SwInterfaceIP6EnableDisable struct {
-       SwIfIndex uint32
-       Enable    uint8
-}
-
-func (*SwInterfaceIP6EnableDisable) GetMessageName() string {
-       return "sw_interface_ip6_enable_disable"
-}
-func (*SwInterfaceIP6EnableDisable) GetCrcString() string {
-       return "a36fadc0"
-}
-func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply':
-//
-//     "sw_interface_ip6_enable_disable_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type SwInterfaceIP6EnableDisableReply struct {
-       Retval int32
-}
-
-func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string {
-       return "sw_interface_ip6_enable_disable_reply"
-}
-func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string {
-       return "e8d4e804"
-}
-func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
-}
-
 // IPAddDelRoute represents VPP binary API message 'ip_add_del_route':
 //
 //     "ip_add_del_route",
@@ -2119,156 +1740,377 @@ func (*IPAddDelRoute) GetMessageName() string {
 func (*IPAddDelRoute) GetCrcString() string {
        return "4219d62d"
 }
-func (*IPAddDelRoute) GetMessageType() api.MessageType {
-       return api.RequestMessage
+func (*IPAddDelRoute) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// IPAddDelRouteReply represents VPP binary API message 'ip_add_del_route_reply':
+//
+//     "ip_add_del_route_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "u32",
+//         "stats_index"
+//     ],
+//     {
+//         "crc": "0x1992deab"
+//     }
+//
+type IPAddDelRouteReply struct {
+       Retval     int32
+       StatsIndex uint32
+}
+
+func (*IPAddDelRouteReply) GetMessageName() string {
+       return "ip_add_del_route_reply"
+}
+func (*IPAddDelRouteReply) GetCrcString() string {
+       return "1992deab"
+}
+func (*IPAddDelRouteReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// IPAddressDetails represents VPP binary API message 'ip_address_details':
+//
+//     "ip_address_details",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "u8",
+//         "ip",
+//         16
+//     ],
+//     [
+//         "u8",
+//         "prefix_length"
+//     ],
+//     [
+//         "u32",
+//         "sw_if_index"
+//     ],
+//     [
+//         "u8",
+//         "is_ipv6"
+//     ],
+//     {
+//         "crc": "0x9bc25966"
+//     }
+//
+type IPAddressDetails struct {
+       IP           []byte `struc:"[16]byte"`
+       PrefixLength uint8
+       SwIfIndex    uint32
+       IsIPv6       uint8
+}
+
+func (*IPAddressDetails) GetMessageName() string {
+       return "ip_address_details"
+}
+func (*IPAddressDetails) GetCrcString() string {
+       return "9bc25966"
+}
+func (*IPAddressDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// IPAddressDump represents VPP binary API message 'ip_address_dump':
+//
+//     "ip_address_dump",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "u32",
+//         "sw_if_index"
+//     ],
+//     [
+//         "u8",
+//         "is_ipv6"
+//     ],
+//     {
+//         "crc": "0x6b7bcd0a"
+//     }
+//
+type IPAddressDump struct {
+       SwIfIndex uint32
+       IsIPv6    uint8
+}
+
+func (*IPAddressDump) GetMessageName() string {
+       return "ip_address_dump"
+}
+func (*IPAddressDump) GetCrcString() string {
+       return "6b7bcd0a"
+}
+func (*IPAddressDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del':
+//
+//     "ip_container_proxy_add_del",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "u8",
+//         "ip",
+//         16
+//     ],
+//     [
+//         "u8",
+//         "is_ip4"
+//     ],
+//     [
+//         "u8",
+//         "plen"
+//     ],
+//     [
+//         "u32",
+//         "sw_if_index"
+//     ],
+//     [
+//         "u8",
+//         "is_add"
+//     ],
+//     {
+//         "crc": "0x0a355d39"
+//     }
+//
+type IPContainerProxyAddDel struct {
+       IP        []byte `struc:"[16]byte"`
+       IsIP4     uint8
+       Plen      uint8
+       SwIfIndex uint32
+       IsAdd     uint8
+}
+
+func (*IPContainerProxyAddDel) GetMessageName() string {
+       return "ip_container_proxy_add_del"
+}
+func (*IPContainerProxyAddDel) GetCrcString() string {
+       return "0a355d39"
+}
+func (*IPContainerProxyAddDel) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply':
+//
+//     "ip_container_proxy_add_del_reply",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     {
+//         "crc": "0xe8d4e804"
+//     }
+//
+type IPContainerProxyAddDelReply struct {
+       Retval int32
+}
+
+func (*IPContainerProxyAddDelReply) GetMessageName() string {
+       return "ip_container_proxy_add_del_reply"
+}
+func (*IPContainerProxyAddDelReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details':
+//
+//     "ip_container_proxy_details",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "u32",
+//         "sw_if_index"
+//     ],
+//     [
+//         "vl_api_prefix_t",
+//         "prefix"
+//     ],
+//     {
+//         "crc": "0xd528df63"
+//     }
+//
+type IPContainerProxyDetails struct {
+       SwIfIndex uint32
+       Prefix    Prefix
+}
+
+func (*IPContainerProxyDetails) GetMessageName() string {
+       return "ip_container_proxy_details"
+}
+func (*IPContainerProxyDetails) GetCrcString() string {
+       return "d528df63"
+}
+func (*IPContainerProxyDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
 }
 
-// IPAddDelRouteReply represents VPP binary API message 'ip_add_del_route_reply':
+// IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump':
 //
-//     "ip_add_del_route_reply",
+//     "ip_container_proxy_dump",
 //     [
 //         "u16",
 //         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
+//         "client_index"
 //     ],
 //     [
 //         "u32",
-//         "stats_index"
+//         "context"
 //     ],
 //     {
-//         "crc": "0x1992deab"
+//         "crc": "0x51077d14"
 //     }
 //
-type IPAddDelRouteReply struct {
-       Retval     int32
-       StatsIndex uint32
-}
+type IPContainerProxyDump struct{}
 
-func (*IPAddDelRouteReply) GetMessageName() string {
-       return "ip_add_del_route_reply"
+func (*IPContainerProxyDump) GetMessageName() string {
+       return "ip_container_proxy_dump"
 }
-func (*IPAddDelRouteReply) GetCrcString() string {
-       return "1992deab"
+func (*IPContainerProxyDump) GetCrcString() string {
+       return "51077d14"
 }
-func (*IPAddDelRouteReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
+func (*IPContainerProxyDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
 }
 
-// IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del':
+// IPDetails represents VPP binary API message 'ip_details':
 //
-//     "ip_mroute_add_del",
+//     "ip_details",
 //     [
 //         "u16",
 //         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
 //         "context"
 //     ],
 //     [
 //         "u32",
-//         "next_hop_sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "table_id"
+//         "sw_if_index"
 //     ],
 //     [
-//         "u32",
-//         "entry_flags"
+//         "u8",
+//         "is_ipv6"
 //     ],
+//     {
+//         "crc": "0x8bb37ec4"
+//     }
+//
+type IPDetails struct {
+       SwIfIndex uint32
+       IsIPv6    uint8
+}
+
+func (*IPDetails) GetMessageName() string {
+       return "ip_details"
+}
+func (*IPDetails) GetCrcString() string {
+       return "8bb37ec4"
+}
+func (*IPDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// IPDump represents VPP binary API message 'ip_dump':
+//
+//     "ip_dump",
 //     [
-//         "u32",
-//         "itf_flags"
+//         "u16",
+//         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "rpf_id"
+//         "client_index"
 //     ],
 //     [
 //         "u32",
-//         "bier_imp"
-//     ],
-//     [
-//         "u16",
-//         "grp_address_length"
-//     ],
-//     [
-//         "u8",
-//         "next_hop_afi"
-//     ],
-//     [
-//         "u8",
-//         "is_add"
+//         "context"
 //     ],
 //     [
 //         "u8",
 //         "is_ipv6"
 //     ],
-//     [
-//         "u8",
-//         "is_local"
-//     ],
-//     [
-//         "u8",
-//         "grp_address",
-//         16
-//     ],
-//     [
-//         "u8",
-//         "src_address",
-//         16
-//     ],
-//     [
-//         "u8",
-//         "nh_address",
-//         16
-//     ],
 //     {
-//         "crc": "0xf44c17b1"
+//         "crc": "0xde883da4"
 //     }
 //
-type IPMrouteAddDel struct {
-       NextHopSwIfIndex uint32
-       TableID          uint32
-       EntryFlags       uint32
-       ItfFlags         uint32
-       RpfID            uint32
-       BierImp          uint32
-       GrpAddressLength uint16
-       NextHopAfi       uint8
-       IsAdd            uint8
-       IsIPv6           uint8
-       IsLocal          uint8
-       GrpAddress       []byte `struc:"[16]byte"`
-       SrcAddress       []byte `struc:"[16]byte"`
-       NhAddress        []byte `struc:"[16]byte"`
+type IPDump struct {
+       IsIPv6 uint8
 }
 
-func (*IPMrouteAddDel) GetMessageName() string {
-       return "ip_mroute_add_del"
+func (*IPDump) GetMessageName() string {
+       return "ip_dump"
 }
-func (*IPMrouteAddDel) GetCrcString() string {
-       return "f44c17b1"
+func (*IPDump) GetCrcString() string {
+       return "de883da4"
 }
-func (*IPMrouteAddDel) GetMessageType() api.MessageType {
+func (*IPDump) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply':
+// IPFibDetails represents VPP binary API message 'ip_fib_details':
 //
-//     "ip_mroute_add_del_reply",
+//     "ip_fib_details",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -2278,35 +2120,64 @@ func (*IPMrouteAddDel) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "i32",
-//         "retval"
+//         "u32",
+//         "table_id"
+//     ],
+//     [
+//         "u8",
+//         "table_name",
+//         64
+//     ],
+//     [
+//         "u8",
+//         "address_length"
+//     ],
+//     [
+//         "u8",
+//         "address",
+//         4
+//     ],
+//     [
+//         "u32",
+//         "count"
 //     ],
 //     [
 //         "u32",
 //         "stats_index"
 //     ],
+//     [
+//         "vl_api_fib_path_t",
+//         "path",
+//         0,
+//         "count"
+//     ],
 //     {
-//         "crc": "0x1992deab"
+//         "crc": "0xf6a2fab3"
 //     }
 //
-type IPMrouteAddDelReply struct {
-       Retval     int32
-       StatsIndex uint32
+type IPFibDetails struct {
+       TableID       uint32
+       TableName     []byte `struc:"[64]byte"`
+       AddressLength uint8
+       Address       []byte `struc:"[4]byte"`
+       Count         uint32 `struc:"sizeof=Path"`
+       StatsIndex    uint32
+       Path          []FibPath
 }
 
-func (*IPMrouteAddDelReply) GetMessageName() string {
-       return "ip_mroute_add_del_reply"
+func (*IPFibDetails) GetMessageName() string {
+       return "ip_fib_details"
 }
-func (*IPMrouteAddDelReply) GetCrcString() string {
-       return "1992deab"
+func (*IPFibDetails) GetCrcString() string {
+       return "f6a2fab3"
 }
-func (*IPMrouteAddDelReply) GetMessageType() api.MessageType {
+func (*IPFibDetails) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPMfibDump represents VPP binary API message 'ip_mfib_dump':
+// IPFibDump represents VPP binary API message 'ip_fib_dump':
 //
-//     "ip_mfib_dump",
+//     "ip_fib_dump",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -2323,15 +2194,15 @@ func (*IPMrouteAddDelReply) GetMessageType() api.MessageType {
 //         "crc": "0x51077d14"
 //     }
 //
-type IPMfibDump struct{}
+type IPFibDump struct{}
 
-func (*IPMfibDump) GetMessageName() string {
-       return "ip_mfib_dump"
+func (*IPFibDump) GetMessageName() string {
+       return "ip_fib_dump"
 }
-func (*IPMfibDump) GetCrcString() string {
+func (*IPFibDump) GetCrcString() string {
        return "51077d14"
 }
-func (*IPMfibDump) GetMessageType() api.MessageType {
+func (*IPFibDump) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
@@ -2412,9 +2283,9 @@ func (*IPMfibDetails) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IP6MfibDump represents VPP binary API message 'ip6_mfib_dump':
+// IPMfibDump represents VPP binary API message 'ip_mfib_dump':
 //
-//     "ip6_mfib_dump",
+//     "ip_mfib_dump",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -2431,36 +2302,76 @@ func (*IPMfibDetails) GetMessageType() api.MessageType {
 //         "crc": "0x51077d14"
 //     }
 //
-type IP6MfibDump struct{}
+type IPMfibDump struct{}
 
-func (*IP6MfibDump) GetMessageName() string {
-       return "ip6_mfib_dump"
+func (*IPMfibDump) GetMessageName() string {
+       return "ip_mfib_dump"
 }
-func (*IP6MfibDump) GetCrcString() string {
+func (*IPMfibDump) GetCrcString() string {
        return "51077d14"
 }
-func (*IP6MfibDump) GetMessageType() api.MessageType {
+func (*IPMfibDump) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IP6MfibDetails represents VPP binary API message 'ip6_mfib_details':
+// IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del':
 //
-//     "ip6_mfib_details",
+//     "ip_mroute_add_del",
 //     [
 //         "u16",
 //         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "context"
+//         "client_index"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "u32",
+//         "next_hop_sw_if_index"
+//     ],
+//     [
+//         "u32",
+//         "table_id"
+//     ],
+//     [
+//         "u32",
+//         "entry_flags"
+//     ],
+//     [
+//         "u32",
+//         "itf_flags"
+//     ],
+//     [
+//         "u32",
+//         "rpf_id"
 //     ],
 //     [
 //         "u32",
-//         "table_id"
+//         "bier_imp"
+//     ],
+//     [
+//         "u16",
+//         "grp_address_length"
 //     ],
 //     [
 //         "u8",
-//         "address_length"
+//         "next_hop_afi"
+//     ],
+//     [
+//         "u8",
+//         "is_add"
+//     ],
+//     [
+//         "u8",
+//         "is_ipv6"
+//     ],
+//     [
+//         "u8",
+//         "is_local"
 //     ],
 //     [
 //         "u8",
@@ -2473,41 +2384,44 @@ func (*IP6MfibDump) GetMessageType() api.MessageType {
 //         16
 //     ],
 //     [
-//         "u32",
-//         "count"
-//     ],
-//     [
-//         "vl_api_mfib_path_t",
-//         "path",
-//         0,
-//         "count"
+//         "u8",
+//         "nh_address",
+//         16
 //     ],
 //     {
-//         "crc": "0x738c546e"
+//         "crc": "0xf44c17b1"
 //     }
 //
-type IP6MfibDetails struct {
-       TableID       uint32
-       AddressLength uint8
-       GrpAddress    []byte `struc:"[16]byte"`
-       SrcAddress    []byte `struc:"[16]byte"`
-       Count         uint32 `struc:"sizeof=Path"`
-       Path          []MfibPath
+type IPMrouteAddDel struct {
+       NextHopSwIfIndex uint32
+       TableID          uint32
+       EntryFlags       uint32
+       ItfFlags         uint32
+       RpfID            uint32
+       BierImp          uint32
+       GrpAddressLength uint16
+       NextHopAfi       uint8
+       IsAdd            uint8
+       IsIPv6           uint8
+       IsLocal          uint8
+       GrpAddress       []byte `struc:"[16]byte"`
+       SrcAddress       []byte `struc:"[16]byte"`
+       NhAddress        []byte `struc:"[16]byte"`
 }
 
-func (*IP6MfibDetails) GetMessageName() string {
-       return "ip6_mfib_details"
+func (*IPMrouteAddDel) GetMessageName() string {
+       return "ip_mroute_add_del"
 }
-func (*IP6MfibDetails) GetCrcString() string {
-       return "738c546e"
+func (*IPMrouteAddDel) GetCrcString() string {
+       return "f44c17b1"
 }
-func (*IP6MfibDetails) GetMessageType() api.MessageType {
-       return api.ReplyMessage
+func (*IPMrouteAddDel) GetMessageType() api.MessageType {
+       return api.RequestMessage
 }
 
-// IPAddressDetails represents VPP binary API message 'ip_address_details':
+// IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply':
 //
-//     "ip_address_details",
+//     "ip_mroute_add_del_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -2517,46 +2431,35 @@ func (*IP6MfibDetails) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u8",
-//         "ip",
-//         16
-//     ],
-//     [
-//         "u8",
-//         "prefix_length"
+//         "i32",
+//         "retval"
 //     ],
 //     [
 //         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "is_ipv6"
+//         "stats_index"
 //     ],
 //     {
-//         "crc": "0x9bc25966"
+//         "crc": "0x1992deab"
 //     }
 //
-type IPAddressDetails struct {
-       IP           []byte `struc:"[16]byte"`
-       PrefixLength uint8
-       SwIfIndex    uint32
-       IsIPv6       uint8
+type IPMrouteAddDelReply struct {
+       Retval     int32
+       StatsIndex uint32
 }
 
-func (*IPAddressDetails) GetMessageName() string {
-       return "ip_address_details"
+func (*IPMrouteAddDelReply) GetMessageName() string {
+       return "ip_mroute_add_del_reply"
 }
-func (*IPAddressDetails) GetCrcString() string {
-       return "9bc25966"
+func (*IPMrouteAddDelReply) GetCrcString() string {
+       return "1992deab"
 }
-func (*IPAddressDetails) GetMessageType() api.MessageType {
+func (*IPMrouteAddDelReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPAddressDump represents VPP binary API message 'ip_address_dump':
+// IPNeighborAddDel represents VPP binary API message 'ip_neighbor_add_del':
 //
-//     "ip_address_dump",
+//     "ip_neighbor_add_del",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -2575,30 +2478,57 @@ func (*IPAddressDetails) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u8",
+//         "is_add"
+//     ],
+//     [
+//         "u8",
 //         "is_ipv6"
 //     ],
+//     [
+//         "u8",
+//         "is_static"
+//     ],
+//     [
+//         "u8",
+//         "is_no_adj_fib"
+//     ],
+//     [
+//         "u8",
+//         "mac_address",
+//         6
+//     ],
+//     [
+//         "u8",
+//         "dst_address",
+//         16
+//     ],
 //     {
-//         "crc": "0x6b7bcd0a"
+//         "crc": "0x4711eb25"
 //     }
 //
-type IPAddressDump struct {
-       SwIfIndex uint32
-       IsIPv6    uint8
+type IPNeighborAddDel struct {
+       SwIfIndex  uint32
+       IsAdd      uint8
+       IsIPv6     uint8
+       IsStatic   uint8
+       IsNoAdjFib uint8
+       MacAddress []byte `struc:"[6]byte"`
+       DstAddress []byte `struc:"[16]byte"`
 }
 
-func (*IPAddressDump) GetMessageName() string {
-       return "ip_address_dump"
+func (*IPNeighborAddDel) GetMessageName() string {
+       return "ip_neighbor_add_del"
 }
-func (*IPAddressDump) GetCrcString() string {
-       return "6b7bcd0a"
+func (*IPNeighborAddDel) GetCrcString() string {
+       return "4711eb25"
 }
-func (*IPAddressDump) GetMessageType() api.MessageType {
+func (*IPNeighborAddDel) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details':
+// IPNeighborAddDelReply represents VPP binary API message 'ip_neighbor_add_del_reply':
 //
-//     "ip_unnumbered_details",
+//     "ip_neighbor_add_del_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -2608,110 +2538,95 @@ func (*IPAddressDump) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u32",
-//         "sw_if_index"
+//         "i32",
+//         "retval"
 //     ],
 //     [
 //         "u32",
-//         "ip_sw_if_index"
+//         "stats_index"
 //     ],
 //     {
-//         "crc": "0xae694cf4"
+//         "crc": "0x1992deab"
 //     }
 //
-type IPUnnumberedDetails struct {
-       SwIfIndex   uint32
-       IPSwIfIndex uint32
+type IPNeighborAddDelReply struct {
+       Retval     int32
+       StatsIndex uint32
 }
 
-func (*IPUnnumberedDetails) GetMessageName() string {
-       return "ip_unnumbered_details"
+func (*IPNeighborAddDelReply) GetMessageName() string {
+       return "ip_neighbor_add_del_reply"
 }
-func (*IPUnnumberedDetails) GetCrcString() string {
-       return "ae694cf4"
+func (*IPNeighborAddDelReply) GetCrcString() string {
+       return "1992deab"
 }
-func (*IPUnnumberedDetails) GetMessageType() api.MessageType {
+func (*IPNeighborAddDelReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump':
+// IPNeighborDetails represents VPP binary API message 'ip_neighbor_details':
 //
-//     "ip_unnumbered_dump",
+//     "ip_neighbor_details",
 //     [
 //         "u16",
 //         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "client_index"
+//         "context"
 //     ],
 //     [
 //         "u32",
-//         "context"
+//         "sw_if_index"
 //     ],
 //     [
 //         "u32",
-//         "sw_if_index"
+//         "stats_index"
 //     ],
-//     {
-//         "crc": "0x529cb13f"
-//     }
-//
-type IPUnnumberedDump struct {
-       SwIfIndex uint32
-}
-
-func (*IPUnnumberedDump) GetMessageName() string {
-       return "ip_unnumbered_dump"
-}
-func (*IPUnnumberedDump) GetCrcString() string {
-       return "529cb13f"
-}
-func (*IPUnnumberedDump) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// IPDetails represents VPP binary API message 'ip_details':
-//
-//     "ip_details",
 //     [
-//         "u16",
-//         "_vl_msg_id"
+//         "u8",
+//         "is_static"
 //     ],
 //     [
-//         "u32",
-//         "context"
+//         "u8",
+//         "is_ipv6"
 //     ],
 //     [
-//         "u32",
-//         "sw_if_index"
+//         "u8",
+//         "mac_address",
+//         6
 //     ],
 //     [
 //         "u8",
-//         "is_ipv6"
+//         "ip_address",
+//         16
 //     ],
 //     {
-//         "crc": "0x8bb37ec4"
+//         "crc": "0xc7001770"
 //     }
 //
-type IPDetails struct {
-       SwIfIndex uint32
-       IsIPv6    uint8
+type IPNeighborDetails struct {
+       SwIfIndex  uint32
+       StatsIndex uint32
+       IsStatic   uint8
+       IsIPv6     uint8
+       MacAddress []byte `struc:"[6]byte"`
+       IPAddress  []byte `struc:"[16]byte"`
 }
 
-func (*IPDetails) GetMessageName() string {
-       return "ip_details"
+func (*IPNeighborDetails) GetMessageName() string {
+       return "ip_neighbor_details"
 }
-func (*IPDetails) GetCrcString() string {
-       return "8bb37ec4"
+func (*IPNeighborDetails) GetCrcString() string {
+       return "c7001770"
 }
-func (*IPDetails) GetMessageType() api.MessageType {
+func (*IPNeighborDetails) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPDump represents VPP binary API message 'ip_dump':
+// IPNeighborDump represents VPP binary API message 'ip_neighbor_dump':
 //
-//     "ip_dump",
+//     "ip_neighbor_dump",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -2725,30 +2640,35 @@ func (*IPDetails) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
+//         "u32",
+//         "sw_if_index"
+//     ],
+//     [
 //         "u8",
 //         "is_ipv6"
 //     ],
 //     {
-//         "crc": "0xde883da4"
+//         "crc": "0x6b7bcd0a"
 //     }
 //
-type IPDump struct {
-       IsIPv6 uint8
+type IPNeighborDump struct {
+       SwIfIndex uint32
+       IsIPv6    uint8
 }
 
-func (*IPDump) GetMessageName() string {
-       return "ip_dump"
+func (*IPNeighborDump) GetMessageName() string {
+       return "ip_neighbor_dump"
 }
-func (*IPDump) GetCrcString() string {
-       return "de883da4"
+func (*IPNeighborDump) GetCrcString() string {
+       return "6b7bcd0a"
 }
-func (*IPDump) GetMessageType() api.MessageType {
+func (*IPNeighborDump) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// MfibSignalDump represents VPP binary API message 'mfib_signal_dump':
+// IPProbeNeighbor represents VPP binary API message 'ip_probe_neighbor':
 //
-//     "mfib_signal_dump",
+//     "ip_probe_neighbor",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -2761,25 +2681,42 @@ func (*IPDump) GetMessageType() api.MessageType {
 //         "u32",
 //         "context"
 //     ],
+//     [
+//         "u32",
+//         "sw_if_index"
+//     ],
+//     [
+//         "u8",
+//         "dst_address",
+//         16
+//     ],
+//     [
+//         "u8",
+//         "is_ipv6"
+//     ],
 //     {
-//         "crc": "0x51077d14"
+//         "crc": "0x1e44bfd7"
 //     }
 //
-type MfibSignalDump struct{}
+type IPProbeNeighbor struct {
+       SwIfIndex  uint32
+       DstAddress []byte `struc:"[16]byte"`
+       IsIPv6     uint8
+}
 
-func (*MfibSignalDump) GetMessageName() string {
-       return "mfib_signal_dump"
+func (*IPProbeNeighbor) GetMessageName() string {
+       return "ip_probe_neighbor"
 }
-func (*MfibSignalDump) GetCrcString() string {
-       return "51077d14"
+func (*IPProbeNeighbor) GetCrcString() string {
+       return "1e44bfd7"
 }
-func (*MfibSignalDump) GetMessageType() api.MessageType {
+func (*IPProbeNeighbor) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// MfibSignalDetails represents VPP binary API message 'mfib_signal_details':
+// IPProbeNeighborReply represents VPP binary API message 'ip_probe_neighbor_reply':
 //
-//     "mfib_signal_details",
+//     "ip_probe_neighbor_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -2789,57 +2726,24 @@ func (*MfibSignalDump) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "table_id"
-//     ],
-//     [
-//         "u16",
-//         "grp_address_len"
-//     ],
-//     [
-//         "u8",
-//         "grp_address",
-//         16
-//     ],
-//     [
-//         "u8",
-//         "src_address",
-//         16
-//     ],
-//     [
-//         "u16",
-//         "ip_packet_len"
-//     ],
-//     [
-//         "u8",
-//         "ip_packet_data",
-//         256
+//         "i32",
+//         "retval"
 //     ],
 //     {
-//         "crc": "0x3f5f03f5"
+//         "crc": "0xe8d4e804"
 //     }
 //
-type MfibSignalDetails struct {
-       SwIfIndex     uint32
-       TableID       uint32
-       GrpAddressLen uint16
-       GrpAddress    []byte `struc:"[16]byte"`
-       SrcAddress    []byte `struc:"[16]byte"`
-       IPPacketLen   uint16
-       IPPacketData  []byte `struc:"[256]byte"`
+type IPProbeNeighborReply struct {
+       Retval int32
 }
 
-func (*MfibSignalDetails) GetMessageName() string {
-       return "mfib_signal_details"
+func (*IPProbeNeighborReply) GetMessageName() string {
+       return "ip_probe_neighbor_reply"
 }
-func (*MfibSignalDetails) GetCrcString() string {
-       return "3f5f03f5"
+func (*IPProbeNeighborReply) GetCrcString() string {
+       return "e8d4e804"
 }
-func (*MfibSignalDetails) GetMessageType() api.MessageType {
+func (*IPProbeNeighborReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
@@ -2965,9 +2869,9 @@ func (*IPPuntRedirect) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply':
+// IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details':
 //
-//     "ip_punt_redirect_reply",
+//     "ip_punt_redirect_details",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -2977,24 +2881,24 @@ func (*IPPuntRedirect) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "i32",
-//         "retval"
+//         "vl_api_punt_redirect_t",
+//         "punt"
 //     ],
 //     {
-//         "crc": "0xe8d4e804"
+//         "crc": "0xa47f70da"
 //     }
 //
-type IPPuntRedirectReply struct {
-       Retval int32
+type IPPuntRedirectDetails struct {
+       Punt PuntRedirect
 }
 
-func (*IPPuntRedirectReply) GetMessageName() string {
-       return "ip_punt_redirect_reply"
+func (*IPPuntRedirectDetails) GetMessageName() string {
+       return "ip_punt_redirect_details"
 }
-func (*IPPuntRedirectReply) GetCrcString() string {
-       return "e8d4e804"
+func (*IPPuntRedirectDetails) GetCrcString() string {
+       return "a47f70da"
 }
-func (*IPPuntRedirectReply) GetMessageType() api.MessageType {
+func (*IPPuntRedirectDetails) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
@@ -3040,9 +2944,9 @@ func (*IPPuntRedirectDump) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details':
+// IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply':
 //
-//     "ip_punt_redirect_details",
+//     "ip_punt_redirect_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3052,30 +2956,30 @@ func (*IPPuntRedirectDump) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "vl_api_punt_redirect_t",
-//         "punt"
+//         "i32",
+//         "retval"
 //     ],
 //     {
-//         "crc": "0xa47f70da"
+//         "crc": "0xe8d4e804"
 //     }
 //
-type IPPuntRedirectDetails struct {
-       Punt PuntRedirect
+type IPPuntRedirectReply struct {
+       Retval int32
 }
 
-func (*IPPuntRedirectDetails) GetMessageName() string {
-       return "ip_punt_redirect_details"
+func (*IPPuntRedirectReply) GetMessageName() string {
+       return "ip_punt_redirect_reply"
 }
-func (*IPPuntRedirectDetails) GetCrcString() string {
-       return "a47f70da"
+func (*IPPuntRedirectReply) GetCrcString() string {
+       return "e8d4e804"
 }
-func (*IPPuntRedirectDetails) GetMessageType() api.MessageType {
+func (*IPPuntRedirectReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del':
+// IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable':
 //
-//     "ip_container_proxy_add_del",
+//     "ip_reassembly_enable_disable",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3089,51 +2993,40 @@ func (*IPPuntRedirectDetails) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u8",
-//         "ip",
-//         16
-//     ],
-//     [
-//         "u8",
-//         "is_ip4"
+//         "u32",
+//         "sw_if_index"
 //     ],
 //     [
 //         "u8",
-//         "plen"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
+//         "enable_ip4"
 //     ],
 //     [
 //         "u8",
-//         "is_add"
+//         "enable_ip6"
 //     ],
 //     {
-//         "crc": "0x0a355d39"
+//         "crc": "0xbb8dc5d0"
 //     }
 //
-type IPContainerProxyAddDel struct {
-       IP        []byte `struc:"[16]byte"`
-       IsIP4     uint8
-       Plen      uint8
+type IPReassemblyEnableDisable struct {
        SwIfIndex uint32
-       IsAdd     uint8
+       EnableIP4 uint8
+       EnableIP6 uint8
 }
 
-func (*IPContainerProxyAddDel) GetMessageName() string {
-       return "ip_container_proxy_add_del"
+func (*IPReassemblyEnableDisable) GetMessageName() string {
+       return "ip_reassembly_enable_disable"
 }
-func (*IPContainerProxyAddDel) GetCrcString() string {
-       return "0a355d39"
+func (*IPReassemblyEnableDisable) GetCrcString() string {
+       return "bb8dc5d0"
 }
-func (*IPContainerProxyAddDel) GetMessageType() api.MessageType {
+func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply':
+// IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply':
 //
-//     "ip_container_proxy_add_del_reply",
+//     "ip_reassembly_enable_disable_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3150,23 +3043,23 @@ func (*IPContainerProxyAddDel) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type IPContainerProxyAddDelReply struct {
+type IPReassemblyEnableDisableReply struct {
        Retval int32
 }
 
-func (*IPContainerProxyAddDelReply) GetMessageName() string {
-       return "ip_container_proxy_add_del_reply"
+func (*IPReassemblyEnableDisableReply) GetMessageName() string {
+       return "ip_reassembly_enable_disable_reply"
 }
-func (*IPContainerProxyAddDelReply) GetCrcString() string {
+func (*IPReassemblyEnableDisableReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType {
+func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump':
+// IPReassemblyGet represents VPP binary API message 'ip_reassembly_get':
 //
-//     "ip_container_proxy_dump",
+//     "ip_reassembly_get",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3179,63 +3072,84 @@ func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType {
 //         "u32",
 //         "context"
 //     ],
+//     [
+//         "u8",
+//         "is_ip6"
+//     ],
 //     {
-//         "crc": "0x51077d14"
+//         "crc": "0x6fe91190"
 //     }
 //
-type IPContainerProxyDump struct{}
+type IPReassemblyGet struct {
+       IsIP6 uint8
+}
 
-func (*IPContainerProxyDump) GetMessageName() string {
-       return "ip_container_proxy_dump"
+func (*IPReassemblyGet) GetMessageName() string {
+       return "ip_reassembly_get"
 }
-func (*IPContainerProxyDump) GetCrcString() string {
-       return "51077d14"
+func (*IPReassemblyGet) GetCrcString() string {
+       return "6fe91190"
 }
-func (*IPContainerProxyDump) GetMessageType() api.MessageType {
+func (*IPReassemblyGet) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details':
+// IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply':
 //
-//     "ip_container_proxy_details",
+//     "ip_reassembly_get_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "context"
+//         "context"
+//     ],
+//     [
+//         "i32",
+//         "retval"
+//     ],
+//     [
+//         "u32",
+//         "timeout_ms"
+//     ],
+//     [
+//         "u32",
+//         "max_reassemblies"
 //     ],
 //     [
 //         "u32",
-//         "sw_if_index"
+//         "expire_walk_interval_ms"
 //     ],
 //     [
-//         "vl_api_prefix_t",
-//         "prefix"
+//         "u8",
+//         "is_ip6"
 //     ],
 //     {
-//         "crc": "0xd528df63"
+//         "crc": "0x1f90afd1"
 //     }
 //
-type IPContainerProxyDetails struct {
-       SwIfIndex uint32
-       Prefix    Prefix
+type IPReassemblyGetReply struct {
+       Retval               int32
+       TimeoutMs            uint32
+       MaxReassemblies      uint32
+       ExpireWalkIntervalMs uint32
+       IsIP6                uint8
 }
 
-func (*IPContainerProxyDetails) GetMessageName() string {
-       return "ip_container_proxy_details"
+func (*IPReassemblyGetReply) GetMessageName() string {
+       return "ip_reassembly_get_reply"
 }
-func (*IPContainerProxyDetails) GetCrcString() string {
-       return "d528df63"
+func (*IPReassemblyGetReply) GetCrcString() string {
+       return "1f90afd1"
 }
-func (*IPContainerProxyDetails) GetMessageType() api.MessageType {
+func (*IPReassemblyGetReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del':
+// IPReassemblySet represents VPP binary API message 'ip_reassembly_set':
 //
-//     "ip_source_and_port_range_check_add_del",
+//     "ip_reassembly_set",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3249,68 +3163,45 @@ func (*IPContainerProxyDetails) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u8",
-//         "is_ipv6"
-//     ],
-//     [
-//         "u8",
-//         "is_add"
+//         "u32",
+//         "timeout_ms"
 //     ],
 //     [
-//         "u8",
-//         "mask_length"
+//         "u32",
+//         "max_reassemblies"
 //     ],
 //     [
-//         "u8",
-//         "address",
-//         16
+//         "u32",
+//         "expire_walk_interval_ms"
 //     ],
 //     [
 //         "u8",
-//         "number_of_ranges"
-//     ],
-//     [
-//         "u16",
-//         "low_ports",
-//         32
-//     ],
-//     [
-//         "u16",
-//         "high_ports",
-//         32
-//     ],
-//     [
-//         "u32",
-//         "vrf_id"
+//         "is_ip6"
 //     ],
 //     {
-//         "crc": "0x03d6b03a"
+//         "crc": "0x1db184de"
 //     }
 //
-type IPSourceAndPortRangeCheckAddDel struct {
-       IsIPv6         uint8
-       IsAdd          uint8
-       MaskLength     uint8
-       Address        []byte `struc:"[16]byte"`
-       NumberOfRanges uint8
-       LowPorts       []uint16 `struc:"[32]uint16"`
-       HighPorts      []uint16 `struc:"[32]uint16"`
-       VrfID          uint32
+type IPReassemblySet struct {
+       TimeoutMs            uint32
+       MaxReassemblies      uint32
+       ExpireWalkIntervalMs uint32
+       IsIP6                uint8
 }
 
-func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string {
-       return "ip_source_and_port_range_check_add_del"
+func (*IPReassemblySet) GetMessageName() string {
+       return "ip_reassembly_set"
 }
-func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string {
-       return "03d6b03a"
+func (*IPReassemblySet) GetCrcString() string {
+       return "1db184de"
 }
-func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType {
+func (*IPReassemblySet) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply':
+// IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply':
 //
-//     "ip_source_and_port_range_check_add_del_reply",
+//     "ip_reassembly_set_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3327,23 +3218,23 @@ func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type IPSourceAndPortRangeCheckAddDelReply struct {
+type IPReassemblySetReply struct {
        Retval int32
 }
 
-func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string {
-       return "ip_source_and_port_range_check_add_del_reply"
+func (*IPReassemblySetReply) GetMessageName() string {
+       return "ip_reassembly_set_reply"
 }
-func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string {
+func (*IPReassemblySetReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType {
+func (*IPReassemblySetReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del':
+// IPScanNeighborEnableDisable represents VPP binary API message 'ip_scan_neighbor_enable_disable':
 //
-//     "ip_source_and_port_range_check_interface_add_del",
+//     "ip_scan_neighbor_enable_disable",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3358,54 +3249,54 @@ func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u8",
-//         "is_add"
+//         "mode"
 //     ],
 //     [
-//         "u32",
-//         "sw_if_index"
+//         "u8",
+//         "scan_interval"
 //     ],
 //     [
-//         "u32",
-//         "tcp_in_vrf_id"
+//         "u8",
+//         "max_proc_time"
 //     ],
 //     [
-//         "u32",
-//         "tcp_out_vrf_id"
+//         "u8",
+//         "max_update"
 //     ],
 //     [
-//         "u32",
-//         "udp_in_vrf_id"
+//         "u8",
+//         "scan_int_delay"
 //     ],
 //     [
-//         "u32",
-//         "udp_out_vrf_id"
+//         "u8",
+//         "stale_threshold"
 //     ],
 //     {
-//         "crc": "0x6966bc44"
+//         "crc": "0x0a6bf57a"
 //     }
 //
-type IPSourceAndPortRangeCheckInterfaceAddDel struct {
-       IsAdd       uint8
-       SwIfIndex   uint32
-       TCPInVrfID  uint32
-       TCPOutVrfID uint32
-       UDPInVrfID  uint32
-       UDPOutVrfID uint32
+type IPScanNeighborEnableDisable struct {
+       Mode           uint8
+       ScanInterval   uint8
+       MaxProcTime    uint8
+       MaxUpdate      uint8
+       ScanIntDelay   uint8
+       StaleThreshold uint8
 }
 
-func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string {
-       return "ip_source_and_port_range_check_interface_add_del"
+func (*IPScanNeighborEnableDisable) GetMessageName() string {
+       return "ip_scan_neighbor_enable_disable"
 }
-func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string {
-       return "6966bc44"
+func (*IPScanNeighborEnableDisable) GetCrcString() string {
+       return "0a6bf57a"
 }
-func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType {
+func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply':
+// IPScanNeighborEnableDisableReply represents VPP binary API message 'ip_scan_neighbor_enable_disable_reply':
 //
-//     "ip_source_and_port_range_check_interface_add_del_reply",
+//     "ip_scan_neighbor_enable_disable_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3422,23 +3313,23 @@ func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageTyp
 //         "crc": "0xe8d4e804"
 //     }
 //
-type IPSourceAndPortRangeCheckInterfaceAddDelReply struct {
+type IPScanNeighborEnableDisableReply struct {
        Retval int32
 }
 
-func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string {
-       return "ip_source_and_port_range_check_interface_add_del_reply"
+func (*IPScanNeighborEnableDisableReply) GetMessageName() string {
+       return "ip_scan_neighbor_enable_disable_reply"
 }
-func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string {
+func (*IPScanNeighborEnableDisableReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
+func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPSourceCheckInterfaceAddDel represents VPP binary API message 'ip_source_check_interface_add_del':
+// IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del':
 //
-//     "ip_source_check_interface_add_del",
+//     "ip_source_and_port_range_check_add_del",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3453,39 +3344,67 @@ func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.Messa
 //     ],
 //     [
 //         "u8",
+//         "is_ipv6"
+//     ],
+//     [
+//         "u8",
 //         "is_add"
 //     ],
 //     [
 //         "u8",
-//         "loose"
+//         "mask_length"
+//     ],
+//     [
+//         "u8",
+//         "address",
+//         16
+//     ],
+//     [
+//         "u8",
+//         "number_of_ranges"
+//     ],
+//     [
+//         "u16",
+//         "low_ports",
+//         32
+//     ],
+//     [
+//         "u16",
+//         "high_ports",
+//         32
 //     ],
 //     [
 //         "u32",
-//         "sw_if_index"
+//         "vrf_id"
 //     ],
 //     {
-//         "crc": "0x0a60152a"
+//         "crc": "0x03d6b03a"
 //     }
 //
-type IPSourceCheckInterfaceAddDel struct {
-       IsAdd     uint8
-       Loose     uint8
-       SwIfIndex uint32
+type IPSourceAndPortRangeCheckAddDel struct {
+       IsIPv6         uint8
+       IsAdd          uint8
+       MaskLength     uint8
+       Address        []byte `struc:"[16]byte"`
+       NumberOfRanges uint8
+       LowPorts       []uint16 `struc:"[32]uint16"`
+       HighPorts      []uint16 `struc:"[32]uint16"`
+       VrfID          uint32
 }
 
-func (*IPSourceCheckInterfaceAddDel) GetMessageName() string {
-       return "ip_source_check_interface_add_del"
+func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string {
+       return "ip_source_and_port_range_check_add_del"
 }
-func (*IPSourceCheckInterfaceAddDel) GetCrcString() string {
-       return "0a60152a"
+func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string {
+       return "03d6b03a"
 }
-func (*IPSourceCheckInterfaceAddDel) GetMessageType() api.MessageType {
+func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPSourceCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_check_interface_add_del_reply':
+// IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply':
 //
-//     "ip_source_check_interface_add_del_reply",
+//     "ip_source_and_port_range_check_add_del_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3502,23 +3421,23 @@ func (*IPSourceCheckInterfaceAddDel) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type IPSourceCheckInterfaceAddDelReply struct {
+type IPSourceAndPortRangeCheckAddDelReply struct {
        Retval int32
 }
 
-func (*IPSourceCheckInterfaceAddDelReply) GetMessageName() string {
-       return "ip_source_check_interface_add_del_reply"
+func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string {
+       return "ip_source_and_port_range_check_add_del_reply"
 }
-func (*IPSourceCheckInterfaceAddDelReply) GetCrcString() string {
+func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
+func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPScanNeighborEnableDisable represents VPP binary API message 'ip_scan_neighbor_enable_disable':
+// IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del':
 //
-//     "ip_scan_neighbor_enable_disable",
+//     "ip_source_and_port_range_check_interface_add_del",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3533,54 +3452,54 @@ func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u8",
-//         "mode"
+//         "is_add"
 //     ],
 //     [
-//         "u8",
-//         "scan_interval"
+//         "u32",
+//         "sw_if_index"
 //     ],
 //     [
-//         "u8",
-//         "max_proc_time"
+//         "u32",
+//         "tcp_in_vrf_id"
 //     ],
 //     [
-//         "u8",
-//         "max_update"
+//         "u32",
+//         "tcp_out_vrf_id"
 //     ],
 //     [
-//         "u8",
-//         "scan_int_delay"
+//         "u32",
+//         "udp_in_vrf_id"
 //     ],
 //     [
-//         "u8",
-//         "stale_threshold"
+//         "u32",
+//         "udp_out_vrf_id"
 //     ],
 //     {
-//         "crc": "0x0a6bf57a"
+//         "crc": "0x6966bc44"
 //     }
 //
-type IPScanNeighborEnableDisable struct {
-       Mode           uint8
-       ScanInterval   uint8
-       MaxProcTime    uint8
-       MaxUpdate      uint8
-       ScanIntDelay   uint8
-       StaleThreshold uint8
+type IPSourceAndPortRangeCheckInterfaceAddDel struct {
+       IsAdd       uint8
+       SwIfIndex   uint32
+       TCPInVrfID  uint32
+       TCPOutVrfID uint32
+       UDPInVrfID  uint32
+       UDPOutVrfID uint32
 }
 
-func (*IPScanNeighborEnableDisable) GetMessageName() string {
-       return "ip_scan_neighbor_enable_disable"
+func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string {
+       return "ip_source_and_port_range_check_interface_add_del"
 }
-func (*IPScanNeighborEnableDisable) GetCrcString() string {
-       return "0a6bf57a"
+func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string {
+       return "6966bc44"
 }
-func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType {
+func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPScanNeighborEnableDisableReply represents VPP binary API message 'ip_scan_neighbor_enable_disable_reply':
+// IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply':
 //
-//     "ip_scan_neighbor_enable_disable_reply",
+//     "ip_source_and_port_range_check_interface_add_del_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3597,23 +3516,23 @@ func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type IPScanNeighborEnableDisableReply struct {
+type IPSourceAndPortRangeCheckInterfaceAddDelReply struct {
        Retval int32
 }
 
-func (*IPScanNeighborEnableDisableReply) GetMessageName() string {
-       return "ip_scan_neighbor_enable_disable_reply"
+func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string {
+       return "ip_source_and_port_range_check_interface_add_del_reply"
 }
-func (*IPScanNeighborEnableDisableReply) GetCrcString() string {
+func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType {
+func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPProbeNeighbor represents VPP binary API message 'ip_probe_neighbor':
+// IPSourceCheckInterfaceAddDel represents VPP binary API message 'ip_source_check_interface_add_del':
 //
-//     "ip_probe_neighbor",
+//     "ip_source_check_interface_add_del",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3627,41 +3546,40 @@ func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u32",
-//         "sw_if_index"
+//         "u8",
+//         "is_add"
 //     ],
 //     [
 //         "u8",
-//         "dst_address",
-//         16
+//         "loose"
 //     ],
 //     [
-//         "u8",
-//         "is_ipv6"
+//         "u32",
+//         "sw_if_index"
 //     ],
 //     {
-//         "crc": "0x1e44bfd7"
+//         "crc": "0x0a60152a"
 //     }
 //
-type IPProbeNeighbor struct {
-       SwIfIndex  uint32
-       DstAddress []byte `struc:"[16]byte"`
-       IsIPv6     uint8
+type IPSourceCheckInterfaceAddDel struct {
+       IsAdd     uint8
+       Loose     uint8
+       SwIfIndex uint32
 }
 
-func (*IPProbeNeighbor) GetMessageName() string {
-       return "ip_probe_neighbor"
+func (*IPSourceCheckInterfaceAddDel) GetMessageName() string {
+       return "ip_source_check_interface_add_del"
 }
-func (*IPProbeNeighbor) GetCrcString() string {
-       return "1e44bfd7"
+func (*IPSourceCheckInterfaceAddDel) GetCrcString() string {
+       return "0a60152a"
 }
-func (*IPProbeNeighbor) GetMessageType() api.MessageType {
+func (*IPSourceCheckInterfaceAddDel) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPProbeNeighborReply represents VPP binary API message 'ip_probe_neighbor_reply':
+// IPSourceCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_check_interface_add_del_reply':
 //
-//     "ip_probe_neighbor_reply",
+//     "ip_source_check_interface_add_del_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3678,23 +3596,23 @@ func (*IPProbeNeighbor) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type IPProbeNeighborReply struct {
+type IPSourceCheckInterfaceAddDelReply struct {
        Retval int32
 }
 
-func (*IPProbeNeighborReply) GetMessageName() string {
-       return "ip_probe_neighbor_reply"
+func (*IPSourceCheckInterfaceAddDelReply) GetMessageName() string {
+       return "ip_source_check_interface_add_del_reply"
 }
-func (*IPProbeNeighborReply) GetCrcString() string {
+func (*IPSourceCheckInterfaceAddDelReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*IPProbeNeighborReply) GetMessageType() api.MessageType {
+func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// WantIP4ArpEvents represents VPP binary API message 'want_ip4_arp_events':
+// IPTableAddDel represents VPP binary API message 'ip_table_add_del':
 //
-//     "want_ip4_arp_events",
+//     "ip_table_add_del",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3708,40 +3626,46 @@ func (*IPProbeNeighborReply) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
+//         "u32",
+//         "table_id"
+//     ],
+//     [
 //         "u8",
-//         "enable_disable"
+//         "is_ipv6"
 //     ],
 //     [
-//         "u32",
-//         "pid"
+//         "u8",
+//         "is_add"
 //     ],
 //     [
-//         "u32",
-//         "address"
+//         "u8",
+//         "name",
+//         64
 //     ],
 //     {
-//         "crc": "0x77e06379"
+//         "crc": "0x0240c89d"
 //     }
 //
-type WantIP4ArpEvents struct {
-       EnableDisable uint8
-       PID           uint32
-       Address       uint32
+type IPTableAddDel struct {
+       TableID uint32
+       IsIPv6  uint8
+       IsAdd   uint8
+       Name    []byte `struc:"[64]byte"`
 }
 
-func (*WantIP4ArpEvents) GetMessageName() string {
-       return "want_ip4_arp_events"
+func (*IPTableAddDel) GetMessageName() string {
+       return "ip_table_add_del"
 }
-func (*WantIP4ArpEvents) GetCrcString() string {
-       return "77e06379"
+func (*IPTableAddDel) GetCrcString() string {
+       return "0240c89d"
 }
-func (*WantIP4ArpEvents) GetMessageType() api.MessageType {
+func (*IPTableAddDel) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// WantIP4ArpEventsReply represents VPP binary API message 'want_ip4_arp_events_reply':
+// IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply':
 //
-//     "want_ip4_arp_events_reply",
+//     "ip_table_add_del_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3758,77 +3682,61 @@ func (*WantIP4ArpEvents) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type WantIP4ArpEventsReply struct {
+type IPTableAddDelReply struct {
        Retval int32
 }
 
-func (*WantIP4ArpEventsReply) GetMessageName() string {
-       return "want_ip4_arp_events_reply"
+func (*IPTableAddDelReply) GetMessageName() string {
+       return "ip_table_add_del_reply"
 }
-func (*WantIP4ArpEventsReply) GetCrcString() string {
+func (*IPTableAddDelReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType {
+func (*IPTableAddDelReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IP4ArpEvent represents VPP binary API message 'ip4_arp_event':
+// IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details':
 //
-//     "ip4_arp_event",
+//     "ip_unnumbered_details",
 //     [
 //         "u16",
 //         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "address"
-//     ],
-//     [
-//         "u32",
-//         "pid"
+//         "context"
 //     ],
 //     [
 //         "u32",
 //         "sw_if_index"
 //     ],
 //     [
-//         "u8",
-//         "new_mac",
-//         6
-//     ],
-//     [
-//         "u8",
-//         "mac_ip"
+//         "u32",
+//         "ip_sw_if_index"
 //     ],
 //     {
-//         "crc": "0xef7235f7"
+//         "crc": "0xae694cf4"
 //     }
 //
-type IP4ArpEvent struct {
-       Address   uint32
-       PID       uint32
-       SwIfIndex uint32
-       NewMac    []byte `struc:"[6]byte"`
-       MacIP     uint8
+type IPUnnumberedDetails struct {
+       SwIfIndex   uint32
+       IPSwIfIndex uint32
 }
 
-func (*IP4ArpEvent) GetMessageName() string {
-       return "ip4_arp_event"
+func (*IPUnnumberedDetails) GetMessageName() string {
+       return "ip_unnumbered_details"
 }
-func (*IP4ArpEvent) GetCrcString() string {
-       return "ef7235f7"
+func (*IPUnnumberedDetails) GetCrcString() string {
+       return "ae694cf4"
 }
-func (*IP4ArpEvent) GetMessageType() api.MessageType {
-       return api.EventMessage
+func (*IPUnnumberedDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
 }
 
-// WantIP6NdEvents represents VPP binary API message 'want_ip6_nd_events':
+// IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump':
 //
-//     "want_ip6_nd_events",
+//     "ip_unnumbered_dump",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3842,74 +3750,96 @@ func (*IP4ArpEvent) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u8",
-//         "enable_disable"
-//     ],
-//     [
 //         "u32",
-//         "pid"
-//     ],
-//     [
-//         "u8",
-//         "address",
-//         16
+//         "sw_if_index"
 //     ],
 //     {
-//         "crc": "0x1cf65fbb"
+//         "crc": "0x529cb13f"
 //     }
 //
-type WantIP6NdEvents struct {
-       EnableDisable uint8
-       PID           uint32
-       Address       []byte `struc:"[16]byte"`
+type IPUnnumberedDump struct {
+       SwIfIndex uint32
 }
 
-func (*WantIP6NdEvents) GetMessageName() string {
-       return "want_ip6_nd_events"
+func (*IPUnnumberedDump) GetMessageName() string {
+       return "ip_unnumbered_dump"
 }
-func (*WantIP6NdEvents) GetCrcString() string {
-       return "1cf65fbb"
+func (*IPUnnumberedDump) GetCrcString() string {
+       return "529cb13f"
 }
-func (*WantIP6NdEvents) GetMessageType() api.MessageType {
+func (*IPUnnumberedDump) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// WantIP6NdEventsReply represents VPP binary API message 'want_ip6_nd_events_reply':
+// MfibSignalDetails represents VPP binary API message 'mfib_signal_details':
 //
-//     "want_ip6_nd_events_reply",
+//     "mfib_signal_details",
+//     [
+//         "u16",
+//         "_vl_msg_id"
+//     ],
+//     [
+//         "u32",
+//         "context"
+//     ],
+//     [
+//         "u32",
+//         "sw_if_index"
+//     ],
+//     [
+//         "u32",
+//         "table_id"
+//     ],
 //     [
 //         "u16",
-//         "_vl_msg_id"
+//         "grp_address_len"
 //     ],
 //     [
-//         "u32",
-//         "context"
+//         "u8",
+//         "grp_address",
+//         16
 //     ],
 //     [
-//         "i32",
-//         "retval"
+//         "u8",
+//         "src_address",
+//         16
+//     ],
+//     [
+//         "u16",
+//         "ip_packet_len"
+//     ],
+//     [
+//         "u8",
+//         "ip_packet_data",
+//         256
 //     ],
 //     {
-//         "crc": "0xe8d4e804"
+//         "crc": "0x3f5f03f5"
 //     }
 //
-type WantIP6NdEventsReply struct {
-       Retval int32
+type MfibSignalDetails struct {
+       SwIfIndex     uint32
+       TableID       uint32
+       GrpAddressLen uint16
+       GrpAddress    []byte `struc:"[16]byte"`
+       SrcAddress    []byte `struc:"[16]byte"`
+       IPPacketLen   uint16
+       IPPacketData  []byte `struc:"[256]byte"`
 }
 
-func (*WantIP6NdEventsReply) GetMessageName() string {
-       return "want_ip6_nd_events_reply"
+func (*MfibSignalDetails) GetMessageName() string {
+       return "mfib_signal_details"
 }
-func (*WantIP6NdEventsReply) GetCrcString() string {
-       return "e8d4e804"
+func (*MfibSignalDetails) GetCrcString() string {
+       return "3f5f03f5"
 }
-func (*WantIP6NdEventsReply) GetMessageType() api.MessageType {
+func (*MfibSignalDetails) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IP6NdEvent represents VPP binary API message 'ip6_nd_event':
+// MfibSignalDump represents VPP binary API message 'mfib_signal_dump':
 //
-//     "ip6_nd_event",
+//     "mfib_signal_dump",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3920,51 +3850,27 @@ func (*WantIP6NdEventsReply) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u32",
-//         "pid"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "address",
-//         16
-//     ],
-//     [
-//         "u8",
-//         "new_mac",
-//         6
-//     ],
-//     [
-//         "u8",
-//         "mac_ip"
+//         "context"
 //     ],
 //     {
-//         "crc": "0x96ab2fdd"
+//         "crc": "0x51077d14"
 //     }
 //
-type IP6NdEvent struct {
-       PID       uint32
-       SwIfIndex uint32
-       Address   []byte `struc:"[16]byte"`
-       NewMac    []byte `struc:"[6]byte"`
-       MacIP     uint8
-}
+type MfibSignalDump struct{}
 
-func (*IP6NdEvent) GetMessageName() string {
-       return "ip6_nd_event"
+func (*MfibSignalDump) GetMessageName() string {
+       return "mfib_signal_dump"
 }
-func (*IP6NdEvent) GetCrcString() string {
-       return "96ab2fdd"
+func (*MfibSignalDump) GetCrcString() string {
+       return "51077d14"
 }
-func (*IP6NdEvent) GetMessageType() api.MessageType {
-       return api.EventMessage
+func (*MfibSignalDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
 }
 
-// WantIP6RaEvents represents VPP binary API message 'want_ip6_ra_events':
+// ProxyArpAddDel represents VPP binary API message 'proxy_arp_add_del':
 //
-//     "want_ip6_ra_events",
+//     "proxy_arp_add_del",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -3979,34 +3885,34 @@ func (*IP6NdEvent) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u8",
-//         "enable_disable"
+//         "is_add"
 //     ],
 //     [
-//         "u32",
-//         "pid"
+//         "vl_api_proxy_arp_t",
+//         "proxy"
 //     ],
 //     {
-//         "crc": "0x05b454b5"
+//         "crc": "0x227988d9"
 //     }
 //
-type WantIP6RaEvents struct {
-       EnableDisable uint8
-       PID           uint32
+type ProxyArpAddDel struct {
+       IsAdd uint8
+       Proxy ProxyArp
 }
 
-func (*WantIP6RaEvents) GetMessageName() string {
-       return "want_ip6_ra_events"
+func (*ProxyArpAddDel) GetMessageName() string {
+       return "proxy_arp_add_del"
 }
-func (*WantIP6RaEvents) GetCrcString() string {
-       return "05b454b5"
+func (*ProxyArpAddDel) GetCrcString() string {
+       return "227988d9"
 }
-func (*WantIP6RaEvents) GetMessageType() api.MessageType {
+func (*ProxyArpAddDel) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// WantIP6RaEventsReply represents VPP binary API message 'want_ip6_ra_events_reply':
+// ProxyArpAddDelReply represents VPP binary API message 'proxy_arp_add_del_reply':
 //
-//     "want_ip6_ra_events_reply",
+//     "proxy_arp_add_del_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4023,179 +3929,151 @@ func (*WantIP6RaEvents) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type WantIP6RaEventsReply struct {
+type ProxyArpAddDelReply struct {
        Retval int32
 }
 
-func (*WantIP6RaEventsReply) GetMessageName() string {
-       return "want_ip6_ra_events_reply"
+func (*ProxyArpAddDelReply) GetMessageName() string {
+       return "proxy_arp_add_del_reply"
 }
-func (*WantIP6RaEventsReply) GetCrcString() string {
+func (*ProxyArpAddDelReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*WantIP6RaEventsReply) GetMessageType() api.MessageType {
+func (*ProxyArpAddDelReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IP6RaEvent represents VPP binary API message 'ip6_ra_event':
+// ProxyArpDetails represents VPP binary API message 'proxy_arp_details':
 //
-//     "ip6_ra_event",
+//     "proxy_arp_details",
 //     [
 //         "u16",
 //         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "pid"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "router_address",
-//         16
-//     ],
-//     [
-//         "u8",
-//         "current_hop_limit"
+//         "context"
 //     ],
 //     [
-//         "u8",
-//         "flags"
+//         "vl_api_proxy_arp_t",
+//         "proxy"
 //     ],
+//     {
+//         "crc": "0x9b707c77"
+//     }
+//
+type ProxyArpDetails struct {
+       Proxy ProxyArp
+}
+
+func (*ProxyArpDetails) GetMessageName() string {
+       return "proxy_arp_details"
+}
+func (*ProxyArpDetails) GetCrcString() string {
+       return "9b707c77"
+}
+func (*ProxyArpDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ProxyArpDump represents VPP binary API message 'proxy_arp_dump':
+//
+//     "proxy_arp_dump",
 //     [
 //         "u16",
-//         "router_lifetime_in_sec"
-//     ],
-//     [
-//         "u32",
-//         "neighbor_reachable_time_in_msec"
+//         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "time_in_msec_between_retransmitted_neighbor_solicitations"
+//         "client_index"
 //     ],
 //     [
 //         "u32",
-//         "n_prefixes"
-//     ],
-//     [
-//         "vl_api_ip6_ra_prefix_info_t",
-//         "prefixes",
-//         0,
-//         "n_prefixes"
+//         "context"
 //     ],
 //     {
-//         "crc": "0xc5e54257"
+//         "crc": "0x51077d14"
 //     }
 //
-type IP6RaEvent struct {
-       PID                                                 uint32
-       SwIfIndex                                           uint32
-       RouterAddress                                       []byte `struc:"[16]byte"`
-       CurrentHopLimit                                     uint8
-       Flags                                               uint8
-       RouterLifetimeInSec                                 uint16
-       NeighborReachableTimeInMsec                         uint32
-       TimeInMsecBetweenRetransmittedNeighborSolicitations uint32
-       NPrefixes                                           uint32 `struc:"sizeof=Prefixes"`
-       Prefixes                                            []IP6RaPrefixInfo
-}
+type ProxyArpDump struct{}
 
-func (*IP6RaEvent) GetMessageName() string {
-       return "ip6_ra_event"
+func (*ProxyArpDump) GetMessageName() string {
+       return "proxy_arp_dump"
 }
-func (*IP6RaEvent) GetCrcString() string {
-       return "c5e54257"
+func (*ProxyArpDump) GetCrcString() string {
+       return "51077d14"
 }
-func (*IP6RaEvent) GetMessageType() api.MessageType {
-       return api.EventMessage
+func (*ProxyArpDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
 }
 
-// ProxyArpAddDel represents VPP binary API message 'proxy_arp_add_del':
+// ProxyArpIntfcDetails represents VPP binary API message 'proxy_arp_intfc_details':
 //
-//     "proxy_arp_add_del",
+//     "proxy_arp_intfc_details",
 //     [
 //         "u16",
 //         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
 //         "context"
 //     ],
 //     [
-//         "u8",
-//         "is_add"
-//     ],
-//     [
-//         "vl_api_proxy_arp_t",
-//         "proxy"
+//         "u32",
+//         "sw_if_index"
 //     ],
 //     {
-//         "crc": "0x227988d9"
+//         "crc": "0xf6458e5f"
 //     }
 //
-type ProxyArpAddDel struct {
-       IsAdd uint8
-       Proxy ProxyArp
+type ProxyArpIntfcDetails struct {
+       SwIfIndex uint32
 }
 
-func (*ProxyArpAddDel) GetMessageName() string {
-       return "proxy_arp_add_del"
-}
-func (*ProxyArpAddDel) GetCrcString() string {
-       return "227988d9"
+func (*ProxyArpIntfcDetails) GetMessageName() string {
+       return "proxy_arp_intfc_details"
 }
-func (*ProxyArpAddDel) GetMessageType() api.MessageType {
-       return api.RequestMessage
+func (*ProxyArpIntfcDetails) GetCrcString() string {
+       return "f6458e5f"
+}
+func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
 }
 
-// ProxyArpAddDelReply represents VPP binary API message 'proxy_arp_add_del_reply':
+// ProxyArpIntfcDump represents VPP binary API message 'proxy_arp_intfc_dump':
 //
-//     "proxy_arp_add_del_reply",
+//     "proxy_arp_intfc_dump",
 //     [
 //         "u16",
 //         "_vl_msg_id"
 //     ],
 //     [
 //         "u32",
-//         "context"
+//         "client_index"
 //     ],
 //     [
-//         "i32",
-//         "retval"
+//         "u32",
+//         "context"
 //     ],
 //     {
-//         "crc": "0xe8d4e804"
+//         "crc": "0x51077d14"
 //     }
 //
-type ProxyArpAddDelReply struct {
-       Retval int32
-}
+type ProxyArpIntfcDump struct{}
 
-func (*ProxyArpAddDelReply) GetMessageName() string {
-       return "proxy_arp_add_del_reply"
+func (*ProxyArpIntfcDump) GetMessageName() string {
+       return "proxy_arp_intfc_dump"
 }
-func (*ProxyArpAddDelReply) GetCrcString() string {
-       return "e8d4e804"
+func (*ProxyArpIntfcDump) GetCrcString() string {
+       return "51077d14"
 }
-func (*ProxyArpAddDelReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
+func (*ProxyArpIntfcDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
 }
 
-// ProxyArpDump represents VPP binary API message 'proxy_arp_dump':
+// ProxyArpIntfcEnableDisable represents VPP binary API message 'proxy_arp_intfc_enable_disable':
 //
-//     "proxy_arp_dump",
+//     "proxy_arp_intfc_enable_disable",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4208,25 +4086,36 @@ func (*ProxyArpAddDelReply) GetMessageType() api.MessageType {
 //         "u32",
 //         "context"
 //     ],
+//     [
+//         "u32",
+//         "sw_if_index"
+//     ],
+//     [
+//         "u8",
+//         "enable_disable"
+//     ],
 //     {
-//         "crc": "0x51077d14"
+//         "crc": "0x69d24598"
 //     }
 //
-type ProxyArpDump struct{}
+type ProxyArpIntfcEnableDisable struct {
+       SwIfIndex     uint32
+       EnableDisable uint8
+}
 
-func (*ProxyArpDump) GetMessageName() string {
-       return "proxy_arp_dump"
+func (*ProxyArpIntfcEnableDisable) GetMessageName() string {
+       return "proxy_arp_intfc_enable_disable"
 }
-func (*ProxyArpDump) GetCrcString() string {
-       return "51077d14"
+func (*ProxyArpIntfcEnableDisable) GetCrcString() string {
+       return "69d24598"
 }
-func (*ProxyArpDump) GetMessageType() api.MessageType {
+func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// ProxyArpDetails represents VPP binary API message 'proxy_arp_details':
+// ProxyArpIntfcEnableDisableReply represents VPP binary API message 'proxy_arp_intfc_enable_disable_reply':
 //
-//     "proxy_arp_details",
+//     "proxy_arp_intfc_enable_disable_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4236,30 +4125,30 @@ func (*ProxyArpDump) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "vl_api_proxy_arp_t",
-//         "proxy"
+//         "i32",
+//         "retval"
 //     ],
 //     {
-//         "crc": "0x9b707c77"
+//         "crc": "0xe8d4e804"
 //     }
 //
-type ProxyArpDetails struct {
-       Proxy ProxyArp
+type ProxyArpIntfcEnableDisableReply struct {
+       Retval int32
 }
 
-func (*ProxyArpDetails) GetMessageName() string {
-       return "proxy_arp_details"
+func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string {
+       return "proxy_arp_intfc_enable_disable_reply"
 }
-func (*ProxyArpDetails) GetCrcString() string {
-       return "9b707c77"
+func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string {
+       return "e8d4e804"
 }
-func (*ProxyArpDetails) GetMessageType() api.MessageType {
+func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// ProxyArpIntfcEnableDisable represents VPP binary API message 'proxy_arp_intfc_enable_disable':
+// ResetFib represents VPP binary API message 'reset_fib':
 //
-//     "proxy_arp_intfc_enable_disable",
+//     "reset_fib",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4274,34 +4163,34 @@ func (*ProxyArpDetails) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u32",
-//         "sw_if_index"
+//         "vrf_id"
 //     ],
 //     [
 //         "u8",
-//         "enable_disable"
+//         "is_ipv6"
 //     ],
 //     {
-//         "crc": "0x69d24598"
+//         "crc": "0x8553ebd9"
 //     }
 //
-type ProxyArpIntfcEnableDisable struct {
-       SwIfIndex     uint32
-       EnableDisable uint8
+type ResetFib struct {
+       VrfID  uint32
+       IsIPv6 uint8
 }
 
-func (*ProxyArpIntfcEnableDisable) GetMessageName() string {
-       return "proxy_arp_intfc_enable_disable"
+func (*ResetFib) GetMessageName() string {
+       return "reset_fib"
 }
-func (*ProxyArpIntfcEnableDisable) GetCrcString() string {
-       return "69d24598"
+func (*ResetFib) GetCrcString() string {
+       return "8553ebd9"
 }
-func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType {
+func (*ResetFib) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// ProxyArpIntfcEnableDisableReply represents VPP binary API message 'proxy_arp_intfc_enable_disable_reply':
+// ResetFibReply represents VPP binary API message 'reset_fib_reply':
 //
-//     "proxy_arp_intfc_enable_disable_reply",
+//     "reset_fib_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4318,23 +4207,23 @@ func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type ProxyArpIntfcEnableDisableReply struct {
+type ResetFibReply struct {
        Retval int32
 }
 
-func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string {
-       return "proxy_arp_intfc_enable_disable_reply"
+func (*ResetFibReply) GetMessageName() string {
+       return "reset_fib_reply"
 }
-func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string {
+func (*ResetFibReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType {
+func (*ResetFibReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// ProxyArpIntfcDump represents VPP binary API message 'proxy_arp_intfc_dump':
+// SetArpNeighborLimit represents VPP binary API message 'set_arp_neighbor_limit':
 //
-//     "proxy_arp_intfc_dump",
+//     "set_arp_neighbor_limit",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4347,25 +4236,36 @@ func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType {
 //         "u32",
 //         "context"
 //     ],
+//     [
+//         "u8",
+//         "is_ipv6"
+//     ],
+//     [
+//         "u32",
+//         "arp_neighbor_limit"
+//     ],
 //     {
-//         "crc": "0x51077d14"
+//         "crc": "0x97d01fd6"
 //     }
 //
-type ProxyArpIntfcDump struct{}
+type SetArpNeighborLimit struct {
+       IsIPv6           uint8
+       ArpNeighborLimit uint32
+}
 
-func (*ProxyArpIntfcDump) GetMessageName() string {
-       return "proxy_arp_intfc_dump"
+func (*SetArpNeighborLimit) GetMessageName() string {
+       return "set_arp_neighbor_limit"
 }
-func (*ProxyArpIntfcDump) GetCrcString() string {
-       return "51077d14"
+func (*SetArpNeighborLimit) GetCrcString() string {
+       return "97d01fd6"
 }
-func (*ProxyArpIntfcDump) GetMessageType() api.MessageType {
+func (*SetArpNeighborLimit) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// ProxyArpIntfcDetails represents VPP binary API message 'proxy_arp_intfc_details':
+// SetArpNeighborLimitReply represents VPP binary API message 'set_arp_neighbor_limit_reply':
 //
-//     "proxy_arp_intfc_details",
+//     "set_arp_neighbor_limit_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4375,30 +4275,30 @@ func (*ProxyArpIntfcDump) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u32",
-//         "sw_if_index"
+//         "i32",
+//         "retval"
 //     ],
 //     {
-//         "crc": "0xf6458e5f"
+//         "crc": "0xe8d4e804"
 //     }
 //
-type ProxyArpIntfcDetails struct {
-       SwIfIndex uint32
+type SetArpNeighborLimitReply struct {
+       Retval int32
 }
 
-func (*ProxyArpIntfcDetails) GetMessageName() string {
-       return "proxy_arp_intfc_details"
+func (*SetArpNeighborLimitReply) GetMessageName() string {
+       return "set_arp_neighbor_limit_reply"
 }
-func (*ProxyArpIntfcDetails) GetCrcString() string {
-       return "f6458e5f"
+func (*SetArpNeighborLimitReply) GetCrcString() string {
+       return "e8d4e804"
 }
-func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType {
+func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// ResetFib represents VPP binary API message 'reset_fib':
+// SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash':
 //
-//     "reset_fib",
+//     "set_ip_flow_hash",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4419,28 +4319,63 @@ func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType {
 //         "u8",
 //         "is_ipv6"
 //     ],
+//     [
+//         "u8",
+//         "src"
+//     ],
+//     [
+//         "u8",
+//         "dst"
+//     ],
+//     [
+//         "u8",
+//         "sport"
+//     ],
+//     [
+//         "u8",
+//         "dport"
+//     ],
+//     [
+//         "u8",
+//         "proto"
+//     ],
+//     [
+//         "u8",
+//         "reverse"
+//     ],
+//     [
+//         "u8",
+//         "symmetric"
+//     ],
 //     {
-//         "crc": "0x8553ebd9"
+//         "crc": "0xa9084bfb"
 //     }
 //
-type ResetFib struct {
-       VrfID  uint32
-       IsIPv6 uint8
+type SetIPFlowHash struct {
+       VrfID     uint32
+       IsIPv6    uint8
+       Src       uint8
+       Dst       uint8
+       Sport     uint8
+       Dport     uint8
+       Proto     uint8
+       Reverse   uint8
+       Symmetric uint8
 }
 
-func (*ResetFib) GetMessageName() string {
-       return "reset_fib"
+func (*SetIPFlowHash) GetMessageName() string {
+       return "set_ip_flow_hash"
 }
-func (*ResetFib) GetCrcString() string {
-       return "8553ebd9"
+func (*SetIPFlowHash) GetCrcString() string {
+       return "a9084bfb"
 }
-func (*ResetFib) GetMessageType() api.MessageType {
+func (*SetIPFlowHash) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// ResetFibReply represents VPP binary API message 'reset_fib_reply':
+// SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply':
 //
-//     "reset_fib_reply",
+//     "set_ip_flow_hash_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4457,23 +4392,23 @@ func (*ResetFib) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type ResetFibReply struct {
+type SetIPFlowHashReply struct {
        Retval int32
 }
 
-func (*ResetFibReply) GetMessageName() string {
-       return "reset_fib_reply"
+func (*SetIPFlowHashReply) GetMessageName() string {
+       return "set_ip_flow_hash_reply"
 }
-func (*ResetFibReply) GetCrcString() string {
+func (*SetIPFlowHashReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*ResetFibReply) GetMessageType() api.MessageType {
+func (*SetIPFlowHashReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SetArpNeighborLimit represents VPP binary API message 'set_arp_neighbor_limit':
+// SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable':
 //
-//     "set_arp_neighbor_limit",
+//     "sw_interface_ip6_enable_disable",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4487,35 +4422,35 @@ func (*ResetFibReply) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u8",
-//         "is_ipv6"
+//         "u32",
+//         "sw_if_index"
 //     ],
 //     [
-//         "u32",
-//         "arp_neighbor_limit"
+//         "u8",
+//         "enable"
 //     ],
 //     {
-//         "crc": "0x97d01fd6"
+//         "crc": "0xa36fadc0"
 //     }
 //
-type SetArpNeighborLimit struct {
-       IsIPv6           uint8
-       ArpNeighborLimit uint32
+type SwInterfaceIP6EnableDisable struct {
+       SwIfIndex uint32
+       Enable    uint8
 }
 
-func (*SetArpNeighborLimit) GetMessageName() string {
-       return "set_arp_neighbor_limit"
+func (*SwInterfaceIP6EnableDisable) GetMessageName() string {
+       return "sw_interface_ip6_enable_disable"
 }
-func (*SetArpNeighborLimit) GetCrcString() string {
-       return "97d01fd6"
+func (*SwInterfaceIP6EnableDisable) GetCrcString() string {
+       return "a36fadc0"
 }
-func (*SetArpNeighborLimit) GetMessageType() api.MessageType {
+func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SetArpNeighborLimitReply represents VPP binary API message 'set_arp_neighbor_limit_reply':
+// SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply':
 //
-//     "set_arp_neighbor_limit_reply",
+//     "sw_interface_ip6_enable_disable_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4532,23 +4467,23 @@ func (*SetArpNeighborLimit) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type SetArpNeighborLimitReply struct {
+type SwInterfaceIP6EnableDisableReply struct {
        Retval int32
 }
 
-func (*SetArpNeighborLimitReply) GetMessageName() string {
-       return "set_arp_neighbor_limit_reply"
+func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string {
+       return "sw_interface_ip6_enable_disable_reply"
 }
-func (*SetArpNeighborLimitReply) GetCrcString() string {
+func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType {
+func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IoamEnable represents VPP binary API message 'ioam_enable':
+// SwInterfaceIP6ndRaConfig represents VPP binary API message 'sw_interface_ip6nd_ra_config':
 //
-//     "ioam_enable",
+//     "sw_interface_ip6nd_ra_config",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4562,55 +4497,95 @@ func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u16",
-//         "id"
+//         "u32",
+//         "sw_if_index"
 //     ],
 //     [
 //         "u8",
-//         "seqno"
+//         "suppress"
 //     ],
 //     [
 //         "u8",
-//         "analyse"
+//         "managed"
 //     ],
 //     [
 //         "u8",
-//         "pot_enable"
+//         "other"
 //     ],
 //     [
 //         "u8",
-//         "trace_enable"
+//         "ll_option"
+//     ],
+//     [
+//         "u8",
+//         "send_unicast"
+//     ],
+//     [
+//         "u8",
+//         "cease"
+//     ],
+//     [
+//         "u8",
+//         "is_no"
+//     ],
+//     [
+//         "u8",
+//         "default_router"
 //     ],
 //     [
 //         "u32",
-//         "node_id"
+//         "max_interval"
+//     ],
+//     [
+//         "u32",
+//         "min_interval"
+//     ],
+//     [
+//         "u32",
+//         "lifetime"
+//     ],
+//     [
+//         "u32",
+//         "initial_count"
+//     ],
+//     [
+//         "u32",
+//         "initial_interval"
 //     ],
 //     {
-//         "crc": "0x9392e032"
+//         "crc": "0xc3f02daa"
 //     }
 //
-type IoamEnable struct {
-       ID          uint16
-       Seqno       uint8
-       Analyse     uint8
-       PotEnable   uint8
-       TraceEnable uint8
-       NodeID      uint32
+type SwInterfaceIP6ndRaConfig struct {
+       SwIfIndex       uint32
+       Suppress        uint8
+       Managed         uint8
+       Other           uint8
+       LlOption        uint8
+       SendUnicast     uint8
+       Cease           uint8
+       IsNo            uint8
+       DefaultRouter   uint8
+       MaxInterval     uint32
+       MinInterval     uint32
+       Lifetime        uint32
+       InitialCount    uint32
+       InitialInterval uint32
 }
 
-func (*IoamEnable) GetMessageName() string {
-       return "ioam_enable"
+func (*SwInterfaceIP6ndRaConfig) GetMessageName() string {
+       return "sw_interface_ip6nd_ra_config"
 }
-func (*IoamEnable) GetCrcString() string {
-       return "9392e032"
+func (*SwInterfaceIP6ndRaConfig) GetCrcString() string {
+       return "c3f02daa"
 }
-func (*IoamEnable) GetMessageType() api.MessageType {
+func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IoamEnableReply represents VPP binary API message 'ioam_enable_reply':
+// SwInterfaceIP6ndRaConfigReply represents VPP binary API message 'sw_interface_ip6nd_ra_config_reply':
 //
-//     "ioam_enable_reply",
+//     "sw_interface_ip6nd_ra_config_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4627,23 +4602,23 @@ func (*IoamEnable) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type IoamEnableReply struct {
+type SwInterfaceIP6ndRaConfigReply struct {
        Retval int32
 }
 
-func (*IoamEnableReply) GetMessageName() string {
-       return "ioam_enable_reply"
+func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string {
+       return "sw_interface_ip6nd_ra_config_reply"
 }
-func (*IoamEnableReply) GetCrcString() string {
+func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*IoamEnableReply) GetMessageType() api.MessageType {
+func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IoamDisable represents VPP binary API message 'ioam_disable':
+// SwInterfaceIP6ndRaPrefix represents VPP binary API message 'sw_interface_ip6nd_ra_prefix':
 //
-//     "ioam_disable",
+//     "sw_interface_ip6nd_ra_prefix",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4657,30 +4632,81 @@ func (*IoamEnableReply) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u16",
-//         "id"
+//         "u32",
+//         "sw_if_index"
+//     ],
+//     [
+//         "u8",
+//         "address",
+//         16
+//     ],
+//     [
+//         "u8",
+//         "address_length"
+//     ],
+//     [
+//         "u8",
+//         "use_default"
+//     ],
+//     [
+//         "u8",
+//         "no_advertise"
+//     ],
+//     [
+//         "u8",
+//         "off_link"
+//     ],
+//     [
+//         "u8",
+//         "no_autoconfig"
+//     ],
+//     [
+//         "u8",
+//         "no_onlink"
+//     ],
+//     [
+//         "u8",
+//         "is_no"
+//     ],
+//     [
+//         "u32",
+//         "val_lifetime"
+//     ],
+//     [
+//         "u32",
+//         "pref_lifetime"
 //     ],
 //     {
-//         "crc": "0x6b16a45e"
+//         "crc": "0xca763c9a"
 //     }
 //
-type IoamDisable struct {
-       ID uint16
+type SwInterfaceIP6ndRaPrefix struct {
+       SwIfIndex     uint32
+       Address       []byte `struc:"[16]byte"`
+       AddressLength uint8
+       UseDefault    uint8
+       NoAdvertise   uint8
+       OffLink       uint8
+       NoAutoconfig  uint8
+       NoOnlink      uint8
+       IsNo          uint8
+       ValLifetime   uint32
+       PrefLifetime  uint32
 }
 
-func (*IoamDisable) GetMessageName() string {
-       return "ioam_disable"
+func (*SwInterfaceIP6ndRaPrefix) GetMessageName() string {
+       return "sw_interface_ip6nd_ra_prefix"
 }
-func (*IoamDisable) GetCrcString() string {
-       return "6b16a45e"
+func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string {
+       return "ca763c9a"
 }
-func (*IoamDisable) GetMessageType() api.MessageType {
+func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IoamDisableReply represents VPP binary API message 'ioam_disable_reply':
+// SwInterfaceIP6ndRaPrefixReply represents VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply':
 //
-//     "ioam_disable_reply",
+//     "sw_interface_ip6nd_ra_prefix_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4697,23 +4723,23 @@ func (*IoamDisable) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type IoamDisableReply struct {
+type SwInterfaceIP6ndRaPrefixReply struct {
        Retval int32
 }
 
-func (*IoamDisableReply) GetMessageName() string {
-       return "ioam_disable_reply"
+func (*SwInterfaceIP6ndRaPrefixReply) GetMessageName() string {
+       return "sw_interface_ip6nd_ra_prefix_reply"
 }
-func (*IoamDisableReply) GetCrcString() string {
+func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*IoamDisableReply) GetMessageType() api.MessageType {
+func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPReassemblySet represents VPP binary API message 'ip_reassembly_set':
+// WantIP4ArpEvents represents VPP binary API message 'want_ip4_arp_events':
 //
-//     "ip_reassembly_set",
+//     "want_ip4_arp_events",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4727,45 +4753,40 @@ func (*IoamDisableReply) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u32",
-//         "timeout_ms"
+//         "u8",
+//         "enable_disable"
 //     ],
 //     [
 //         "u32",
-//         "max_reassemblies"
+//         "pid"
 //     ],
 //     [
 //         "u32",
-//         "expire_walk_interval_ms"
-//     ],
-//     [
-//         "u8",
-//         "is_ip6"
+//         "address"
 //     ],
 //     {
-//         "crc": "0x1db184de"
+//         "crc": "0x77e06379"
 //     }
 //
-type IPReassemblySet struct {
-       TimeoutMs            uint32
-       MaxReassemblies      uint32
-       ExpireWalkIntervalMs uint32
-       IsIP6                uint8
+type WantIP4ArpEvents struct {
+       EnableDisable uint8
+       PID           uint32
+       Address       uint32
 }
 
-func (*IPReassemblySet) GetMessageName() string {
-       return "ip_reassembly_set"
+func (*WantIP4ArpEvents) GetMessageName() string {
+       return "want_ip4_arp_events"
 }
-func (*IPReassemblySet) GetCrcString() string {
-       return "1db184de"
+func (*WantIP4ArpEvents) GetCrcString() string {
+       return "77e06379"
 }
-func (*IPReassemblySet) GetMessageType() api.MessageType {
+func (*WantIP4ArpEvents) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply':
+// WantIP4ArpEventsReply represents VPP binary API message 'want_ip4_arp_events_reply':
 //
-//     "ip_reassembly_set_reply",
+//     "want_ip4_arp_events_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4782,23 +4803,23 @@ func (*IPReassemblySet) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type IPReassemblySetReply struct {
+type WantIP4ArpEventsReply struct {
        Retval int32
 }
 
-func (*IPReassemblySetReply) GetMessageName() string {
-       return "ip_reassembly_set_reply"
+func (*WantIP4ArpEventsReply) GetMessageName() string {
+       return "want_ip4_arp_events_reply"
 }
-func (*IPReassemblySetReply) GetCrcString() string {
+func (*WantIP4ArpEventsReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*IPReassemblySetReply) GetMessageType() api.MessageType {
+func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPReassemblyGet represents VPP binary API message 'ip_reassembly_get':
+// WantIP6NdEvents represents VPP binary API message 'want_ip6_nd_events':
 //
-//     "ip_reassembly_get",
+//     "want_ip6_nd_events",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4813,29 +4834,40 @@ func (*IPReassemblySetReply) GetMessageType() api.MessageType {
 //     ],
 //     [
 //         "u8",
-//         "is_ip6"
+//         "enable_disable"
+//     ],
+//     [
+//         "u32",
+//         "pid"
+//     ],
+//     [
+//         "u8",
+//         "address",
+//         16
 //     ],
 //     {
-//         "crc": "0x6fe91190"
+//         "crc": "0x1cf65fbb"
 //     }
 //
-type IPReassemblyGet struct {
-       IsIP6 uint8
+type WantIP6NdEvents struct {
+       EnableDisable uint8
+       PID           uint32
+       Address       []byte `struc:"[16]byte"`
 }
 
-func (*IPReassemblyGet) GetMessageName() string {
-       return "ip_reassembly_get"
+func (*WantIP6NdEvents) GetMessageName() string {
+       return "want_ip6_nd_events"
 }
-func (*IPReassemblyGet) GetCrcString() string {
-       return "6fe91190"
+func (*WantIP6NdEvents) GetCrcString() string {
+       return "1cf65fbb"
 }
-func (*IPReassemblyGet) GetMessageType() api.MessageType {
+func (*WantIP6NdEvents) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply':
+// WantIP6NdEventsReply represents VPP binary API message 'want_ip6_nd_events_reply':
 //
-//     "ip_reassembly_get_reply",
+//     "want_ip6_nd_events_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4848,47 +4880,27 @@ func (*IPReassemblyGet) GetMessageType() api.MessageType {
 //         "i32",
 //         "retval"
 //     ],
-//     [
-//         "u32",
-//         "timeout_ms"
-//     ],
-//     [
-//         "u32",
-//         "max_reassemblies"
-//     ],
-//     [
-//         "u32",
-//         "expire_walk_interval_ms"
-//     ],
-//     [
-//         "u8",
-//         "is_ip6"
-//     ],
 //     {
-//         "crc": "0x1f90afd1"
+//         "crc": "0xe8d4e804"
 //     }
 //
-type IPReassemblyGetReply struct {
-       Retval               int32
-       TimeoutMs            uint32
-       MaxReassemblies      uint32
-       ExpireWalkIntervalMs uint32
-       IsIP6                uint8
+type WantIP6NdEventsReply struct {
+       Retval int32
 }
 
-func (*IPReassemblyGetReply) GetMessageName() string {
-       return "ip_reassembly_get_reply"
+func (*WantIP6NdEventsReply) GetMessageName() string {
+       return "want_ip6_nd_events_reply"
 }
-func (*IPReassemblyGetReply) GetCrcString() string {
-       return "1f90afd1"
+func (*WantIP6NdEventsReply) GetCrcString() string {
+       return "e8d4e804"
 }
-func (*IPReassemblyGetReply) GetMessageType() api.MessageType {
+func (*WantIP6NdEventsReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable':
+// WantIP6RaEvents represents VPP binary API message 'want_ip6_ra_events':
 //
-//     "ip_reassembly_enable_disable",
+//     "want_ip6_ra_events",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4902,40 +4914,35 @@ func (*IPReassemblyGetReply) GetMessageType() api.MessageType {
 //         "context"
 //     ],
 //     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
 //         "u8",
-//         "enable_ip4"
+//         "enable_disable"
 //     ],
 //     [
-//         "u8",
-//         "enable_ip6"
+//         "u32",
+//         "pid"
 //     ],
 //     {
-//         "crc": "0xbb8dc5d0"
+//         "crc": "0x05b454b5"
 //     }
 //
-type IPReassemblyEnableDisable struct {
-       SwIfIndex uint32
-       EnableIP4 uint8
-       EnableIP6 uint8
+type WantIP6RaEvents struct {
+       EnableDisable uint8
+       PID           uint32
 }
 
-func (*IPReassemblyEnableDisable) GetMessageName() string {
-       return "ip_reassembly_enable_disable"
+func (*WantIP6RaEvents) GetMessageName() string {
+       return "want_ip6_ra_events"
 }
-func (*IPReassemblyEnableDisable) GetCrcString() string {
-       return "bb8dc5d0"
+func (*WantIP6RaEvents) GetCrcString() string {
+       return "05b454b5"
 }
-func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType {
+func (*WantIP6RaEvents) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply':
+// WantIP6RaEventsReply represents VPP binary API message 'want_ip6_ra_events_reply':
 //
-//     "ip_reassembly_enable_disable_reply",
+//     "want_ip6_ra_events_reply",
 //     [
 //         "u16",
 //         "_vl_msg_id"
@@ -4952,110 +4959,110 @@ func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType {
 //         "crc": "0xe8d4e804"
 //     }
 //
-type IPReassemblyEnableDisableReply struct {
+type WantIP6RaEventsReply struct {
        Retval int32
 }
 
-func (*IPReassemblyEnableDisableReply) GetMessageName() string {
-       return "ip_reassembly_enable_disable_reply"
+func (*WantIP6RaEventsReply) GetMessageName() string {
+       return "want_ip6_ra_events_reply"
 }
-func (*IPReassemblyEnableDisableReply) GetCrcString() string {
+func (*WantIP6RaEventsReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType {
+func (*WantIP6RaEventsReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
 func init() {
-       api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel")
-       api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply")
-       api.RegisterMessage((*IPFibDump)(nil), "ip.IPFibDump")
-       api.RegisterMessage((*IPFibDetails)(nil), "ip.IPFibDetails")
-       api.RegisterMessage((*IP6FibDump)(nil), "ip.IP6FibDump")
+       api.RegisterMessage((*IoamDisable)(nil), "ip.IoamDisable")
+       api.RegisterMessage((*IoamDisableReply)(nil), "ip.IoamDisableReply")
+       api.RegisterMessage((*IoamEnable)(nil), "ip.IoamEnable")
+       api.RegisterMessage((*IoamEnableReply)(nil), "ip.IoamEnableReply")
+       api.RegisterMessage((*IP4ArpEvent)(nil), "ip.IP4ArpEvent")
        api.RegisterMessage((*IP6FibDetails)(nil), "ip.IP6FibDetails")
-       api.RegisterMessage((*IPNeighborDump)(nil), "ip.IPNeighborDump")
-       api.RegisterMessage((*IPNeighborDetails)(nil), "ip.IPNeighborDetails")
-       api.RegisterMessage((*IPNeighborAddDel)(nil), "ip.IPNeighborAddDel")
-       api.RegisterMessage((*IPNeighborAddDelReply)(nil), "ip.IPNeighborAddDelReply")
-       api.RegisterMessage((*SetIPFlowHash)(nil), "ip.SetIPFlowHash")
-       api.RegisterMessage((*SetIPFlowHashReply)(nil), "ip.SetIPFlowHashReply")
-       api.RegisterMessage((*SwInterfaceIP6ndRaConfig)(nil), "ip.SwInterfaceIP6ndRaConfig")
-       api.RegisterMessage((*SwInterfaceIP6ndRaConfigReply)(nil), "ip.SwInterfaceIP6ndRaConfigReply")
-       api.RegisterMessage((*SwInterfaceIP6ndRaPrefix)(nil), "ip.SwInterfaceIP6ndRaPrefix")
-       api.RegisterMessage((*SwInterfaceIP6ndRaPrefixReply)(nil), "ip.SwInterfaceIP6ndRaPrefixReply")
+       api.RegisterMessage((*IP6FibDump)(nil), "ip.IP6FibDump")
+       api.RegisterMessage((*IP6MfibDetails)(nil), "ip.IP6MfibDetails")
+       api.RegisterMessage((*IP6MfibDump)(nil), "ip.IP6MfibDump")
+       api.RegisterMessage((*IP6NdEvent)(nil), "ip.IP6NdEvent")
+       api.RegisterMessage((*IP6RaEvent)(nil), "ip.IP6RaEvent")
        api.RegisterMessage((*IP6ndProxyAddDel)(nil), "ip.IP6ndProxyAddDel")
        api.RegisterMessage((*IP6ndProxyAddDelReply)(nil), "ip.IP6ndProxyAddDelReply")
        api.RegisterMessage((*IP6ndProxyDetails)(nil), "ip.IP6ndProxyDetails")
        api.RegisterMessage((*IP6ndProxyDump)(nil), "ip.IP6ndProxyDump")
        api.RegisterMessage((*IP6ndSendRouterSolicitation)(nil), "ip.IP6ndSendRouterSolicitation")
        api.RegisterMessage((*IP6ndSendRouterSolicitationReply)(nil), "ip.IP6ndSendRouterSolicitationReply")
-       api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable")
-       api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply")
        api.RegisterMessage((*IPAddDelRoute)(nil), "ip.IPAddDelRoute")
        api.RegisterMessage((*IPAddDelRouteReply)(nil), "ip.IPAddDelRouteReply")
-       api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel")
-       api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip.IPMrouteAddDelReply")
-       api.RegisterMessage((*IPMfibDump)(nil), "ip.IPMfibDump")
-       api.RegisterMessage((*IPMfibDetails)(nil), "ip.IPMfibDetails")
-       api.RegisterMessage((*IP6MfibDump)(nil), "ip.IP6MfibDump")
-       api.RegisterMessage((*IP6MfibDetails)(nil), "ip.IP6MfibDetails")
        api.RegisterMessage((*IPAddressDetails)(nil), "ip.IPAddressDetails")
        api.RegisterMessage((*IPAddressDump)(nil), "ip.IPAddressDump")
-       api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip.IPUnnumberedDetails")
-       api.RegisterMessage((*IPUnnumberedDump)(nil), "ip.IPUnnumberedDump")
+       api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel")
+       api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply")
+       api.RegisterMessage((*IPContainerProxyDetails)(nil), "ip.IPContainerProxyDetails")
+       api.RegisterMessage((*IPContainerProxyDump)(nil), "ip.IPContainerProxyDump")
        api.RegisterMessage((*IPDetails)(nil), "ip.IPDetails")
        api.RegisterMessage((*IPDump)(nil), "ip.IPDump")
-       api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump")
-       api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails")
+       api.RegisterMessage((*IPFibDetails)(nil), "ip.IPFibDetails")
+       api.RegisterMessage((*IPFibDump)(nil), "ip.IPFibDump")
+       api.RegisterMessage((*IPMfibDetails)(nil), "ip.IPMfibDetails")
+       api.RegisterMessage((*IPMfibDump)(nil), "ip.IPMfibDump")
+       api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel")
+       api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip.IPMrouteAddDelReply")
+       api.RegisterMessage((*IPNeighborAddDel)(nil), "ip.IPNeighborAddDel")
+       api.RegisterMessage((*IPNeighborAddDelReply)(nil), "ip.IPNeighborAddDelReply")
+       api.RegisterMessage((*IPNeighborDetails)(nil), "ip.IPNeighborDetails")
+       api.RegisterMessage((*IPNeighborDump)(nil), "ip.IPNeighborDump")
+       api.RegisterMessage((*IPProbeNeighbor)(nil), "ip.IPProbeNeighbor")
+       api.RegisterMessage((*IPProbeNeighborReply)(nil), "ip.IPProbeNeighborReply")
        api.RegisterMessage((*IPPuntPolice)(nil), "ip.IPPuntPolice")
        api.RegisterMessage((*IPPuntPoliceReply)(nil), "ip.IPPuntPoliceReply")
        api.RegisterMessage((*IPPuntRedirect)(nil), "ip.IPPuntRedirect")
-       api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip.IPPuntRedirectReply")
-       api.RegisterMessage((*IPPuntRedirectDump)(nil), "ip.IPPuntRedirectDump")
        api.RegisterMessage((*IPPuntRedirectDetails)(nil), "ip.IPPuntRedirectDetails")
-       api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel")
-       api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply")
-       api.RegisterMessage((*IPContainerProxyDump)(nil), "ip.IPContainerProxyDump")
-       api.RegisterMessage((*IPContainerProxyDetails)(nil), "ip.IPContainerProxyDetails")
+       api.RegisterMessage((*IPPuntRedirectDump)(nil), "ip.IPPuntRedirectDump")
+       api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip.IPPuntRedirectReply")
+       api.RegisterMessage((*IPReassemblyEnableDisable)(nil), "ip.IPReassemblyEnableDisable")
+       api.RegisterMessage((*IPReassemblyEnableDisableReply)(nil), "ip.IPReassemblyEnableDisableReply")
+       api.RegisterMessage((*IPReassemblyGet)(nil), "ip.IPReassemblyGet")
+       api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip.IPReassemblyGetReply")
+       api.RegisterMessage((*IPReassemblySet)(nil), "ip.IPReassemblySet")
+       api.RegisterMessage((*IPReassemblySetReply)(nil), "ip.IPReassemblySetReply")
+       api.RegisterMessage((*IPScanNeighborEnableDisable)(nil), "ip.IPScanNeighborEnableDisable")
+       api.RegisterMessage((*IPScanNeighborEnableDisableReply)(nil), "ip.IPScanNeighborEnableDisableReply")
        api.RegisterMessage((*IPSourceAndPortRangeCheckAddDel)(nil), "ip.IPSourceAndPortRangeCheckAddDel")
        api.RegisterMessage((*IPSourceAndPortRangeCheckAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckAddDelReply")
        api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDel")
        api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDelReply")
        api.RegisterMessage((*IPSourceCheckInterfaceAddDel)(nil), "ip.IPSourceCheckInterfaceAddDel")
        api.RegisterMessage((*IPSourceCheckInterfaceAddDelReply)(nil), "ip.IPSourceCheckInterfaceAddDelReply")
-       api.RegisterMessage((*IPScanNeighborEnableDisable)(nil), "ip.IPScanNeighborEnableDisable")
-       api.RegisterMessage((*IPScanNeighborEnableDisableReply)(nil), "ip.IPScanNeighborEnableDisableReply")
-       api.RegisterMessage((*IPProbeNeighbor)(nil), "ip.IPProbeNeighbor")
-       api.RegisterMessage((*IPProbeNeighborReply)(nil), "ip.IPProbeNeighborReply")
-       api.RegisterMessage((*WantIP4ArpEvents)(nil), "ip.WantIP4ArpEvents")
-       api.RegisterMessage((*WantIP4ArpEventsReply)(nil), "ip.WantIP4ArpEventsReply")
-       api.RegisterMessage((*IP4ArpEvent)(nil), "ip.IP4ArpEvent")
-       api.RegisterMessage((*WantIP6NdEvents)(nil), "ip.WantIP6NdEvents")
-       api.RegisterMessage((*WantIP6NdEventsReply)(nil), "ip.WantIP6NdEventsReply")
-       api.RegisterMessage((*IP6NdEvent)(nil), "ip.IP6NdEvent")
-       api.RegisterMessage((*WantIP6RaEvents)(nil), "ip.WantIP6RaEvents")
-       api.RegisterMessage((*WantIP6RaEventsReply)(nil), "ip.WantIP6RaEventsReply")
-       api.RegisterMessage((*IP6RaEvent)(nil), "ip.IP6RaEvent")
+       api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel")
+       api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply")
+       api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip.IPUnnumberedDetails")
+       api.RegisterMessage((*IPUnnumberedDump)(nil), "ip.IPUnnumberedDump")
+       api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails")
+       api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump")
        api.RegisterMessage((*ProxyArpAddDel)(nil), "ip.ProxyArpAddDel")
        api.RegisterMessage((*ProxyArpAddDelReply)(nil), "ip.ProxyArpAddDelReply")
-       api.RegisterMessage((*ProxyArpDump)(nil), "ip.ProxyArpDump")
        api.RegisterMessage((*ProxyArpDetails)(nil), "ip.ProxyArpDetails")
+       api.RegisterMessage((*ProxyArpDump)(nil), "ip.ProxyArpDump")
+       api.RegisterMessage((*ProxyArpIntfcDetails)(nil), "ip.ProxyArpIntfcDetails")
+       api.RegisterMessage((*ProxyArpIntfcDump)(nil), "ip.ProxyArpIntfcDump")
        api.RegisterMessage((*ProxyArpIntfcEnableDisable)(nil), "ip.ProxyArpIntfcEnableDisable")
        api.RegisterMessage((*ProxyArpIntfcEnableDisableReply)(nil), "ip.ProxyArpIntfcEnableDisableReply")
-       api.RegisterMessage((*ProxyArpIntfcDump)(nil), "ip.ProxyArpIntfcDump")
-       api.RegisterMessage((*ProxyArpIntfcDetails)(nil), "ip.ProxyArpIntfcDetails")
        api.RegisterMessage((*ResetFib)(nil), "ip.ResetFib")
        api.RegisterMessage((*ResetFibReply)(nil), "ip.ResetFibReply")
        api.RegisterMessage((*SetArpNeighborLimit)(nil), "ip.SetArpNeighborLimit")
        api.RegisterMessage((*SetArpNeighborLimitReply)(nil), "ip.SetArpNeighborLimitReply")
-       api.RegisterMessage((*IoamEnable)(nil), "ip.IoamEnable")
-       api.RegisterMessage((*IoamEnableReply)(nil), "ip.IoamEnableReply")
-       api.RegisterMessage((*IoamDisable)(nil), "ip.IoamDisable")
-       api.RegisterMessage((*IoamDisableReply)(nil), "ip.IoamDisableReply")
-       api.RegisterMessage((*IPReassemblySet)(nil), "ip.IPReassemblySet")
-       api.RegisterMessage((*IPReassemblySetReply)(nil), "ip.IPReassemblySetReply")
-       api.RegisterMessage((*IPReassemblyGet)(nil), "ip.IPReassemblyGet")
-       api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip.IPReassemblyGetReply")
-       api.RegisterMessage((*IPReassemblyEnableDisable)(nil), "ip.IPReassemblyEnableDisable")
-       api.RegisterMessage((*IPReassemblyEnableDisableReply)(nil), "ip.IPReassemblyEnableDisableReply")
+       api.RegisterMessage((*SetIPFlowHash)(nil), "ip.SetIPFlowHash")
+       api.RegisterMessage((*SetIPFlowHashReply)(nil), "ip.SetIPFlowHashReply")
+       api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable")
+       api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply")
+       api.RegisterMessage((*SwInterfaceIP6ndRaConfig)(nil), "ip.SwInterfaceIP6ndRaConfig")
+       api.RegisterMessage((*SwInterfaceIP6ndRaConfigReply)(nil), "ip.SwInterfaceIP6ndRaConfigReply")
+       api.RegisterMessage((*SwInterfaceIP6ndRaPrefix)(nil), "ip.SwInterfaceIP6ndRaPrefix")
+       api.RegisterMessage((*SwInterfaceIP6ndRaPrefixReply)(nil), "ip.SwInterfaceIP6ndRaPrefixReply")
+       api.RegisterMessage((*WantIP4ArpEvents)(nil), "ip.WantIP4ArpEvents")
+       api.RegisterMessage((*WantIP4ArpEventsReply)(nil), "ip.WantIP4ArpEventsReply")
+       api.RegisterMessage((*WantIP6NdEvents)(nil), "ip.WantIP6NdEvents")
+       api.RegisterMessage((*WantIP6NdEventsReply)(nil), "ip.WantIP6NdEventsReply")
+       api.RegisterMessage((*WantIP6RaEvents)(nil), "ip.WantIP6RaEvents")
+       api.RegisterMessage((*WantIP6RaEventsReply)(nil), "ip.WantIP6RaEventsReply")
 }