Add various generator improvements
[govpp.git] / examples / binapi / acl / acl.ba.go
diff --git a/examples/binapi/acl/acl.ba.go b/examples/binapi/acl/acl.ba.go
new file mode 100644 (file)
index 0000000..a00918e
--- /dev/null
@@ -0,0 +1,970 @@
+// Code generated by GoVPP binapi-generator. DO NOT EDIT.
+// source: /usr/share/vpp/api/plugins/acl.api.json
+
+/*
+Package acl is a generated from VPP binary API module 'acl'.
+
+ The acl module consists of:
+         2 types
+        36 messages
+        18 services
+*/
+package acl
+
+import api "git.fd.io/govpp.git/api"
+import bytes "bytes"
+import context "context"
+import strconv "strconv"
+import struc "github.com/lunixbochs/struc"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = api.RegisterMessage
+var _ = bytes.NewBuffer
+var _ = context.Background
+var _ = strconv.Itoa
+var _ = struc.Pack
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the GoVPP api package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// GoVPP api package needs to be updated.
+const _ = api.GoVppAPIPackageIsVersion1 // please upgrade the GoVPP api package
+
+const (
+       // ModuleName is the name of this module.
+       ModuleName = "acl"
+       // APIVersion is the API version of this module.
+       APIVersion = "1.0.1"
+       // VersionCrc is the CRC of this module.
+       VersionCrc = 0x8ed22cb9
+)
+
+/* Types */
+
+// ACLRule represents VPP binary API type 'acl_rule':
+type ACLRule struct {
+       IsPermit               uint8
+       IsIPv6                 uint8
+       SrcIPAddr              []byte `struc:"[16]byte"`
+       SrcIPPrefixLen         uint8
+       DstIPAddr              []byte `struc:"[16]byte"`
+       DstIPPrefixLen         uint8
+       Proto                  uint8
+       SrcportOrIcmptypeFirst uint16
+       SrcportOrIcmptypeLast  uint16
+       DstportOrIcmpcodeFirst uint16
+       DstportOrIcmpcodeLast  uint16
+       TCPFlagsMask           uint8
+       TCPFlagsValue          uint8
+}
+
+func (*ACLRule) GetTypeName() string {
+       return "acl_rule"
+}
+func (*ACLRule) GetCrcString() string {
+       return "6f99bf4d"
+}
+
+// MacipACLRule represents VPP binary API type 'macip_acl_rule':
+type MacipACLRule struct {
+       IsPermit       uint8
+       IsIPv6         uint8
+       SrcMac         []byte `struc:"[6]byte"`
+       SrcMacMask     []byte `struc:"[6]byte"`
+       SrcIPAddr      []byte `struc:"[16]byte"`
+       SrcIPPrefixLen uint8
+}
+
+func (*MacipACLRule) GetTypeName() string {
+       return "macip_acl_rule"
+}
+func (*MacipACLRule) GetCrcString() string {
+       return "70589f1e"
+}
+
+/* Messages */
+
+// ACLAddReplace represents VPP binary API message 'acl_add_replace':
+type ACLAddReplace struct {
+       ACLIndex uint32
+       Tag      []byte `struc:"[64]byte"`
+       Count    uint32 `struc:"sizeof=R"`
+       R        []ACLRule
+}
+
+func (*ACLAddReplace) GetMessageName() string {
+       return "acl_add_replace"
+}
+func (*ACLAddReplace) GetCrcString() string {
+       return "e839997e"
+}
+func (*ACLAddReplace) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLAddReplaceReply represents VPP binary API message 'acl_add_replace_reply':
+type ACLAddReplaceReply struct {
+       ACLIndex uint32
+       Retval   int32
+}
+
+func (*ACLAddReplaceReply) GetMessageName() string {
+       return "acl_add_replace_reply"
+}
+func (*ACLAddReplaceReply) GetCrcString() string {
+       return "ac407b0c"
+}
+func (*ACLAddReplaceReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ACLDel represents VPP binary API message 'acl_del':
+type ACLDel struct {
+       ACLIndex uint32
+}
+
+func (*ACLDel) GetMessageName() string {
+       return "acl_del"
+}
+func (*ACLDel) GetCrcString() string {
+       return "ef34fea4"
+}
+func (*ACLDel) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLDelReply represents VPP binary API message 'acl_del_reply':
+type ACLDelReply struct {
+       Retval int32
+}
+
+func (*ACLDelReply) GetMessageName() string {
+       return "acl_del_reply"
+}
+func (*ACLDelReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*ACLDelReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ACLDetails represents VPP binary API message 'acl_details':
+type ACLDetails struct {
+       ACLIndex uint32
+       Tag      []byte `struc:"[64]byte"`
+       Count    uint32 `struc:"sizeof=R"`
+       R        []ACLRule
+}
+
+func (*ACLDetails) GetMessageName() string {
+       return "acl_details"
+}
+func (*ACLDetails) GetCrcString() string {
+       return "5bd895be"
+}
+func (*ACLDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ACLDump represents VPP binary API message 'acl_dump':
+type ACLDump struct {
+       ACLIndex uint32
+}
+
+func (*ACLDump) GetMessageName() string {
+       return "acl_dump"
+}
+func (*ACLDump) GetCrcString() string {
+       return "ef34fea4"
+}
+func (*ACLDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLInterfaceAddDel represents VPP binary API message 'acl_interface_add_del':
+type ACLInterfaceAddDel struct {
+       IsAdd     uint8
+       IsInput   uint8
+       SwIfIndex uint32
+       ACLIndex  uint32
+}
+
+func (*ACLInterfaceAddDel) GetMessageName() string {
+       return "acl_interface_add_del"
+}
+func (*ACLInterfaceAddDel) GetCrcString() string {
+       return "0b2aedd1"
+}
+func (*ACLInterfaceAddDel) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLInterfaceAddDelReply represents VPP binary API message 'acl_interface_add_del_reply':
+type ACLInterfaceAddDelReply struct {
+       Retval int32
+}
+
+func (*ACLInterfaceAddDelReply) GetMessageName() string {
+       return "acl_interface_add_del_reply"
+}
+func (*ACLInterfaceAddDelReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*ACLInterfaceAddDelReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ACLInterfaceEtypeWhitelistDetails represents VPP binary API message 'acl_interface_etype_whitelist_details':
+type ACLInterfaceEtypeWhitelistDetails struct {
+       SwIfIndex uint32
+       Count     uint8 `struc:"sizeof=Whitelist"`
+       NInput    uint8
+       Whitelist []uint16
+}
+
+func (*ACLInterfaceEtypeWhitelistDetails) GetMessageName() string {
+       return "acl_interface_etype_whitelist_details"
+}
+func (*ACLInterfaceEtypeWhitelistDetails) GetCrcString() string {
+       return "6a5d4e81"
+}
+func (*ACLInterfaceEtypeWhitelistDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ACLInterfaceEtypeWhitelistDump represents VPP binary API message 'acl_interface_etype_whitelist_dump':
+type ACLInterfaceEtypeWhitelistDump struct {
+       SwIfIndex uint32
+}
+
+func (*ACLInterfaceEtypeWhitelistDump) GetMessageName() string {
+       return "acl_interface_etype_whitelist_dump"
+}
+func (*ACLInterfaceEtypeWhitelistDump) GetCrcString() string {
+       return "529cb13f"
+}
+func (*ACLInterfaceEtypeWhitelistDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLInterfaceListDetails represents VPP binary API message 'acl_interface_list_details':
+type ACLInterfaceListDetails struct {
+       SwIfIndex uint32
+       Count     uint8 `struc:"sizeof=Acls"`
+       NInput    uint8
+       Acls      []uint32
+}
+
+func (*ACLInterfaceListDetails) GetMessageName() string {
+       return "acl_interface_list_details"
+}
+func (*ACLInterfaceListDetails) GetCrcString() string {
+       return "d5e80809"
+}
+func (*ACLInterfaceListDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ACLInterfaceListDump represents VPP binary API message 'acl_interface_list_dump':
+type ACLInterfaceListDump struct {
+       SwIfIndex uint32
+}
+
+func (*ACLInterfaceListDump) GetMessageName() string {
+       return "acl_interface_list_dump"
+}
+func (*ACLInterfaceListDump) GetCrcString() string {
+       return "529cb13f"
+}
+func (*ACLInterfaceListDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLInterfaceSetACLList represents VPP binary API message 'acl_interface_set_acl_list':
+type ACLInterfaceSetACLList struct {
+       SwIfIndex uint32
+       Count     uint8 `struc:"sizeof=Acls"`
+       NInput    uint8
+       Acls      []uint32
+}
+
+func (*ACLInterfaceSetACLList) GetMessageName() string {
+       return "acl_interface_set_acl_list"
+}
+func (*ACLInterfaceSetACLList) GetCrcString() string {
+       return "8baece38"
+}
+func (*ACLInterfaceSetACLList) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLInterfaceSetACLListReply represents VPP binary API message 'acl_interface_set_acl_list_reply':
+type ACLInterfaceSetACLListReply struct {
+       Retval int32
+}
+
+func (*ACLInterfaceSetACLListReply) GetMessageName() string {
+       return "acl_interface_set_acl_list_reply"
+}
+func (*ACLInterfaceSetACLListReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*ACLInterfaceSetACLListReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ACLInterfaceSetEtypeWhitelist represents VPP binary API message 'acl_interface_set_etype_whitelist':
+type ACLInterfaceSetEtypeWhitelist struct {
+       SwIfIndex uint32
+       Count     uint8 `struc:"sizeof=Whitelist"`
+       NInput    uint8
+       Whitelist []uint16
+}
+
+func (*ACLInterfaceSetEtypeWhitelist) GetMessageName() string {
+       return "acl_interface_set_etype_whitelist"
+}
+func (*ACLInterfaceSetEtypeWhitelist) GetCrcString() string {
+       return "f515efc5"
+}
+func (*ACLInterfaceSetEtypeWhitelist) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLInterfaceSetEtypeWhitelistReply represents VPP binary API message 'acl_interface_set_etype_whitelist_reply':
+type ACLInterfaceSetEtypeWhitelistReply struct {
+       Retval int32
+}
+
+func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageName() string {
+       return "acl_interface_set_etype_whitelist_reply"
+}
+func (*ACLInterfaceSetEtypeWhitelistReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ACLPluginControlPing represents VPP binary API message 'acl_plugin_control_ping':
+type ACLPluginControlPing struct{}
+
+func (*ACLPluginControlPing) GetMessageName() string {
+       return "acl_plugin_control_ping"
+}
+func (*ACLPluginControlPing) GetCrcString() string {
+       return "51077d14"
+}
+func (*ACLPluginControlPing) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLPluginControlPingReply represents VPP binary API message 'acl_plugin_control_ping_reply':
+type ACLPluginControlPingReply struct {
+       Retval      int32
+       ClientIndex uint32
+       VpePID      uint32
+}
+
+func (*ACLPluginControlPingReply) GetMessageName() string {
+       return "acl_plugin_control_ping_reply"
+}
+func (*ACLPluginControlPingReply) GetCrcString() string {
+       return "f6b0b8ca"
+}
+func (*ACLPluginControlPingReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ACLPluginGetConnTableMaxEntries represents VPP binary API message 'acl_plugin_get_conn_table_max_entries':
+type ACLPluginGetConnTableMaxEntries struct{}
+
+func (*ACLPluginGetConnTableMaxEntries) GetMessageName() string {
+       return "acl_plugin_get_conn_table_max_entries"
+}
+func (*ACLPluginGetConnTableMaxEntries) GetCrcString() string {
+       return "51077d14"
+}
+func (*ACLPluginGetConnTableMaxEntries) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLPluginGetConnTableMaxEntriesReply represents VPP binary API message 'acl_plugin_get_conn_table_max_entries_reply':
+type ACLPluginGetConnTableMaxEntriesReply struct {
+       ConnTableMaxEntries uint64
+}
+
+func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageName() string {
+       return "acl_plugin_get_conn_table_max_entries_reply"
+}
+func (*ACLPluginGetConnTableMaxEntriesReply) GetCrcString() string {
+       return "7a096d3d"
+}
+func (*ACLPluginGetConnTableMaxEntriesReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// ACLPluginGetVersion represents VPP binary API message 'acl_plugin_get_version':
+type ACLPluginGetVersion struct{}
+
+func (*ACLPluginGetVersion) GetMessageName() string {
+       return "acl_plugin_get_version"
+}
+func (*ACLPluginGetVersion) GetCrcString() string {
+       return "51077d14"
+}
+func (*ACLPluginGetVersion) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// ACLPluginGetVersionReply represents VPP binary API message 'acl_plugin_get_version_reply':
+type ACLPluginGetVersionReply struct {
+       Major uint32
+       Minor uint32
+}
+
+func (*ACLPluginGetVersionReply) GetMessageName() string {
+       return "acl_plugin_get_version_reply"
+}
+func (*ACLPluginGetVersionReply) GetCrcString() string {
+       return "9b32cf86"
+}
+func (*ACLPluginGetVersionReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// MacipACLAdd represents VPP binary API message 'macip_acl_add':
+type MacipACLAdd struct {
+       Tag   []byte `struc:"[64]byte"`
+       Count uint32 `struc:"sizeof=R"`
+       R     []MacipACLRule
+}
+
+func (*MacipACLAdd) GetMessageName() string {
+       return "macip_acl_add"
+}
+func (*MacipACLAdd) GetCrcString() string {
+       return "b3d3d65a"
+}
+func (*MacipACLAdd) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// MacipACLAddReplace represents VPP binary API message 'macip_acl_add_replace':
+type MacipACLAddReplace struct {
+       ACLIndex uint32
+       Tag      []byte `struc:"[64]byte"`
+       Count    uint32 `struc:"sizeof=R"`
+       R        []MacipACLRule
+}
+
+func (*MacipACLAddReplace) GetMessageName() string {
+       return "macip_acl_add_replace"
+}
+func (*MacipACLAddReplace) GetCrcString() string {
+       return "a0e8c01b"
+}
+func (*MacipACLAddReplace) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// MacipACLAddReplaceReply represents VPP binary API message 'macip_acl_add_replace_reply':
+type MacipACLAddReplaceReply struct {
+       ACLIndex uint32
+       Retval   int32
+}
+
+func (*MacipACLAddReplaceReply) GetMessageName() string {
+       return "macip_acl_add_replace_reply"
+}
+func (*MacipACLAddReplaceReply) GetCrcString() string {
+       return "ac407b0c"
+}
+func (*MacipACLAddReplaceReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// MacipACLAddReply represents VPP binary API message 'macip_acl_add_reply':
+type MacipACLAddReply struct {
+       ACLIndex uint32
+       Retval   int32
+}
+
+func (*MacipACLAddReply) GetMessageName() string {
+       return "macip_acl_add_reply"
+}
+func (*MacipACLAddReply) GetCrcString() string {
+       return "ac407b0c"
+}
+func (*MacipACLAddReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// MacipACLDel represents VPP binary API message 'macip_acl_del':
+type MacipACLDel struct {
+       ACLIndex uint32
+}
+
+func (*MacipACLDel) GetMessageName() string {
+       return "macip_acl_del"
+}
+func (*MacipACLDel) GetCrcString() string {
+       return "ef34fea4"
+}
+func (*MacipACLDel) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// MacipACLDelReply represents VPP binary API message 'macip_acl_del_reply':
+type MacipACLDelReply struct {
+       Retval int32
+}
+
+func (*MacipACLDelReply) GetMessageName() string {
+       return "macip_acl_del_reply"
+}
+func (*MacipACLDelReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*MacipACLDelReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// MacipACLDetails represents VPP binary API message 'macip_acl_details':
+type MacipACLDetails struct {
+       ACLIndex uint32
+       Tag      []byte `struc:"[64]byte"`
+       Count    uint32 `struc:"sizeof=R"`
+       R        []MacipACLRule
+}
+
+func (*MacipACLDetails) GetMessageName() string {
+       return "macip_acl_details"
+}
+func (*MacipACLDetails) GetCrcString() string {
+       return "dd2b55ba"
+}
+func (*MacipACLDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// MacipACLDump represents VPP binary API message 'macip_acl_dump':
+type MacipACLDump struct {
+       ACLIndex uint32
+}
+
+func (*MacipACLDump) GetMessageName() string {
+       return "macip_acl_dump"
+}
+func (*MacipACLDump) GetCrcString() string {
+       return "ef34fea4"
+}
+func (*MacipACLDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// MacipACLInterfaceAddDel represents VPP binary API message 'macip_acl_interface_add_del':
+type MacipACLInterfaceAddDel struct {
+       IsAdd     uint8
+       SwIfIndex uint32
+       ACLIndex  uint32
+}
+
+func (*MacipACLInterfaceAddDel) GetMessageName() string {
+       return "macip_acl_interface_add_del"
+}
+func (*MacipACLInterfaceAddDel) GetCrcString() string {
+       return "6a6be97c"
+}
+func (*MacipACLInterfaceAddDel) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// MacipACLInterfaceAddDelReply represents VPP binary API message 'macip_acl_interface_add_del_reply':
+type MacipACLInterfaceAddDelReply struct {
+       Retval int32
+}
+
+func (*MacipACLInterfaceAddDelReply) GetMessageName() string {
+       return "macip_acl_interface_add_del_reply"
+}
+func (*MacipACLInterfaceAddDelReply) GetCrcString() string {
+       return "e8d4e804"
+}
+func (*MacipACLInterfaceAddDelReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// MacipACLInterfaceGet represents VPP binary API message 'macip_acl_interface_get':
+type MacipACLInterfaceGet struct{}
+
+func (*MacipACLInterfaceGet) GetMessageName() string {
+       return "macip_acl_interface_get"
+}
+func (*MacipACLInterfaceGet) GetCrcString() string {
+       return "51077d14"
+}
+func (*MacipACLInterfaceGet) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+// MacipACLInterfaceGetReply represents VPP binary API message 'macip_acl_interface_get_reply':
+type MacipACLInterfaceGetReply struct {
+       Count uint32 `struc:"sizeof=Acls"`
+       Acls  []uint32
+}
+
+func (*MacipACLInterfaceGetReply) GetMessageName() string {
+       return "macip_acl_interface_get_reply"
+}
+func (*MacipACLInterfaceGetReply) GetCrcString() string {
+       return "accf9b05"
+}
+func (*MacipACLInterfaceGetReply) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// MacipACLInterfaceListDetails represents VPP binary API message 'macip_acl_interface_list_details':
+type MacipACLInterfaceListDetails struct {
+       SwIfIndex uint32
+       Count     uint8 `struc:"sizeof=Acls"`
+       Acls      []uint32
+}
+
+func (*MacipACLInterfaceListDetails) GetMessageName() string {
+       return "macip_acl_interface_list_details"
+}
+func (*MacipACLInterfaceListDetails) GetCrcString() string {
+       return "29783fa0"
+}
+func (*MacipACLInterfaceListDetails) GetMessageType() api.MessageType {
+       return api.ReplyMessage
+}
+
+// MacipACLInterfaceListDump represents VPP binary API message 'macip_acl_interface_list_dump':
+type MacipACLInterfaceListDump struct {
+       SwIfIndex uint32
+}
+
+func (*MacipACLInterfaceListDump) GetMessageName() string {
+       return "macip_acl_interface_list_dump"
+}
+func (*MacipACLInterfaceListDump) GetCrcString() string {
+       return "529cb13f"
+}
+func (*MacipACLInterfaceListDump) GetMessageType() api.MessageType {
+       return api.RequestMessage
+}
+
+func init() {
+       api.RegisterMessage((*ACLAddReplace)(nil), "acl.ACLAddReplace")
+       api.RegisterMessage((*ACLAddReplaceReply)(nil), "acl.ACLAddReplaceReply")
+       api.RegisterMessage((*ACLDel)(nil), "acl.ACLDel")
+       api.RegisterMessage((*ACLDelReply)(nil), "acl.ACLDelReply")
+       api.RegisterMessage((*ACLDetails)(nil), "acl.ACLDetails")
+       api.RegisterMessage((*ACLDump)(nil), "acl.ACLDump")
+       api.RegisterMessage((*ACLInterfaceAddDel)(nil), "acl.ACLInterfaceAddDel")
+       api.RegisterMessage((*ACLInterfaceAddDelReply)(nil), "acl.ACLInterfaceAddDelReply")
+       api.RegisterMessage((*ACLInterfaceEtypeWhitelistDetails)(nil), "acl.ACLInterfaceEtypeWhitelistDetails")
+       api.RegisterMessage((*ACLInterfaceEtypeWhitelistDump)(nil), "acl.ACLInterfaceEtypeWhitelistDump")
+       api.RegisterMessage((*ACLInterfaceListDetails)(nil), "acl.ACLInterfaceListDetails")
+       api.RegisterMessage((*ACLInterfaceListDump)(nil), "acl.ACLInterfaceListDump")
+       api.RegisterMessage((*ACLInterfaceSetACLList)(nil), "acl.ACLInterfaceSetACLList")
+       api.RegisterMessage((*ACLInterfaceSetACLListReply)(nil), "acl.ACLInterfaceSetACLListReply")
+       api.RegisterMessage((*ACLInterfaceSetEtypeWhitelist)(nil), "acl.ACLInterfaceSetEtypeWhitelist")
+       api.RegisterMessage((*ACLInterfaceSetEtypeWhitelistReply)(nil), "acl.ACLInterfaceSetEtypeWhitelistReply")
+       api.RegisterMessage((*ACLPluginControlPing)(nil), "acl.ACLPluginControlPing")
+       api.RegisterMessage((*ACLPluginControlPingReply)(nil), "acl.ACLPluginControlPingReply")
+       api.RegisterMessage((*ACLPluginGetConnTableMaxEntries)(nil), "acl.ACLPluginGetConnTableMaxEntries")
+       api.RegisterMessage((*ACLPluginGetConnTableMaxEntriesReply)(nil), "acl.ACLPluginGetConnTableMaxEntriesReply")
+       api.RegisterMessage((*ACLPluginGetVersion)(nil), "acl.ACLPluginGetVersion")
+       api.RegisterMessage((*ACLPluginGetVersionReply)(nil), "acl.ACLPluginGetVersionReply")
+       api.RegisterMessage((*MacipACLAdd)(nil), "acl.MacipACLAdd")
+       api.RegisterMessage((*MacipACLAddReplace)(nil), "acl.MacipACLAddReplace")
+       api.RegisterMessage((*MacipACLAddReplaceReply)(nil), "acl.MacipACLAddReplaceReply")
+       api.RegisterMessage((*MacipACLAddReply)(nil), "acl.MacipACLAddReply")
+       api.RegisterMessage((*MacipACLDel)(nil), "acl.MacipACLDel")
+       api.RegisterMessage((*MacipACLDelReply)(nil), "acl.MacipACLDelReply")
+       api.RegisterMessage((*MacipACLDetails)(nil), "acl.MacipACLDetails")
+       api.RegisterMessage((*MacipACLDump)(nil), "acl.MacipACLDump")
+       api.RegisterMessage((*MacipACLInterfaceAddDel)(nil), "acl.MacipACLInterfaceAddDel")
+       api.RegisterMessage((*MacipACLInterfaceAddDelReply)(nil), "acl.MacipACLInterfaceAddDelReply")
+       api.RegisterMessage((*MacipACLInterfaceGet)(nil), "acl.MacipACLInterfaceGet")
+       api.RegisterMessage((*MacipACLInterfaceGetReply)(nil), "acl.MacipACLInterfaceGetReply")
+       api.RegisterMessage((*MacipACLInterfaceListDetails)(nil), "acl.MacipACLInterfaceListDetails")
+       api.RegisterMessage((*MacipACLInterfaceListDump)(nil), "acl.MacipACLInterfaceListDump")
+}
+
+// Messages returns list of all messages in this module.
+func AllMessages() []api.Message {
+       return []api.Message{
+               (*ACLAddReplace)(nil),
+               (*ACLAddReplaceReply)(nil),
+               (*ACLDel)(nil),
+               (*ACLDelReply)(nil),
+               (*ACLDetails)(nil),
+               (*ACLDump)(nil),
+               (*ACLInterfaceAddDel)(nil),
+               (*ACLInterfaceAddDelReply)(nil),
+               (*ACLInterfaceEtypeWhitelistDetails)(nil),
+               (*ACLInterfaceEtypeWhitelistDump)(nil),
+               (*ACLInterfaceListDetails)(nil),
+               (*ACLInterfaceListDump)(nil),
+               (*ACLInterfaceSetACLList)(nil),
+               (*ACLInterfaceSetACLListReply)(nil),
+               (*ACLInterfaceSetEtypeWhitelist)(nil),
+               (*ACLInterfaceSetEtypeWhitelistReply)(nil),
+               (*ACLPluginControlPing)(nil),
+               (*ACLPluginControlPingReply)(nil),
+               (*ACLPluginGetConnTableMaxEntries)(nil),
+               (*ACLPluginGetConnTableMaxEntriesReply)(nil),
+               (*ACLPluginGetVersion)(nil),
+               (*ACLPluginGetVersionReply)(nil),
+               (*MacipACLAdd)(nil),
+               (*MacipACLAddReplace)(nil),
+               (*MacipACLAddReplaceReply)(nil),
+               (*MacipACLAddReply)(nil),
+               (*MacipACLDel)(nil),
+               (*MacipACLDelReply)(nil),
+               (*MacipACLDetails)(nil),
+               (*MacipACLDump)(nil),
+               (*MacipACLInterfaceAddDel)(nil),
+               (*MacipACLInterfaceAddDelReply)(nil),
+               (*MacipACLInterfaceGet)(nil),
+               (*MacipACLInterfaceGetReply)(nil),
+               (*MacipACLInterfaceListDetails)(nil),
+               (*MacipACLInterfaceListDump)(nil),
+       }
+}
+
+// Service represents services in VPP binary API.
+type Service interface {
+       DumpACL(ctx context.Context, in *ACLDump) ([]*ACLDetails, error)
+       DumpACLInterfaceEtypeWhitelist(ctx context.Context, in *ACLInterfaceEtypeWhitelistDump) ([]*ACLInterfaceEtypeWhitelistDetails, error)
+       DumpACLInterfaceList(ctx context.Context, in *ACLInterfaceListDump) ([]*ACLInterfaceListDetails, error)
+       DumpMacipACL(ctx context.Context, in *MacipACLDump) ([]*MacipACLDetails, error)
+       DumpMacipACLInterfaceList(ctx context.Context, in *MacipACLInterfaceListDump) ([]*MacipACLInterfaceListDetails, error)
+       ACLAddReplace(ctx context.Context, in *ACLAddReplace) (*ACLAddReplaceReply, error)
+       ACLDel(ctx context.Context, in *ACLDel) (*ACLDelReply, error)
+       ACLInterfaceAddDel(ctx context.Context, in *ACLInterfaceAddDel) (*ACLInterfaceAddDelReply, error)
+       ACLInterfaceSetACLList(ctx context.Context, in *ACLInterfaceSetACLList) (*ACLInterfaceSetACLListReply, error)
+       ACLInterfaceSetEtypeWhitelist(ctx context.Context, in *ACLInterfaceSetEtypeWhitelist) (*ACLInterfaceSetEtypeWhitelistReply, error)
+       ACLPluginControlPing(ctx context.Context, in *ACLPluginControlPing) (*ACLPluginControlPingReply, error)
+       ACLPluginGetConnTableMaxEntries(ctx context.Context, in *ACLPluginGetConnTableMaxEntries) (*ACLPluginGetConnTableMaxEntriesReply, error)
+       ACLPluginGetVersion(ctx context.Context, in *ACLPluginGetVersion) (*ACLPluginGetVersionReply, error)
+       MacipACLAdd(ctx context.Context, in *MacipACLAdd) (*MacipACLAddReply, error)
+       MacipACLAddReplace(ctx context.Context, in *MacipACLAddReplace) (*MacipACLAddReplaceReply, error)
+       MacipACLDel(ctx context.Context, in *MacipACLDel) (*MacipACLDelReply, error)
+       MacipACLInterfaceAddDel(ctx context.Context, in *MacipACLInterfaceAddDel) (*MacipACLInterfaceAddDelReply, error)
+       MacipACLInterfaceGet(ctx context.Context, in *MacipACLInterfaceGet) (*MacipACLInterfaceGetReply, error)
+}
+
+type service struct {
+       ch api.Channel
+}
+
+func NewService(ch api.Channel) Service {
+       return &service{ch}
+}
+
+func (c *service) DumpACL(ctx context.Context, in *ACLDump) ([]*ACLDetails, error) {
+       var dump []*ACLDetails
+       req := c.ch.SendMultiRequest(in)
+       for {
+               m := new(ACLDetails)
+               stop, err := req.ReceiveReply(m)
+               if stop {
+                       break
+               }
+               if err != nil {
+                       return nil, err
+               }
+               dump = append(dump, m)
+       }
+       return dump, nil
+}
+
+func (c *service) DumpACLInterfaceEtypeWhitelist(ctx context.Context, in *ACLInterfaceEtypeWhitelistDump) ([]*ACLInterfaceEtypeWhitelistDetails, error) {
+       var dump []*ACLInterfaceEtypeWhitelistDetails
+       req := c.ch.SendMultiRequest(in)
+       for {
+               m := new(ACLInterfaceEtypeWhitelistDetails)
+               stop, err := req.ReceiveReply(m)
+               if stop {
+                       break
+               }
+               if err != nil {
+                       return nil, err
+               }
+               dump = append(dump, m)
+       }
+       return dump, nil
+}
+
+func (c *service) DumpACLInterfaceList(ctx context.Context, in *ACLInterfaceListDump) ([]*ACLInterfaceListDetails, error) {
+       var dump []*ACLInterfaceListDetails
+       req := c.ch.SendMultiRequest(in)
+       for {
+               m := new(ACLInterfaceListDetails)
+               stop, err := req.ReceiveReply(m)
+               if stop {
+                       break
+               }
+               if err != nil {
+                       return nil, err
+               }
+               dump = append(dump, m)
+       }
+       return dump, nil
+}
+
+func (c *service) DumpMacipACL(ctx context.Context, in *MacipACLDump) ([]*MacipACLDetails, error) {
+       var dump []*MacipACLDetails
+       req := c.ch.SendMultiRequest(in)
+       for {
+               m := new(MacipACLDetails)
+               stop, err := req.ReceiveReply(m)
+               if stop {
+                       break
+               }
+               if err != nil {
+                       return nil, err
+               }
+               dump = append(dump, m)
+       }
+       return dump, nil
+}
+
+func (c *service) DumpMacipACLInterfaceList(ctx context.Context, in *MacipACLInterfaceListDump) ([]*MacipACLInterfaceListDetails, error) {
+       var dump []*MacipACLInterfaceListDetails
+       req := c.ch.SendMultiRequest(in)
+       for {
+               m := new(MacipACLInterfaceListDetails)
+               stop, err := req.ReceiveReply(m)
+               if stop {
+                       break
+               }
+               if err != nil {
+                       return nil, err
+               }
+               dump = append(dump, m)
+       }
+       return dump, nil
+}
+
+func (c *service) ACLAddReplace(ctx context.Context, in *ACLAddReplace) (*ACLAddReplaceReply, error) {
+       out := new(ACLAddReplaceReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) ACLDel(ctx context.Context, in *ACLDel) (*ACLDelReply, error) {
+       out := new(ACLDelReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) ACLInterfaceAddDel(ctx context.Context, in *ACLInterfaceAddDel) (*ACLInterfaceAddDelReply, error) {
+       out := new(ACLInterfaceAddDelReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) ACLInterfaceSetACLList(ctx context.Context, in *ACLInterfaceSetACLList) (*ACLInterfaceSetACLListReply, error) {
+       out := new(ACLInterfaceSetACLListReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) ACLInterfaceSetEtypeWhitelist(ctx context.Context, in *ACLInterfaceSetEtypeWhitelist) (*ACLInterfaceSetEtypeWhitelistReply, error) {
+       out := new(ACLInterfaceSetEtypeWhitelistReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) ACLPluginControlPing(ctx context.Context, in *ACLPluginControlPing) (*ACLPluginControlPingReply, error) {
+       out := new(ACLPluginControlPingReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) ACLPluginGetConnTableMaxEntries(ctx context.Context, in *ACLPluginGetConnTableMaxEntries) (*ACLPluginGetConnTableMaxEntriesReply, error) {
+       out := new(ACLPluginGetConnTableMaxEntriesReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) ACLPluginGetVersion(ctx context.Context, in *ACLPluginGetVersion) (*ACLPluginGetVersionReply, error) {
+       out := new(ACLPluginGetVersionReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) MacipACLAdd(ctx context.Context, in *MacipACLAdd) (*MacipACLAddReply, error) {
+       out := new(MacipACLAddReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) MacipACLAddReplace(ctx context.Context, in *MacipACLAddReplace) (*MacipACLAddReplaceReply, error) {
+       out := new(MacipACLAddReplaceReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) MacipACLDel(ctx context.Context, in *MacipACLDel) (*MacipACLDelReply, error) {
+       out := new(MacipACLDelReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) MacipACLInterfaceAddDel(ctx context.Context, in *MacipACLInterfaceAddDel) (*MacipACLInterfaceAddDelReply, error) {
+       out := new(MacipACLInterfaceAddDelReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}
+
+func (c *service) MacipACLInterfaceGet(ctx context.Context, in *MacipACLInterfaceGet) (*MacipACLInterfaceGetReply, error) {
+       out := new(MacipACLInterfaceGetReply)
+       err := c.ch.SendRequest(in).ReceiveReply(out)
+       if err != nil {
+               return nil, err
+       }
+       return out, nil
+}