Generator improvements and cleanup
[govpp.git] / examples / bin_api / interfaces / interfaces.ba.go
index 68a8b44..5f949df 100644 (file)
@@ -5,17 +5,15 @@
  Package interfaces is a generated from VPP binary API module 'interface'.
 
  It contains following objects:
-        51 messages
-         3 types
-         1 alias
         25 services
-
+         1 alias
+        51 messages
 */
 package interfaces
 
-import "git.fd.io/govpp.git/api"
-import "github.com/lunixbochs/struc"
-import "bytes"
+import api "git.fd.io/govpp.git/api"
+import struc "github.com/lunixbochs/struc"
+import bytes "bytes"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = api.RegisterMessage
@@ -23,90 +21,6 @@ var _ = struc.Pack
 var _ = bytes.NewBuffer
 
 // Services represents VPP binary API services:
-//
-//     "services": {
-//         "create_subif": {
-//             "reply": "create_subif_reply"
-//         },
-//         "sw_interface_set_ip_directed_broadcast": {
-//             "reply": "sw_interface_set_ip_directed_broadcast_reply"
-//         },
-//         "delete_subif": {
-//             "reply": "delete_subif_reply"
-//         },
-//         "sw_interface_get_mac_address": {
-//             "reply": "sw_interface_get_mac_address_reply"
-//         },
-//         "sw_interface_tag_add_del": {
-//             "reply": "sw_interface_tag_add_del_reply"
-//         },
-//         "collect_detailed_interface_stats": {
-//             "reply": "collect_detailed_interface_stats_reply"
-//         },
-//         "sw_interface_dump": {
-//             "reply": "sw_interface_details",
-//             "stream": true
-//         },
-//         "sw_interface_set_rx_placement": {
-//             "reply": "sw_interface_set_rx_placement_reply"
-//         },
-//         "sw_interface_add_del_address": {
-//             "reply": "sw_interface_add_del_address_reply"
-//         },
-//         "sw_interface_get_table": {
-//             "reply": "sw_interface_get_table_reply"
-//         },
-//         "interface_name_renumber": {
-//             "reply": "interface_name_renumber_reply"
-//         },
-//         "create_loopback_instance": {
-//             "reply": "create_loopback_instance_reply"
-//         },
-//         "sw_interface_set_mtu": {
-//             "reply": "sw_interface_set_mtu_reply"
-//         },
-//         "want_interface_events": {
-//             "reply": "want_interface_events_reply",
-//             "events": [
-//                 "sw_interface_event"
-//             ]
-//         },
-//         "create_loopback": {
-//             "reply": "create_loopback_reply"
-//         },
-//         "sw_interface_clear_stats": {
-//             "reply": "sw_interface_clear_stats_reply"
-//         },
-//         "hw_interface_set_mtu": {
-//             "reply": "hw_interface_set_mtu_reply"
-//         },
-//         "sw_interface_set_mac_address": {
-//             "reply": "sw_interface_set_mac_address_reply"
-//         },
-//         "sw_interface_set_unnumbered": {
-//             "reply": "sw_interface_set_unnumbered_reply"
-//         },
-//         "sw_interface_rx_placement_dump": {
-//             "reply": "sw_interface_rx_placement_details",
-//             "stream": true
-//         },
-//         "sw_interface_set_flags": {
-//             "reply": "sw_interface_set_flags_reply"
-//         },
-//         "delete_loopback": {
-//             "reply": "delete_loopback_reply"
-//         },
-//         "sw_interface_set_rx_mode": {
-//             "reply": "sw_interface_set_rx_mode_reply"
-//         },
-//         "create_vlan_subif": {
-//             "reply": "create_vlan_subif_reply"
-//         },
-//         "sw_interface_set_table": {
-//             "reply": "sw_interface_set_table_reply"
-//         }
-//     },
-//
 type Services interface {
        DumpSwInterface(*SwInterfaceDump) ([]*SwInterfaceDetails, error)
        DumpSwInterfaceRxPlacement(*SwInterfaceRxPlacementDump) ([]*SwInterfaceRxPlacementDetails, error)
@@ -138,791 +52,371 @@ type Services interface {
 /* Aliases */
 
 // InterfaceIndex represents VPP binary API alias 'interface_index':
-//
-//     "interface_index": {
-//         "type": "u32"
-//     }
-//
 type InterfaceIndex uint32
 
-/* Types */
-
-// VlibCounter represents VPP binary API type 'vlib_counter':
-//
-//     "vlib_counter",
-//     [
-//         "u64",
-//         "packets"
-//     ],
-//     [
-//         "u64",
-//         "bytes"
-//     ],
-//     {
-//         "crc": "0xce2325a2"
-//     }
-//
-type VlibCounter struct {
-       Packets uint64
-       Bytes   uint64
-}
-
-func (*VlibCounter) GetTypeName() string {
-       return "vlib_counter"
-}
-func (*VlibCounter) GetCrcString() string {
-       return "ce2325a2"
-}
-
-// VnetCombinedCounter represents VPP binary API type 'vnet_combined_counter':
-//
-//     "vnet_combined_counter",
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u64",
-//         "rx_packets"
-//     ],
-//     [
-//         "u64",
-//         "rx_bytes"
-//     ],
-//     [
-//         "u64",
-//         "rx_unicast_packets"
-//     ],
-//     [
-//         "u64",
-//         "rx_unicast_bytes"
-//     ],
-//     [
-//         "u64",
-//         "rx_multicast_packets"
-//     ],
-//     [
-//         "u64",
-//         "rx_multicast_bytes"
-//     ],
-//     [
-//         "u64",
-//         "rx_broadcast_packets"
-//     ],
-//     [
-//         "u64",
-//         "rx_broadcast_bytes"
-//     ],
-//     [
-//         "u64",
-//         "tx_packets"
-//     ],
-//     [
-//         "u64",
-//         "tx_bytes"
-//     ],
-//     [
-//         "u64",
-//         "tx_unicast_packets"
-//     ],
-//     [
-//         "u64",
-//         "tx_unicast_bytes"
-//     ],
-//     [
-//         "u64",
-//         "tx_multicast_packets"
-//     ],
-//     [
-//         "u64",
-//         "tx_multicast_bytes"
-//     ],
-//     [
-//         "u64",
-//         "tx_broadcast_packets"
-//     ],
-//     [
-//         "u64",
-//         "tx_broadcast_bytes"
-//     ],
-//     {
-//         "crc": "0x20905ca4"
-//     }
-//
-type VnetCombinedCounter struct {
-       SwIfIndex          uint32
-       RxPackets          uint64
-       RxBytes            uint64
-       RxUnicastPackets   uint64
-       RxUnicastBytes     uint64
-       RxMulticastPackets uint64
-       RxMulticastBytes   uint64
-       RxBroadcastPackets uint64
-       RxBroadcastBytes   uint64
-       TxPackets          uint64
-       TxBytes            uint64
-       TxUnicastPackets   uint64
-       TxUnicastBytes     uint64
-       TxMulticastPackets uint64
-       TxMulticastBytes   uint64
-       TxBroadcastPackets uint64
-       TxBroadcastBytes   uint64
-}
-
-func (*VnetCombinedCounter) GetTypeName() string {
-       return "vnet_combined_counter"
-}
-func (*VnetCombinedCounter) GetCrcString() string {
-       return "20905ca4"
-}
-
-// VnetSimpleCounter represents VPP binary API type 'vnet_simple_counter':
-//
-//     "vnet_simple_counter",
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u64",
-//         "drop"
-//     ],
-//     [
-//         "u64",
-//         "punt"
-//     ],
-//     [
-//         "u64",
-//         "rx_ip4"
-//     ],
-//     [
-//         "u64",
-//         "rx_ip6"
-//     ],
-//     [
-//         "u64",
-//         "rx_no_buffer"
-//     ],
-//     [
-//         "u64",
-//         "rx_miss"
-//     ],
-//     [
-//         "u64",
-//         "rx_error"
-//     ],
-//     [
-//         "u64",
-//         "tx_error"
-//     ],
-//     [
-//         "u64",
-//         "rx_mpls"
-//     ],
-//     {
-//         "crc": "0x8bd65e2d"
-//     }
-//
-type VnetSimpleCounter struct {
-       SwIfIndex  uint32
-       Drop       uint64
-       Punt       uint64
-       RxIP4      uint64
-       RxIP6      uint64
-       RxNoBuffer uint64
-       RxMiss     uint64
-       RxError    uint64
-       TxError    uint64
-       RxMpls     uint64
-}
-
-func (*VnetSimpleCounter) GetTypeName() string {
-       return "vnet_simple_counter"
-}
-func (*VnetSimpleCounter) GetCrcString() string {
-       return "8bd65e2d"
-}
-
 /* Messages */
 
-// SwInterfaceSetFlags represents VPP binary API message 'sw_interface_set_flags':
-//
-//     "sw_interface_set_flags",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "admin_up_down"
-//     ],
-//     {
-//         "crc": "0x555485f5"
-//     }
-//
-type SwInterfaceSetFlags struct {
-       SwIfIndex   uint32
-       AdminUpDown uint8
+// CollectDetailedInterfaceStats represents VPP binary API message 'collect_detailed_interface_stats':
+type CollectDetailedInterfaceStats struct {
+       SwIfIndex     uint32
+       EnableDisable uint8
 }
 
-func (*SwInterfaceSetFlags) GetMessageName() string {
-       return "sw_interface_set_flags"
+func (*CollectDetailedInterfaceStats) GetMessageName() string {
+       return "collect_detailed_interface_stats"
 }
-func (*SwInterfaceSetFlags) GetCrcString() string {
-       return "555485f5"
+func (*CollectDetailedInterfaceStats) GetCrcString() string {
+       return "69d24598"
 }
-func (*SwInterfaceSetFlags) GetMessageType() api.MessageType {
+func (*CollectDetailedInterfaceStats) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SwInterfaceSetFlagsReply represents VPP binary API message 'sw_interface_set_flags_reply':
-//
-//     "sw_interface_set_flags_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type SwInterfaceSetFlagsReply struct {
+// CollectDetailedInterfaceStatsReply represents VPP binary API message 'collect_detailed_interface_stats_reply':
+type CollectDetailedInterfaceStatsReply struct {
        Retval int32
 }
 
-func (*SwInterfaceSetFlagsReply) GetMessageName() string {
-       return "sw_interface_set_flags_reply"
+func (*CollectDetailedInterfaceStatsReply) GetMessageName() string {
+       return "collect_detailed_interface_stats_reply"
 }
-func (*SwInterfaceSetFlagsReply) GetCrcString() string {
+func (*CollectDetailedInterfaceStatsReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType {
+func (*CollectDetailedInterfaceStatsReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// HwInterfaceSetMtu represents VPP binary API message 'hw_interface_set_mtu':
-//
-//     "hw_interface_set_mtu",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u16",
-//         "mtu"
-//     ],
-//     {
-//         "crc": "0x132da1e7"
-//     }
-//
-type HwInterfaceSetMtu struct {
-       SwIfIndex uint32
-       Mtu       uint16
+// CreateLoopback represents VPP binary API message 'create_loopback':
+type CreateLoopback struct {
+       MacAddress []byte `struc:"[6]byte"`
 }
 
-func (*HwInterfaceSetMtu) GetMessageName() string {
-       return "hw_interface_set_mtu"
+func (*CreateLoopback) GetMessageName() string {
+       return "create_loopback"
 }
-func (*HwInterfaceSetMtu) GetCrcString() string {
-       return "132da1e7"
+func (*CreateLoopback) GetCrcString() string {
+       return "3b54129c"
 }
-func (*HwInterfaceSetMtu) GetMessageType() api.MessageType {
+func (*CreateLoopback) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// HwInterfaceSetMtuReply represents VPP binary API message 'hw_interface_set_mtu_reply':
-//
-//     "hw_interface_set_mtu_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type HwInterfaceSetMtuReply struct {
-       Retval int32
+// CreateLoopbackInstance represents VPP binary API message 'create_loopback_instance':
+type CreateLoopbackInstance struct {
+       MacAddress   []byte `struc:"[6]byte"`
+       IsSpecified  uint8
+       UserInstance uint32
 }
 
-func (*HwInterfaceSetMtuReply) GetMessageName() string {
-       return "hw_interface_set_mtu_reply"
+func (*CreateLoopbackInstance) GetMessageName() string {
+       return "create_loopback_instance"
 }
-func (*HwInterfaceSetMtuReply) GetCrcString() string {
-       return "e8d4e804"
+func (*CreateLoopbackInstance) GetCrcString() string {
+       return "7bbd53b6"
 }
-func (*HwInterfaceSetMtuReply) GetMessageType() api.MessageType {
+func (*CreateLoopbackInstance) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// CreateLoopbackInstanceReply represents VPP binary API message 'create_loopback_instance_reply':
+type CreateLoopbackInstanceReply struct {
+       Retval    int32
+       SwIfIndex uint32
+}
+
+func (*CreateLoopbackInstanceReply) GetMessageName() string {
+       return "create_loopback_instance_reply"
+}
+func (*CreateLoopbackInstanceReply) GetCrcString() string {
+       return "fda5941f"
+}
+func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SwInterfaceSetMtu represents VPP binary API message 'sw_interface_set_mtu':
-//
-//     "sw_interface_set_mtu",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "mtu",
-//         4
-//     ],
-//     {
-//         "crc": "0xd0008db8"
-//     }
-//
-type SwInterfaceSetMtu struct {
+// CreateLoopbackReply represents VPP binary API message 'create_loopback_reply':
+type CreateLoopbackReply struct {
+       Retval    int32
        SwIfIndex uint32
-       Mtu       []uint32 `struc:"[4]uint32"`
 }
 
-func (*SwInterfaceSetMtu) GetMessageName() string {
-       return "sw_interface_set_mtu"
+func (*CreateLoopbackReply) GetMessageName() string {
+       return "create_loopback_reply"
 }
-func (*SwInterfaceSetMtu) GetCrcString() string {
-       return "d0008db8"
+func (*CreateLoopbackReply) GetCrcString() string {
+       return "fda5941f"
 }
-func (*SwInterfaceSetMtu) GetMessageType() api.MessageType {
+func (*CreateLoopbackReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// CreateSubif represents VPP binary API message 'create_subif':
+type CreateSubif struct {
+       SwIfIndex      uint32
+       SubID          uint32
+       NoTags         uint8
+       OneTag         uint8
+       TwoTags        uint8
+       Dot1ad         uint8
+       ExactMatch     uint8
+       DefaultSub     uint8
+       OuterVlanIDAny uint8
+       InnerVlanIDAny uint8
+       OuterVlanID    uint16
+       InnerVlanID    uint16
+}
+
+func (*CreateSubif) GetMessageName() string {
+       return "create_subif"
+}
+func (*CreateSubif) GetCrcString() string {
+       return "86cfe408"
+}
+func (*CreateSubif) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SwInterfaceSetMtuReply represents VPP binary API message 'sw_interface_set_mtu_reply':
-//
-//     "sw_interface_set_mtu_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type SwInterfaceSetMtuReply struct {
-       Retval int32
+// CreateSubifReply represents VPP binary API message 'create_subif_reply':
+type CreateSubifReply struct {
+       Retval    int32
+       SwIfIndex uint32
 }
 
-func (*SwInterfaceSetMtuReply) GetMessageName() string {
-       return "sw_interface_set_mtu_reply"
+func (*CreateSubifReply) GetMessageName() string {
+       return "create_subif_reply"
 }
-func (*SwInterfaceSetMtuReply) GetCrcString() string {
-       return "e8d4e804"
+func (*CreateSubifReply) GetCrcString() string {
+       return "fda5941f"
 }
-func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType {
+func (*CreateSubifReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SwInterfaceSetIPDirectedBroadcast represents VPP binary API message 'sw_interface_set_ip_directed_broadcast':
-//
-//     "sw_interface_set_ip_directed_broadcast",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "enable"
-//     ],
-//     {
-//         "crc": "0xa36fadc0"
-//     }
-//
-type SwInterfaceSetIPDirectedBroadcast struct {
+// CreateVlanSubif represents VPP binary API message 'create_vlan_subif':
+type CreateVlanSubif struct {
        SwIfIndex uint32
-       Enable    uint8
+       VlanID    uint32
 }
 
-func (*SwInterfaceSetIPDirectedBroadcast) GetMessageName() string {
-       return "sw_interface_set_ip_directed_broadcast"
+func (*CreateVlanSubif) GetMessageName() string {
+       return "create_vlan_subif"
 }
-func (*SwInterfaceSetIPDirectedBroadcast) GetCrcString() string {
-       return "a36fadc0"
+func (*CreateVlanSubif) GetCrcString() string {
+       return "70cadeda"
 }
-func (*SwInterfaceSetIPDirectedBroadcast) GetMessageType() api.MessageType {
+func (*CreateVlanSubif) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SwInterfaceSetIPDirectedBroadcastReply represents VPP binary API message 'sw_interface_set_ip_directed_broadcast_reply':
-//
-//     "sw_interface_set_ip_directed_broadcast_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type SwInterfaceSetIPDirectedBroadcastReply struct {
-       Retval int32
+// CreateVlanSubifReply represents VPP binary API message 'create_vlan_subif_reply':
+type CreateVlanSubifReply struct {
+       Retval    int32
+       SwIfIndex uint32
 }
 
-func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageName() string {
-       return "sw_interface_set_ip_directed_broadcast_reply"
+func (*CreateVlanSubifReply) GetMessageName() string {
+       return "create_vlan_subif_reply"
 }
-func (*SwInterfaceSetIPDirectedBroadcastReply) GetCrcString() string {
-       return "e8d4e804"
+func (*CreateVlanSubifReply) GetCrcString() string {
+       return "fda5941f"
 }
-func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageType() api.MessageType {
+func (*CreateVlanSubifReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SwInterfaceEvent represents VPP binary API message 'sw_interface_event':
-//
-//     "sw_interface_event",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "pid"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "admin_up_down"
-//     ],
-//     [
-//         "u8",
-//         "link_up_down"
-//     ],
-//     [
-//         "u8",
-//         "deleted"
-//     ],
-//     {
-//         "crc": "0xbf9938e4"
-//     }
-//
-type SwInterfaceEvent struct {
-       PID         uint32
-       SwIfIndex   uint32
-       AdminUpDown uint8
-       LinkUpDown  uint8
-       Deleted     uint8
+// DeleteLoopback represents VPP binary API message 'delete_loopback':
+type DeleteLoopback struct {
+       SwIfIndex uint32
 }
 
-func (*SwInterfaceEvent) GetMessageName() string {
-       return "sw_interface_event"
+func (*DeleteLoopback) GetMessageName() string {
+       return "delete_loopback"
 }
-func (*SwInterfaceEvent) GetCrcString() string {
-       return "bf9938e4"
+func (*DeleteLoopback) GetCrcString() string {
+       return "529cb13f"
 }
-func (*SwInterfaceEvent) GetMessageType() api.MessageType {
-       return api.EventMessage
+func (*DeleteLoopback) GetMessageType() api.MessageType {
+       return api.RequestMessage
 }
 
-// WantInterfaceEvents represents VPP binary API message 'want_interface_events':
-//
-//     "want_interface_events",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "enable_disable"
-//     ],
-//     [
-//         "u32",
-//         "pid"
-//     ],
-//     {
-//         "crc": "0x476f5a08"
-//     }
-//
-type WantInterfaceEvents struct {
-       EnableDisable uint32
-       PID           uint32
+// DeleteLoopbackReply represents VPP binary API message 'delete_loopback_reply':
+type DeleteLoopbackReply struct {
+       Retval int32
 }
 
-func (*WantInterfaceEvents) GetMessageName() string {
-       return "want_interface_events"
+func (*DeleteLoopbackReply) GetMessageName() string {
+       return "delete_loopback_reply"
 }
-func (*WantInterfaceEvents) GetCrcString() string {
-       return "476f5a08"
+func (*DeleteLoopbackReply) GetCrcString() string {
+       return "e8d4e804"
 }
-func (*WantInterfaceEvents) GetMessageType() api.MessageType {
+func (*DeleteLoopbackReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// DeleteSubif represents VPP binary API message 'delete_subif':
+type DeleteSubif struct {
+       SwIfIndex uint32
+}
+
+func (*DeleteSubif) GetMessageName() string {
+       return "delete_subif"
+}
+func (*DeleteSubif) GetCrcString() string {
+       return "529cb13f"
+}
+func (*DeleteSubif) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// WantInterfaceEventsReply represents VPP binary API message 'want_interface_events_reply':
-//
-//     "want_interface_events_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type WantInterfaceEventsReply struct {
+// DeleteSubifReply represents VPP binary API message 'delete_subif_reply':
+type DeleteSubifReply struct {
        Retval int32
 }
 
-func (*WantInterfaceEventsReply) GetMessageName() string {
-       return "want_interface_events_reply"
+func (*DeleteSubifReply) GetMessageName() string {
+       return "delete_subif_reply"
 }
-func (*WantInterfaceEventsReply) GetCrcString() string {
+func (*DeleteSubifReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*WantInterfaceEventsReply) GetMessageType() api.MessageType {
+func (*DeleteSubifReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SwInterfaceDetails represents VPP binary API message 'sw_interface_details':
-//
-//     "sw_interface_details",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "sup_sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "l2_address_length"
-//     ],
-//     [
-//         "u8",
-//         "l2_address",
-//         8
-//     ],
-//     [
-//         "u8",
-//         "interface_name",
-//         64
-//     ],
-//     [
-//         "u8",
-//         "admin_up_down"
-//     ],
-//     [
-//         "u8",
-//         "link_up_down"
-//     ],
-//     [
-//         "u8",
-//         "link_duplex"
-//     ],
-//     [
-//         "u32",
-//         "link_speed"
-//     ],
-//     [
-//         "u16",
-//         "link_mtu"
-//     ],
-//     [
-//         "u32",
-//         "mtu",
-//         4
-//     ],
-//     [
-//         "u32",
-//         "sub_id"
-//     ],
-//     [
-//         "u8",
-//         "sub_dot1ad"
-//     ],
-//     [
-//         "u8",
-//         "sub_dot1ah"
-//     ],
-//     [
-//         "u8",
-//         "sub_number_of_tags"
-//     ],
-//     [
-//         "u16",
-//         "sub_outer_vlan_id"
-//     ],
-//     [
-//         "u16",
-//         "sub_inner_vlan_id"
-//     ],
-//     [
-//         "u8",
-//         "sub_exact_match"
-//     ],
-//     [
-//         "u8",
-//         "sub_default"
-//     ],
-//     [
-//         "u8",
-//         "sub_outer_vlan_id_any"
-//     ],
-//     [
-//         "u8",
-//         "sub_inner_vlan_id_any"
-//     ],
-//     [
-//         "u32",
-//         "vtr_op"
-//     ],
-//     [
-//         "u32",
-//         "vtr_push_dot1q"
-//     ],
-//     [
-//         "u32",
-//         "vtr_tag1"
-//     ],
-//     [
-//         "u32",
-//         "vtr_tag2"
-//     ],
-//     [
-//         "u8",
-//         "tag",
-//         64
-//     ],
-//     [
-//         "u16",
-//         "outer_tag"
-//     ],
-//     [
-//         "u8",
-//         "b_dmac",
-//         6
-//     ],
-//     [
-//         "u8",
-//         "b_smac",
-//         6
-//     ],
-//     [
-//         "u16",
-//         "b_vlanid"
-//     ],
-//     [
-//         "u32",
-//         "i_sid"
-//     ],
-//     {
-//         "crc": "0xe4ee7eb6"
-//     }
-//
-type SwInterfaceDetails struct {
-       SwIfIndex         uint32
-       SupSwIfIndex      uint32
-       L2AddressLength   uint32
+// HwInterfaceSetMtu represents VPP binary API message 'hw_interface_set_mtu':
+type HwInterfaceSetMtu struct {
+       SwIfIndex uint32
+       Mtu       uint16
+}
+
+func (*HwInterfaceSetMtu) GetMessageName() string {
+       return "hw_interface_set_mtu"
+}
+func (*HwInterfaceSetMtu) GetCrcString() string {
+       return "132da1e7"
+}
+func (*HwInterfaceSetMtu) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// HwInterfaceSetMtuReply represents VPP binary API message 'hw_interface_set_mtu_reply':
+type HwInterfaceSetMtuReply struct {
+       Retval int32
+}
+
+func (*HwInterfaceSetMtuReply) GetMessageName() string {
+       return "hw_interface_set_mtu_reply"
+}
+func (*HwInterfaceSetMtuReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*HwInterfaceSetMtuReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// InterfaceNameRenumber represents VPP binary API message 'interface_name_renumber':
+type InterfaceNameRenumber struct {
+       SwIfIndex          uint32
+       NewShowDevInstance uint32
+}
+
+func (*InterfaceNameRenumber) GetMessageName() string {
+       return "interface_name_renumber"
+}
+func (*InterfaceNameRenumber) GetCrcString() string {
+       return "39194269"
+}
+func (*InterfaceNameRenumber) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// InterfaceNameRenumberReply represents VPP binary API message 'interface_name_renumber_reply':
+type InterfaceNameRenumberReply struct {
+       Retval int32
+}
+
+func (*InterfaceNameRenumberReply) GetMessageName() string {
+       return "interface_name_renumber_reply"
+}
+func (*InterfaceNameRenumberReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// SwInterfaceAddDelAddress represents VPP binary API message 'sw_interface_add_del_address':
+type SwInterfaceAddDelAddress struct {
+       SwIfIndex     uint32
+       IsAdd         uint8
+       IsIPv6        uint8
+       DelAll        uint8
+       AddressLength uint8
+       Address       []byte `struc:"[16]byte"`
+}
+
+func (*SwInterfaceAddDelAddress) GetMessageName() string {
+       return "sw_interface_add_del_address"
+}
+func (*SwInterfaceAddDelAddress) GetCrcString() string {
+       return "7b583179"
+}
+func (*SwInterfaceAddDelAddress) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// SwInterfaceAddDelAddressReply represents VPP binary API message 'sw_interface_add_del_address_reply':
+type SwInterfaceAddDelAddressReply struct {
+       Retval int32
+}
+
+func (*SwInterfaceAddDelAddressReply) GetMessageName() string {
+       return "sw_interface_add_del_address_reply"
+}
+func (*SwInterfaceAddDelAddressReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// SwInterfaceClearStats represents VPP binary API message 'sw_interface_clear_stats':
+type SwInterfaceClearStats struct {
+       SwIfIndex uint32
+}
+
+func (*SwInterfaceClearStats) GetMessageName() string {
+       return "sw_interface_clear_stats"
+}
+func (*SwInterfaceClearStats) GetCrcString() string {
+       return "529cb13f"
+}
+func (*SwInterfaceClearStats) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// SwInterfaceClearStatsReply represents VPP binary API message 'sw_interface_clear_stats_reply':
+type SwInterfaceClearStatsReply struct {
+       Retval int32
+}
+
+func (*SwInterfaceClearStatsReply) GetMessageName() string {
+       return "sw_interface_clear_stats_reply"
+}
+func (*SwInterfaceClearStatsReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*SwInterfaceClearStatsReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// SwInterfaceDetails represents VPP binary API message 'sw_interface_details':
+type SwInterfaceDetails struct {
+       SwIfIndex         uint32
+       SupSwIfIndex      uint32
+       L2AddressLength   uint32
        L2Address         []byte `struc:"[8]byte"`
        InterfaceName     []byte `struc:"[64]byte"`
        AdminUpDown       uint8
@@ -964,33 +458,6 @@ func (*SwInterfaceDetails) GetMessageType() api.MessageType {
 }
 
 // SwInterfaceDump represents VPP binary API message 'sw_interface_dump':
-//
-//     "sw_interface_dump",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u8",
-//         "name_filter_valid"
-//     ],
-//     [
-//         "u8",
-//         "name_filter",
-//         49
-//     ],
-//     {
-//         "crc": "0x63f5e3b7"
-//     }
-//
 type SwInterfaceDump struct {
        NameFilterValid uint8
        NameFilter      []byte `struc:"[49]byte"`
@@ -1006,209 +473,57 @@ func (*SwInterfaceDump) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SwInterfaceAddDelAddress represents VPP binary API message 'sw_interface_add_del_address':
-//
-//     "sw_interface_add_del_address",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "is_add"
-//     ],
-//     [
-//         "u8",
-//         "is_ipv6"
-//     ],
-//     [
-//         "u8",
-//         "del_all"
-//     ],
-//     [
-//         "u8",
-//         "address_length"
-//     ],
-//     [
-//         "u8",
-//         "address",
-//         16
-//     ],
-//     {
-//         "crc": "0x7b583179"
-//     }
-//
-type SwInterfaceAddDelAddress struct {
-       SwIfIndex     uint32
-       IsAdd         uint8
-       IsIPv6        uint8
-       DelAll        uint8
-       AddressLength uint8
-       Address       []byte `struc:"[16]byte"`
-}
-
-func (*SwInterfaceAddDelAddress) GetMessageName() string {
-       return "sw_interface_add_del_address"
-}
-func (*SwInterfaceAddDelAddress) GetCrcString() string {
-       return "7b583179"
-}
-func (*SwInterfaceAddDelAddress) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// SwInterfaceAddDelAddressReply represents VPP binary API message 'sw_interface_add_del_address_reply':
-//
-//     "sw_interface_add_del_address_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type SwInterfaceAddDelAddressReply struct {
-       Retval int32
+// SwInterfaceEvent represents VPP binary API message 'sw_interface_event':
+type SwInterfaceEvent struct {
+       PID         uint32
+       SwIfIndex   uint32
+       AdminUpDown uint8
+       LinkUpDown  uint8
+       Deleted     uint8
 }
 
-func (*SwInterfaceAddDelAddressReply) GetMessageName() string {
-       return "sw_interface_add_del_address_reply"
+func (*SwInterfaceEvent) GetMessageName() string {
+       return "sw_interface_event"
 }
-func (*SwInterfaceAddDelAddressReply) GetCrcString() string {
-       return "e8d4e804"
+func (*SwInterfaceEvent) GetCrcString() string {
+       return "bf9938e4"
 }
-func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
+func (*SwInterfaceEvent) GetMessageType() api.MessageType {
+       return api.EventMessage
 }
 
-// SwInterfaceSetTable represents VPP binary API message 'sw_interface_set_table':
-//
-//     "sw_interface_set_table",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "is_ipv6"
-//     ],
-//     [
-//         "u32",
-//         "vrf_id"
-//     ],
-//     {
-//         "crc": "0xacb25d89"
-//     }
-//
-type SwInterfaceSetTable struct {
+// SwInterfaceGetMacAddress represents VPP binary API message 'sw_interface_get_mac_address':
+type SwInterfaceGetMacAddress struct {
        SwIfIndex uint32
-       IsIPv6    uint8
-       VrfID     uint32
 }
 
-func (*SwInterfaceSetTable) GetMessageName() string {
-       return "sw_interface_set_table"
+func (*SwInterfaceGetMacAddress) GetMessageName() string {
+       return "sw_interface_get_mac_address"
 }
-func (*SwInterfaceSetTable) GetCrcString() string {
-       return "acb25d89"
+func (*SwInterfaceGetMacAddress) GetCrcString() string {
+       return "529cb13f"
 }
-func (*SwInterfaceSetTable) GetMessageType() api.MessageType {
+func (*SwInterfaceGetMacAddress) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SwInterfaceSetTableReply represents VPP binary API message 'sw_interface_set_table_reply':
-//
-//     "sw_interface_set_table_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type SwInterfaceSetTableReply struct {
-       Retval int32
+// SwInterfaceGetMacAddressReply represents VPP binary API message 'sw_interface_get_mac_address_reply':
+type SwInterfaceGetMacAddressReply struct {
+       Retval     int32
+       MacAddress []byte `struc:"[6]byte"`
 }
 
-func (*SwInterfaceSetTableReply) GetMessageName() string {
-       return "sw_interface_set_table_reply"
+func (*SwInterfaceGetMacAddressReply) GetMessageName() string {
+       return "sw_interface_get_mac_address_reply"
 }
-func (*SwInterfaceSetTableReply) GetCrcString() string {
-       return "e8d4e804"
+func (*SwInterfaceGetMacAddressReply) GetCrcString() string {
+       return "8ea538d3"
 }
-func (*SwInterfaceSetTableReply) GetMessageType() api.MessageType {
+func (*SwInterfaceGetMacAddressReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
 // SwInterfaceGetTable represents VPP binary API message 'sw_interface_get_table':
-//
-//     "sw_interface_get_table",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "is_ipv6"
-//     ],
-//     {
-//         "crc": "0x6b7bcd0a"
-//     }
-//
 type SwInterfaceGetTable struct {
        SwIfIndex uint32
        IsIPv6    uint8
@@ -1225,28 +540,6 @@ func (*SwInterfaceGetTable) GetMessageType() api.MessageType {
 }
 
 // SwInterfaceGetTableReply represents VPP binary API message 'sw_interface_get_table_reply':
-//
-//     "sw_interface_get_table_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     [
-//         "u32",
-//         "vrf_id"
-//     ],
-//     {
-//         "crc": "0xa6eb0109"
-//     }
-//
 type SwInterfaceGetTableReply struct {
        Retval int32
        VrfID  uint32
@@ -1262,265 +555,102 @@ func (*SwInterfaceGetTableReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SwInterfaceSetUnnumbered represents VPP binary API message 'sw_interface_set_unnumbered':
-//
-//     "sw_interface_set_unnumbered",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "unnumbered_sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "is_add"
-//     ],
-//     {
-//         "crc": "0xa2c1bbda"
-//     }
-//
-type SwInterfaceSetUnnumbered struct {
-       SwIfIndex           uint32
-       UnnumberedSwIfIndex uint32
-       IsAdd               uint8
+// SwInterfaceRxPlacementDetails represents VPP binary API message 'sw_interface_rx_placement_details':
+type SwInterfaceRxPlacementDetails struct {
+       SwIfIndex uint32
+       QueueID   uint32
+       WorkerID  uint32
+       Mode      uint8
 }
 
-func (*SwInterfaceSetUnnumbered) GetMessageName() string {
-       return "sw_interface_set_unnumbered"
+func (*SwInterfaceRxPlacementDetails) GetMessageName() string {
+       return "sw_interface_rx_placement_details"
 }
-func (*SwInterfaceSetUnnumbered) GetCrcString() string {
-       return "a2c1bbda"
+func (*SwInterfaceRxPlacementDetails) GetCrcString() string {
+       return "0e9e33f4"
 }
-func (*SwInterfaceSetUnnumbered) GetMessageType() api.MessageType {
+func (*SwInterfaceRxPlacementDetails) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SwInterfaceSetUnnumberedReply represents VPP binary API message 'sw_interface_set_unnumbered_reply':
-//
-//     "sw_interface_set_unnumbered_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type SwInterfaceSetUnnumberedReply struct {
-       Retval int32
-}
-
-func (*SwInterfaceSetUnnumberedReply) GetMessageName() string {
-       return "sw_interface_set_unnumbered_reply"
-}
-func (*SwInterfaceSetUnnumberedReply) GetCrcString() string {
-       return "e8d4e804"
-}
-func (*SwInterfaceSetUnnumberedReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
-}
-
-// SwInterfaceClearStats represents VPP binary API message 'sw_interface_clear_stats':
-//
-//     "sw_interface_clear_stats",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     {
-//         "crc": "0x529cb13f"
-//     }
-//
-type SwInterfaceClearStats struct {
+// SwInterfaceRxPlacementDump represents VPP binary API message 'sw_interface_rx_placement_dump':
+type SwInterfaceRxPlacementDump struct {
        SwIfIndex uint32
 }
 
-func (*SwInterfaceClearStats) GetMessageName() string {
-       return "sw_interface_clear_stats"
+func (*SwInterfaceRxPlacementDump) GetMessageName() string {
+       return "sw_interface_rx_placement_dump"
 }
-func (*SwInterfaceClearStats) GetCrcString() string {
+func (*SwInterfaceRxPlacementDump) GetCrcString() string {
        return "529cb13f"
 }
-func (*SwInterfaceClearStats) GetMessageType() api.MessageType {
+func (*SwInterfaceRxPlacementDump) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SwInterfaceClearStatsReply represents VPP binary API message 'sw_interface_clear_stats_reply':
-//
-//     "sw_interface_clear_stats_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type SwInterfaceClearStatsReply struct {
+// SwInterfaceSetFlags represents VPP binary API message 'sw_interface_set_flags':
+type SwInterfaceSetFlags struct {
+       SwIfIndex   uint32
+       AdminUpDown uint8
+}
+
+func (*SwInterfaceSetFlags) GetMessageName() string {
+       return "sw_interface_set_flags"
+}
+func (*SwInterfaceSetFlags) GetCrcString() string {
+       return "555485f5"
+}
+func (*SwInterfaceSetFlags) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// SwInterfaceSetFlagsReply represents VPP binary API message 'sw_interface_set_flags_reply':
+type SwInterfaceSetFlagsReply struct {
        Retval int32
 }
 
-func (*SwInterfaceClearStatsReply) GetMessageName() string {
-       return "sw_interface_clear_stats_reply"
+func (*SwInterfaceSetFlagsReply) GetMessageName() string {
+       return "sw_interface_set_flags_reply"
 }
-func (*SwInterfaceClearStatsReply) GetCrcString() string {
+func (*SwInterfaceSetFlagsReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*SwInterfaceClearStatsReply) GetMessageType() api.MessageType {
+func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SwInterfaceTagAddDel represents VPP binary API message 'sw_interface_tag_add_del':
-//
-//     "sw_interface_tag_add_del",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u8",
-//         "is_add"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "tag",
-//         64
-//     ],
-//     {
-//         "crc": "0x14cc636c"
-//     }
-//
-type SwInterfaceTagAddDel struct {
-       IsAdd     uint8
+// SwInterfaceSetIPDirectedBroadcast represents VPP binary API message 'sw_interface_set_ip_directed_broadcast':
+type SwInterfaceSetIPDirectedBroadcast struct {
        SwIfIndex uint32
-       Tag       []byte `struc:"[64]byte"`
+       Enable    uint8
 }
 
-func (*SwInterfaceTagAddDel) GetMessageName() string {
-       return "sw_interface_tag_add_del"
+func (*SwInterfaceSetIPDirectedBroadcast) GetMessageName() string {
+       return "sw_interface_set_ip_directed_broadcast"
 }
-func (*SwInterfaceTagAddDel) GetCrcString() string {
-       return "14cc636c"
+func (*SwInterfaceSetIPDirectedBroadcast) GetCrcString() string {
+       return "a36fadc0"
 }
-func (*SwInterfaceTagAddDel) GetMessageType() api.MessageType {
+func (*SwInterfaceSetIPDirectedBroadcast) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SwInterfaceTagAddDelReply represents VPP binary API message 'sw_interface_tag_add_del_reply':
-//
-//     "sw_interface_tag_add_del_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type SwInterfaceTagAddDelReply struct {
+// SwInterfaceSetIPDirectedBroadcastReply represents VPP binary API message 'sw_interface_set_ip_directed_broadcast_reply':
+type SwInterfaceSetIPDirectedBroadcastReply struct {
        Retval int32
 }
 
-func (*SwInterfaceTagAddDelReply) GetMessageName() string {
-       return "sw_interface_tag_add_del_reply"
+func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageName() string {
+       return "sw_interface_set_ip_directed_broadcast_reply"
 }
-func (*SwInterfaceTagAddDelReply) GetCrcString() string {
+func (*SwInterfaceSetIPDirectedBroadcastReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*SwInterfaceTagAddDelReply) GetMessageType() api.MessageType {
+func (*SwInterfaceSetIPDirectedBroadcastReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
 // SwInterfaceSetMacAddress represents VPP binary API message 'sw_interface_set_mac_address':
-//
-//     "sw_interface_set_mac_address",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "mac_address",
-//         6
-//     ],
-//     {
-//         "crc": "0xeed5dfca"
-//     }
-//
 type SwInterfaceSetMacAddress struct {
        SwIfIndex  uint32
        MacAddress []byte `struc:"[6]byte"`
@@ -1537,24 +667,6 @@ func (*SwInterfaceSetMacAddress) GetMessageType() api.MessageType {
 }
 
 // SwInterfaceSetMacAddressReply represents VPP binary API message 'sw_interface_set_mac_address_reply':
-//
-//     "sw_interface_set_mac_address_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
 type SwInterfaceSetMacAddressReply struct {
        Retval int32
 }
@@ -1569,117 +681,38 @@ func (*SwInterfaceSetMacAddressReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SwInterfaceGetMacAddress represents VPP binary API message 'sw_interface_get_mac_address':
-//
-//     "sw_interface_get_mac_address",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     {
-//         "crc": "0x529cb13f"
-//     }
-//
-type SwInterfaceGetMacAddress struct {
+// SwInterfaceSetMtu represents VPP binary API message 'sw_interface_set_mtu':
+type SwInterfaceSetMtu struct {
        SwIfIndex uint32
+       Mtu       []uint32 `struc:"[4]uint32"`
 }
 
-func (*SwInterfaceGetMacAddress) GetMessageName() string {
-       return "sw_interface_get_mac_address"
+func (*SwInterfaceSetMtu) GetMessageName() string {
+       return "sw_interface_set_mtu"
 }
-func (*SwInterfaceGetMacAddress) GetCrcString() string {
-       return "529cb13f"
+func (*SwInterfaceSetMtu) GetCrcString() string {
+       return "d0008db8"
 }
-func (*SwInterfaceGetMacAddress) GetMessageType() api.MessageType {
+func (*SwInterfaceSetMtu) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// SwInterfaceGetMacAddressReply represents VPP binary API message 'sw_interface_get_mac_address_reply':
-//
-//     "sw_interface_get_mac_address_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     [
-//         "u8",
-//         "mac_address",
-//         6
-//     ],
-//     {
-//         "crc": "0x8ea538d3"
-//     }
-//
-type SwInterfaceGetMacAddressReply struct {
-       Retval     int32
-       MacAddress []byte `struc:"[6]byte"`
+// SwInterfaceSetMtuReply represents VPP binary API message 'sw_interface_set_mtu_reply':
+type SwInterfaceSetMtuReply struct {
+       Retval int32
 }
 
-func (*SwInterfaceGetMacAddressReply) GetMessageName() string {
-       return "sw_interface_get_mac_address_reply"
+func (*SwInterfaceSetMtuReply) GetMessageName() string {
+       return "sw_interface_set_mtu_reply"
 }
-func (*SwInterfaceGetMacAddressReply) GetCrcString() string {
-       return "8ea538d3"
+func (*SwInterfaceSetMtuReply) GetCrcString() string {
+       return "e8d4e804"
 }
-func (*SwInterfaceGetMacAddressReply) GetMessageType() api.MessageType {
+func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
 // SwInterfaceSetRxMode represents VPP binary API message 'sw_interface_set_rx_mode':
-//
-//     "sw_interface_set_rx_mode",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "queue_id_valid"
-//     ],
-//     [
-//         "u32",
-//         "queue_id"
-//     ],
-//     [
-//         "u8",
-//         "mode"
-//     ],
-//     {
-//         "crc": "0x2a1cc58c"
-//     }
-//
 type SwInterfaceSetRxMode struct {
        SwIfIndex    uint32
        QueueIDValid uint8
@@ -1698,24 +731,6 @@ func (*SwInterfaceSetRxMode) GetMessageType() api.MessageType {
 }
 
 // SwInterfaceSetRxModeReply represents VPP binary API message 'sw_interface_set_rx_mode_reply':
-//
-//     "sw_interface_set_rx_mode_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
 type SwInterfaceSetRxModeReply struct {
        Retval int32
 }
@@ -1731,40 +746,6 @@ func (*SwInterfaceSetRxModeReply) GetMessageType() api.MessageType {
 }
 
 // SwInterfaceSetRxPlacement represents VPP binary API message 'sw_interface_set_rx_placement':
-//
-//     "sw_interface_set_rx_placement",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "queue_id"
-//     ],
-//     [
-//         "u32",
-//         "worker_id"
-//     ],
-//     [
-//         "u8",
-//         "is_main"
-//     ],
-//     {
-//         "crc": "0x4ef4377d"
-//     }
-//
 type SwInterfaceSetRxPlacement struct {
        SwIfIndex uint32
        QueueID   uint32
@@ -1783,24 +764,6 @@ func (*SwInterfaceSetRxPlacement) GetMessageType() api.MessageType {
 }
 
 // SwInterfaceSetRxPlacementReply represents VPP binary API message 'sw_interface_set_rx_placement_reply':
-//
-//     "sw_interface_set_rx_placement_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
 type SwInterfaceSetRxPlacementReply struct {
        Retval int32
 }
@@ -1815,807 +778,183 @@ func (*SwInterfaceSetRxPlacementReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// SwInterfaceRxPlacementDump represents VPP binary API message 'sw_interface_rx_placement_dump':
-//
-//     "sw_interface_rx_placement_dump",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     {
-//         "crc": "0x529cb13f"
-//     }
-//
-type SwInterfaceRxPlacementDump struct {
-       SwIfIndex uint32
-}
-
-func (*SwInterfaceRxPlacementDump) GetMessageName() string {
-       return "sw_interface_rx_placement_dump"
-}
-func (*SwInterfaceRxPlacementDump) GetCrcString() string {
-       return "529cb13f"
-}
-func (*SwInterfaceRxPlacementDump) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// SwInterfaceRxPlacementDetails represents VPP binary API message 'sw_interface_rx_placement_details':
-//
-//     "sw_interface_rx_placement_details",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "queue_id"
-//     ],
-//     [
-//         "u32",
-//         "worker_id"
-//     ],
-//     [
-//         "u8",
-//         "mode"
-//     ],
-//     {
-//         "crc": "0x0e9e33f4"
-//     }
-//
-type SwInterfaceRxPlacementDetails struct {
+// SwInterfaceSetTable represents VPP binary API message 'sw_interface_set_table':
+type SwInterfaceSetTable struct {
        SwIfIndex uint32
-       QueueID   uint32
-       WorkerID  uint32
-       Mode      uint8
-}
-
-func (*SwInterfaceRxPlacementDetails) GetMessageName() string {
-       return "sw_interface_rx_placement_details"
-}
-func (*SwInterfaceRxPlacementDetails) GetCrcString() string {
-       return "0e9e33f4"
-}
-func (*SwInterfaceRxPlacementDetails) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// InterfaceNameRenumber represents VPP binary API message 'interface_name_renumber':
-//
-//     "interface_name_renumber",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "new_show_dev_instance"
-//     ],
-//     {
-//         "crc": "0x39194269"
-//     }
-//
-type InterfaceNameRenumber struct {
-       SwIfIndex          uint32
-       NewShowDevInstance uint32
+       IsIPv6    uint8
+       VrfID     uint32
 }
 
-func (*InterfaceNameRenumber) GetMessageName() string {
-       return "interface_name_renumber"
+func (*SwInterfaceSetTable) GetMessageName() string {
+       return "sw_interface_set_table"
 }
-func (*InterfaceNameRenumber) GetCrcString() string {
-       return "39194269"
+func (*SwInterfaceSetTable) GetCrcString() string {
+       return "acb25d89"
 }
-func (*InterfaceNameRenumber) GetMessageType() api.MessageType {
+func (*SwInterfaceSetTable) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// InterfaceNameRenumberReply represents VPP binary API message 'interface_name_renumber_reply':
-//
-//     "interface_name_renumber_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type InterfaceNameRenumberReply struct {
+// SwInterfaceSetTableReply represents VPP binary API message 'sw_interface_set_table_reply':
+type SwInterfaceSetTableReply struct {
        Retval int32
 }
 
-func (*InterfaceNameRenumberReply) GetMessageName() string {
-       return "interface_name_renumber_reply"
+func (*SwInterfaceSetTableReply) GetMessageName() string {
+       return "sw_interface_set_table_reply"
 }
-func (*InterfaceNameRenumberReply) GetCrcString() string {
+func (*SwInterfaceSetTableReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
-}
-
-// CreateSubif represents VPP binary API message 'create_subif':
-//
-//     "create_subif",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "sub_id"
-//     ],
-//     [
-//         "u8",
-//         "no_tags"
-//     ],
-//     [
-//         "u8",
-//         "one_tag"
-//     ],
-//     [
-//         "u8",
-//         "two_tags"
-//     ],
-//     [
-//         "u8",
-//         "dot1ad"
-//     ],
-//     [
-//         "u8",
-//         "exact_match"
-//     ],
-//     [
-//         "u8",
-//         "default_sub"
-//     ],
-//     [
-//         "u8",
-//         "outer_vlan_id_any"
-//     ],
-//     [
-//         "u8",
-//         "inner_vlan_id_any"
-//     ],
-//     [
-//         "u16",
-//         "outer_vlan_id"
-//     ],
-//     [
-//         "u16",
-//         "inner_vlan_id"
-//     ],
-//     {
-//         "crc": "0x86cfe408"
-//     }
-//
-type CreateSubif struct {
-       SwIfIndex      uint32
-       SubID          uint32
-       NoTags         uint8
-       OneTag         uint8
-       TwoTags        uint8
-       Dot1ad         uint8
-       ExactMatch     uint8
-       DefaultSub     uint8
-       OuterVlanIDAny uint8
-       InnerVlanIDAny uint8
-       OuterVlanID    uint16
-       InnerVlanID    uint16
-}
-
-func (*CreateSubif) GetMessageName() string {
-       return "create_subif"
-}
-func (*CreateSubif) GetCrcString() string {
-       return "86cfe408"
-}
-func (*CreateSubif) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// CreateSubifReply represents VPP binary API message 'create_subif_reply':
-//
-//     "create_subif_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     {
-//         "crc": "0xfda5941f"
-//     }
-//
-type CreateSubifReply struct {
-       Retval    int32
-       SwIfIndex uint32
-}
-
-func (*CreateSubifReply) GetMessageName() string {
-       return "create_subif_reply"
-}
-func (*CreateSubifReply) GetCrcString() string {
-       return "fda5941f"
-}
-func (*CreateSubifReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
-}
-
-// CreateVlanSubif represents VPP binary API message 'create_vlan_subif':
-//
-//     "create_vlan_subif",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u32",
-//         "vlan_id"
-//     ],
-//     {
-//         "crc": "0x70cadeda"
-//     }
-//
-type CreateVlanSubif struct {
-       SwIfIndex uint32
-       VlanID    uint32
-}
-
-func (*CreateVlanSubif) GetMessageName() string {
-       return "create_vlan_subif"
-}
-func (*CreateVlanSubif) GetCrcString() string {
-       return "70cadeda"
-}
-func (*CreateVlanSubif) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// CreateVlanSubifReply represents VPP binary API message 'create_vlan_subif_reply':
-//
-//     "create_vlan_subif_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     {
-//         "crc": "0xfda5941f"
-//     }
-//
-type CreateVlanSubifReply struct {
-       Retval    int32
-       SwIfIndex uint32
-}
-
-func (*CreateVlanSubifReply) GetMessageName() string {
-       return "create_vlan_subif_reply"
-}
-func (*CreateVlanSubifReply) GetCrcString() string {
-       return "fda5941f"
-}
-func (*CreateVlanSubifReply) GetMessageType() api.MessageType {
+func (*SwInterfaceSetTableReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// DeleteSubif represents VPP binary API message 'delete_subif':
-//
-//     "delete_subif",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     {
-//         "crc": "0x529cb13f"
-//     }
-//
-type DeleteSubif struct {
-       SwIfIndex uint32
+// SwInterfaceSetUnnumbered represents VPP binary API message 'sw_interface_set_unnumbered':
+type SwInterfaceSetUnnumbered struct {
+       SwIfIndex           uint32
+       UnnumberedSwIfIndex uint32
+       IsAdd               uint8
 }
 
-func (*DeleteSubif) GetMessageName() string {
-       return "delete_subif"
+func (*SwInterfaceSetUnnumbered) GetMessageName() string {
+       return "sw_interface_set_unnumbered"
 }
-func (*DeleteSubif) GetCrcString() string {
-       return "529cb13f"
+func (*SwInterfaceSetUnnumbered) GetCrcString() string {
+       return "a2c1bbda"
 }
-func (*DeleteSubif) GetMessageType() api.MessageType {
+func (*SwInterfaceSetUnnumbered) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// DeleteSubifReply represents VPP binary API message 'delete_subif_reply':
-//
-//     "delete_subif_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type DeleteSubifReply struct {
+// SwInterfaceSetUnnumberedReply represents VPP binary API message 'sw_interface_set_unnumbered_reply':
+type SwInterfaceSetUnnumberedReply struct {
        Retval int32
 }
 
-func (*DeleteSubifReply) GetMessageName() string {
-       return "delete_subif_reply"
+func (*SwInterfaceSetUnnumberedReply) GetMessageName() string {
+       return "sw_interface_set_unnumbered_reply"
 }
-func (*DeleteSubifReply) GetCrcString() string {
+func (*SwInterfaceSetUnnumberedReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*DeleteSubifReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
-}
-
-// CreateLoopback represents VPP binary API message 'create_loopback':
-//
-//     "create_loopback",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u8",
-//         "mac_address",
-//         6
-//     ],
-//     {
-//         "crc": "0x3b54129c"
-//     }
-//
-type CreateLoopback struct {
-       MacAddress []byte `struc:"[6]byte"`
-}
-
-func (*CreateLoopback) GetMessageName() string {
-       return "create_loopback"
-}
-func (*CreateLoopback) GetCrcString() string {
-       return "3b54129c"
-}
-func (*CreateLoopback) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// CreateLoopbackReply represents VPP binary API message 'create_loopback_reply':
-//
-//     "create_loopback_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     {
-//         "crc": "0xfda5941f"
-//     }
-//
-type CreateLoopbackReply struct {
-       Retval    int32
-       SwIfIndex uint32
-}
-
-func (*CreateLoopbackReply) GetMessageName() string {
-       return "create_loopback_reply"
-}
-func (*CreateLoopbackReply) GetCrcString() string {
-       return "fda5941f"
-}
-func (*CreateLoopbackReply) GetMessageType() api.MessageType {
-       return api.ReplyMessage
-}
-
-// CreateLoopbackInstance represents VPP binary API message 'create_loopback_instance':
-//
-//     "create_loopback_instance",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u8",
-//         "mac_address",
-//         6
-//     ],
-//     [
-//         "u8",
-//         "is_specified"
-//     ],
-//     [
-//         "u32",
-//         "user_instance"
-//     ],
-//     {
-//         "crc": "0x7bbd53b6"
-//     }
-//
-type CreateLoopbackInstance struct {
-       MacAddress   []byte `struc:"[6]byte"`
-       IsSpecified  uint8
-       UserInstance uint32
-}
-
-func (*CreateLoopbackInstance) GetMessageName() string {
-       return "create_loopback_instance"
-}
-func (*CreateLoopbackInstance) GetCrcString() string {
-       return "7bbd53b6"
-}
-func (*CreateLoopbackInstance) GetMessageType() api.MessageType {
-       return api.RequestMessage
-}
-
-// CreateLoopbackInstanceReply represents VPP binary API message 'create_loopback_instance_reply':
-//
-//     "create_loopback_instance_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     {
-//         "crc": "0xfda5941f"
-//     }
-//
-type CreateLoopbackInstanceReply struct {
-       Retval    int32
-       SwIfIndex uint32
-}
-
-func (*CreateLoopbackInstanceReply) GetMessageName() string {
-       return "create_loopback_instance_reply"
-}
-func (*CreateLoopbackInstanceReply) GetCrcString() string {
-       return "fda5941f"
-}
-func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType {
+func (*SwInterfaceSetUnnumberedReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// DeleteLoopback represents VPP binary API message 'delete_loopback':
-//
-//     "delete_loopback",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     {
-//         "crc": "0x529cb13f"
-//     }
-//
-type DeleteLoopback struct {
+// SwInterfaceTagAddDel represents VPP binary API message 'sw_interface_tag_add_del':
+type SwInterfaceTagAddDel struct {
+       IsAdd     uint8
        SwIfIndex uint32
+       Tag       []byte `struc:"[64]byte"`
 }
 
-func (*DeleteLoopback) GetMessageName() string {
-       return "delete_loopback"
+func (*SwInterfaceTagAddDel) GetMessageName() string {
+       return "sw_interface_tag_add_del"
 }
-func (*DeleteLoopback) GetCrcString() string {
-       return "529cb13f"
+func (*SwInterfaceTagAddDel) GetCrcString() string {
+       return "14cc636c"
 }
-func (*DeleteLoopback) GetMessageType() api.MessageType {
+func (*SwInterfaceTagAddDel) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// DeleteLoopbackReply represents VPP binary API message 'delete_loopback_reply':
-//
-//     "delete_loopback_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type DeleteLoopbackReply struct {
+// SwInterfaceTagAddDelReply represents VPP binary API message 'sw_interface_tag_add_del_reply':
+type SwInterfaceTagAddDelReply struct {
        Retval int32
 }
 
-func (*DeleteLoopbackReply) GetMessageName() string {
-       return "delete_loopback_reply"
+func (*SwInterfaceTagAddDelReply) GetMessageName() string {
+       return "sw_interface_tag_add_del_reply"
 }
-func (*DeleteLoopbackReply) GetCrcString() string {
+func (*SwInterfaceTagAddDelReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*DeleteLoopbackReply) GetMessageType() api.MessageType {
+func (*SwInterfaceTagAddDelReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
-// CollectDetailedInterfaceStats represents VPP binary API message 'collect_detailed_interface_stats':
-//
-//     "collect_detailed_interface_stats",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "client_index"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "u32",
-//         "sw_if_index"
-//     ],
-//     [
-//         "u8",
-//         "enable_disable"
-//     ],
-//     {
-//         "crc": "0x69d24598"
-//     }
-//
-type CollectDetailedInterfaceStats struct {
-       SwIfIndex     uint32
-       EnableDisable uint8
+// WantInterfaceEvents represents VPP binary API message 'want_interface_events':
+type WantInterfaceEvents struct {
+       EnableDisable uint32
+       PID           uint32
 }
 
-func (*CollectDetailedInterfaceStats) GetMessageName() string {
-       return "collect_detailed_interface_stats"
+func (*WantInterfaceEvents) GetMessageName() string {
+       return "want_interface_events"
 }
-func (*CollectDetailedInterfaceStats) GetCrcString() string {
-       return "69d24598"
+func (*WantInterfaceEvents) GetCrcString() string {
+       return "476f5a08"
 }
-func (*CollectDetailedInterfaceStats) GetMessageType() api.MessageType {
+func (*WantInterfaceEvents) GetMessageType() api.MessageType {
        return api.RequestMessage
 }
 
-// CollectDetailedInterfaceStatsReply represents VPP binary API message 'collect_detailed_interface_stats_reply':
-//
-//     "collect_detailed_interface_stats_reply",
-//     [
-//         "u16",
-//         "_vl_msg_id"
-//     ],
-//     [
-//         "u32",
-//         "context"
-//     ],
-//     [
-//         "i32",
-//         "retval"
-//     ],
-//     {
-//         "crc": "0xe8d4e804"
-//     }
-//
-type CollectDetailedInterfaceStatsReply struct {
+// WantInterfaceEventsReply represents VPP binary API message 'want_interface_events_reply':
+type WantInterfaceEventsReply struct {
        Retval int32
 }
 
-func (*CollectDetailedInterfaceStatsReply) GetMessageName() string {
-       return "collect_detailed_interface_stats_reply"
+func (*WantInterfaceEventsReply) GetMessageName() string {
+       return "want_interface_events_reply"
 }
-func (*CollectDetailedInterfaceStatsReply) GetCrcString() string {
+func (*WantInterfaceEventsReply) GetCrcString() string {
        return "e8d4e804"
 }
-func (*CollectDetailedInterfaceStatsReply) GetMessageType() api.MessageType {
+func (*WantInterfaceEventsReply) GetMessageType() api.MessageType {
        return api.ReplyMessage
 }
 
 func init() {
-       api.RegisterMessage((*SwInterfaceSetFlags)(nil), "interface.SwInterfaceSetFlags")
-       api.RegisterMessage((*SwInterfaceSetFlagsReply)(nil), "interface.SwInterfaceSetFlagsReply")
+       api.RegisterMessage((*CollectDetailedInterfaceStats)(nil), "interface.CollectDetailedInterfaceStats")
+       api.RegisterMessage((*CollectDetailedInterfaceStatsReply)(nil), "interface.CollectDetailedInterfaceStatsReply")
+       api.RegisterMessage((*CreateLoopback)(nil), "interface.CreateLoopback")
+       api.RegisterMessage((*CreateLoopbackInstance)(nil), "interface.CreateLoopbackInstance")
+       api.RegisterMessage((*CreateLoopbackInstanceReply)(nil), "interface.CreateLoopbackInstanceReply")
+       api.RegisterMessage((*CreateLoopbackReply)(nil), "interface.CreateLoopbackReply")
+       api.RegisterMessage((*CreateSubif)(nil), "interface.CreateSubif")
+       api.RegisterMessage((*CreateSubifReply)(nil), "interface.CreateSubifReply")
+       api.RegisterMessage((*CreateVlanSubif)(nil), "interface.CreateVlanSubif")
+       api.RegisterMessage((*CreateVlanSubifReply)(nil), "interface.CreateVlanSubifReply")
+       api.RegisterMessage((*DeleteLoopback)(nil), "interface.DeleteLoopback")
+       api.RegisterMessage((*DeleteLoopbackReply)(nil), "interface.DeleteLoopbackReply")
+       api.RegisterMessage((*DeleteSubif)(nil), "interface.DeleteSubif")
+       api.RegisterMessage((*DeleteSubifReply)(nil), "interface.DeleteSubifReply")
        api.RegisterMessage((*HwInterfaceSetMtu)(nil), "interface.HwInterfaceSetMtu")
        api.RegisterMessage((*HwInterfaceSetMtuReply)(nil), "interface.HwInterfaceSetMtuReply")
-       api.RegisterMessage((*SwInterfaceSetMtu)(nil), "interface.SwInterfaceSetMtu")
-       api.RegisterMessage((*SwInterfaceSetMtuReply)(nil), "interface.SwInterfaceSetMtuReply")
-       api.RegisterMessage((*SwInterfaceSetIPDirectedBroadcast)(nil), "interface.SwInterfaceSetIPDirectedBroadcast")
-       api.RegisterMessage((*SwInterfaceSetIPDirectedBroadcastReply)(nil), "interface.SwInterfaceSetIPDirectedBroadcastReply")
-       api.RegisterMessage((*SwInterfaceEvent)(nil), "interface.SwInterfaceEvent")
-       api.RegisterMessage((*WantInterfaceEvents)(nil), "interface.WantInterfaceEvents")
-       api.RegisterMessage((*WantInterfaceEventsReply)(nil), "interface.WantInterfaceEventsReply")
-       api.RegisterMessage((*SwInterfaceDetails)(nil), "interface.SwInterfaceDetails")
-       api.RegisterMessage((*SwInterfaceDump)(nil), "interface.SwInterfaceDump")
+       api.RegisterMessage((*InterfaceNameRenumber)(nil), "interface.InterfaceNameRenumber")
+       api.RegisterMessage((*InterfaceNameRenumberReply)(nil), "interface.InterfaceNameRenumberReply")
        api.RegisterMessage((*SwInterfaceAddDelAddress)(nil), "interface.SwInterfaceAddDelAddress")
        api.RegisterMessage((*SwInterfaceAddDelAddressReply)(nil), "interface.SwInterfaceAddDelAddressReply")
-       api.RegisterMessage((*SwInterfaceSetTable)(nil), "interface.SwInterfaceSetTable")
-       api.RegisterMessage((*SwInterfaceSetTableReply)(nil), "interface.SwInterfaceSetTableReply")
-       api.RegisterMessage((*SwInterfaceGetTable)(nil), "interface.SwInterfaceGetTable")
-       api.RegisterMessage((*SwInterfaceGetTableReply)(nil), "interface.SwInterfaceGetTableReply")
-       api.RegisterMessage((*SwInterfaceSetUnnumbered)(nil), "interface.SwInterfaceSetUnnumbered")
-       api.RegisterMessage((*SwInterfaceSetUnnumberedReply)(nil), "interface.SwInterfaceSetUnnumberedReply")
        api.RegisterMessage((*SwInterfaceClearStats)(nil), "interface.SwInterfaceClearStats")
        api.RegisterMessage((*SwInterfaceClearStatsReply)(nil), "interface.SwInterfaceClearStatsReply")
-       api.RegisterMessage((*SwInterfaceTagAddDel)(nil), "interface.SwInterfaceTagAddDel")
-       api.RegisterMessage((*SwInterfaceTagAddDelReply)(nil), "interface.SwInterfaceTagAddDelReply")
-       api.RegisterMessage((*SwInterfaceSetMacAddress)(nil), "interface.SwInterfaceSetMacAddress")
-       api.RegisterMessage((*SwInterfaceSetMacAddressReply)(nil), "interface.SwInterfaceSetMacAddressReply")
+       api.RegisterMessage((*SwInterfaceDetails)(nil), "interface.SwInterfaceDetails")
+       api.RegisterMessage((*SwInterfaceDump)(nil), "interface.SwInterfaceDump")
+       api.RegisterMessage((*SwInterfaceEvent)(nil), "interface.SwInterfaceEvent")
        api.RegisterMessage((*SwInterfaceGetMacAddress)(nil), "interface.SwInterfaceGetMacAddress")
        api.RegisterMessage((*SwInterfaceGetMacAddressReply)(nil), "interface.SwInterfaceGetMacAddressReply")
+       api.RegisterMessage((*SwInterfaceGetTable)(nil), "interface.SwInterfaceGetTable")
+       api.RegisterMessage((*SwInterfaceGetTableReply)(nil), "interface.SwInterfaceGetTableReply")
+       api.RegisterMessage((*SwInterfaceRxPlacementDetails)(nil), "interface.SwInterfaceRxPlacementDetails")
+       api.RegisterMessage((*SwInterfaceRxPlacementDump)(nil), "interface.SwInterfaceRxPlacementDump")
+       api.RegisterMessage((*SwInterfaceSetFlags)(nil), "interface.SwInterfaceSetFlags")
+       api.RegisterMessage((*SwInterfaceSetFlagsReply)(nil), "interface.SwInterfaceSetFlagsReply")
+       api.RegisterMessage((*SwInterfaceSetIPDirectedBroadcast)(nil), "interface.SwInterfaceSetIPDirectedBroadcast")
+       api.RegisterMessage((*SwInterfaceSetIPDirectedBroadcastReply)(nil), "interface.SwInterfaceSetIPDirectedBroadcastReply")
+       api.RegisterMessage((*SwInterfaceSetMacAddress)(nil), "interface.SwInterfaceSetMacAddress")
+       api.RegisterMessage((*SwInterfaceSetMacAddressReply)(nil), "interface.SwInterfaceSetMacAddressReply")
+       api.RegisterMessage((*SwInterfaceSetMtu)(nil), "interface.SwInterfaceSetMtu")
+       api.RegisterMessage((*SwInterfaceSetMtuReply)(nil), "interface.SwInterfaceSetMtuReply")
        api.RegisterMessage((*SwInterfaceSetRxMode)(nil), "interface.SwInterfaceSetRxMode")
        api.RegisterMessage((*SwInterfaceSetRxModeReply)(nil), "interface.SwInterfaceSetRxModeReply")
        api.RegisterMessage((*SwInterfaceSetRxPlacement)(nil), "interface.SwInterfaceSetRxPlacement")
        api.RegisterMessage((*SwInterfaceSetRxPlacementReply)(nil), "interface.SwInterfaceSetRxPlacementReply")
-       api.RegisterMessage((*SwInterfaceRxPlacementDump)(nil), "interface.SwInterfaceRxPlacementDump")
-       api.RegisterMessage((*SwInterfaceRxPlacementDetails)(nil), "interface.SwInterfaceRxPlacementDetails")
-       api.RegisterMessage((*InterfaceNameRenumber)(nil), "interface.InterfaceNameRenumber")
-       api.RegisterMessage((*InterfaceNameRenumberReply)(nil), "interface.InterfaceNameRenumberReply")
-       api.RegisterMessage((*CreateSubif)(nil), "interface.CreateSubif")
-       api.RegisterMessage((*CreateSubifReply)(nil), "interface.CreateSubifReply")
-       api.RegisterMessage((*CreateVlanSubif)(nil), "interface.CreateVlanSubif")
-       api.RegisterMessage((*CreateVlanSubifReply)(nil), "interface.CreateVlanSubifReply")
-       api.RegisterMessage((*DeleteSubif)(nil), "interface.DeleteSubif")
-       api.RegisterMessage((*DeleteSubifReply)(nil), "interface.DeleteSubifReply")
-       api.RegisterMessage((*CreateLoopback)(nil), "interface.CreateLoopback")
-       api.RegisterMessage((*CreateLoopbackReply)(nil), "interface.CreateLoopbackReply")
-       api.RegisterMessage((*CreateLoopbackInstance)(nil), "interface.CreateLoopbackInstance")
-       api.RegisterMessage((*CreateLoopbackInstanceReply)(nil), "interface.CreateLoopbackInstanceReply")
-       api.RegisterMessage((*DeleteLoopback)(nil), "interface.DeleteLoopback")
-       api.RegisterMessage((*DeleteLoopbackReply)(nil), "interface.DeleteLoopbackReply")
-       api.RegisterMessage((*CollectDetailedInterfaceStats)(nil), "interface.CollectDetailedInterfaceStats")
-       api.RegisterMessage((*CollectDetailedInterfaceStatsReply)(nil), "interface.CollectDetailedInterfaceStatsReply")
+       api.RegisterMessage((*SwInterfaceSetTable)(nil), "interface.SwInterfaceSetTable")
+       api.RegisterMessage((*SwInterfaceSetTableReply)(nil), "interface.SwInterfaceSetTableReply")
+       api.RegisterMessage((*SwInterfaceSetUnnumbered)(nil), "interface.SwInterfaceSetUnnumbered")
+       api.RegisterMessage((*SwInterfaceSetUnnumberedReply)(nil), "interface.SwInterfaceSetUnnumberedReply")
+       api.RegisterMessage((*SwInterfaceTagAddDel)(nil), "interface.SwInterfaceTagAddDel")
+       api.RegisterMessage((*SwInterfaceTagAddDelReply)(nil), "interface.SwInterfaceTagAddDelReply")
+       api.RegisterMessage((*WantInterfaceEvents)(nil), "interface.WantInterfaceEvents")
+       api.RegisterMessage((*WantInterfaceEventsReply)(nil), "interface.WantInterfaceEventsReply")
 }