From 868b541e296dc47748ad03b8f0174c828d996529 Mon Sep 17 00:00:00 2001 From: Ondrej Fabry Date: Thu, 13 Dec 2018 10:21:49 +0100 Subject: Add support for aliases and boolean type - aliases are now generated as new types or arrays (if length > 0) - bool is recognized as a boolean type and generated as Go bool - comment with original JSON is now prepended for each object type - interface Services is now generated at the top of the file to provide overview of what RPC services does the current module consists of - dump services now correctly return slice of the particular details type Change-Id: I788babc1c0f2de33e0febd87e5b200d54065b244 Signed-off-by: Ondrej Fabry --- examples/bin_api/acl/acl.ba.go | 2073 +++++++++++++++++++++------------------- 1 file changed, 1101 insertions(+), 972 deletions(-) (limited to 'examples/bin_api/acl/acl.ba.go') diff --git a/examples/bin_api/acl/acl.ba.go b/examples/bin_api/acl/acl.ba.go index 47b79cf..eff85d4 100644 --- a/examples/bin_api/acl/acl.ba.go +++ b/examples/bin_api/acl/acl.ba.go @@ -5,9 +5,9 @@ Package acl is a generated from VPP binary API module 'acl'. It contains following objects: - 34 messages + 36 messages 2 types - 17 services + 18 services */ package acl @@ -21,68 +21,153 @@ var _ = api.RegisterMessage var _ = struc.Pack var _ = bytes.NewBuffer +// Services represents VPP binary API services: +// +// "services": { +// "acl_plugin_get_version": { +// "reply": "acl_plugin_get_version_reply" +// }, +// "acl_dump": { +// "reply": "acl_details", +// "stream": true +// }, +// "acl_interface_add_del": { +// "reply": "acl_interface_add_del_reply" +// }, +// "acl_del": { +// "reply": "acl_del_reply" +// }, +// "macip_acl_del": { +// "reply": "macip_acl_del_reply" +// }, +// "acl_plugin_control_ping": { +// "reply": "acl_plugin_control_ping_reply" +// }, +// "macip_acl_interface_get": { +// "reply": "macip_acl_interface_get_reply" +// }, +// "acl_interface_etype_whitelist_dump": { +// "reply": "acl_interface_etype_whitelist_details", +// "stream": true +// }, +// "macip_acl_interface_add_del": { +// "reply": "macip_acl_interface_add_del_reply" +// }, +// "acl_add_replace": { +// "reply": "acl_add_replace_reply" +// }, +// "acl_plugin_get_conn_table_max_entries": { +// "reply": "acl_plugin_get_conn_table_max_entries_reply" +// }, +// "acl_interface_list_dump": { +// "reply": "acl_interface_list_details", +// "stream": true +// }, +// "acl_interface_set_acl_list": { +// "reply": "acl_interface_set_acl_list_reply" +// }, +// "macip_acl_add": { +// "reply": "macip_acl_add_reply" +// }, +// "acl_interface_set_etype_whitelist": { +// "reply": "acl_interface_set_etype_whitelist_reply" +// }, +// "macip_acl_add_replace": { +// "reply": "macip_acl_add_replace_reply" +// }, +// "macip_acl_dump": { +// "reply": "macip_acl_details", +// "stream": true +// }, +// "macip_acl_interface_list_dump": { +// "reply": "macip_acl_interface_list_details", +// "stream": true +// } +// }, +// +type Services interface { + DumpACL(*ACLDump) ([]*ACLDetails, error) + DumpACLInterfaceEtypeWhitelist(*ACLInterfaceEtypeWhitelistDump) ([]*ACLInterfaceEtypeWhitelistDetails, error) + DumpACLInterfaceList(*ACLInterfaceListDump) ([]*ACLInterfaceListDetails, error) + DumpMacipACL(*MacipACLDump) ([]*MacipACLDetails, error) + DumpMacipACLInterfaceList(*MacipACLInterfaceListDump) ([]*MacipACLInterfaceListDetails, error) + ACLAddReplace(*ACLAddReplace) (*ACLAddReplaceReply, error) + ACLDel(*ACLDel) (*ACLDelReply, error) + ACLInterfaceAddDel(*ACLInterfaceAddDel) (*ACLInterfaceAddDelReply, error) + ACLInterfaceSetACLList(*ACLInterfaceSetACLList) (*ACLInterfaceSetACLListReply, error) + ACLInterfaceSetEtypeWhitelist(*ACLInterfaceSetEtypeWhitelist) (*ACLInterfaceSetEtypeWhitelistReply, error) + ACLPluginControlPing(*ACLPluginControlPing) (*ACLPluginControlPingReply, error) + ACLPluginGetConnTableMaxEntries(*ACLPluginGetConnTableMaxEntries) (*ACLPluginGetConnTableMaxEntriesReply, error) + ACLPluginGetVersion(*ACLPluginGetVersion) (*ACLPluginGetVersionReply, error) + MacipACLAdd(*MacipACLAdd) (*MacipACLAddReply, error) + MacipACLAddReplace(*MacipACLAddReplace) (*MacipACLAddReplaceReply, error) + MacipACLDel(*MacipACLDel) (*MacipACLDelReply, error) + MacipACLInterfaceAddDel(*MacipACLInterfaceAddDel) (*MacipACLInterfaceAddDelReply, error) + MacipACLInterfaceGet(*MacipACLInterfaceGet) (*MacipACLInterfaceGetReply, error) +} + /* Types */ -// ACLRule represents the VPP binary API type 'acl_rule'. -// -// "acl_rule", -// [ -// "u8", -// "is_permit" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "src_ip_addr", -// 16 -// ], -// [ -// "u8", -// "src_ip_prefix_len" -// ], -// [ -// "u8", -// "dst_ip_addr", -// 16 -// ], -// [ -// "u8", -// "dst_ip_prefix_len" -// ], -// [ -// "u8", -// "proto" -// ], -// [ -// "u16", -// "srcport_or_icmptype_first" -// ], -// [ -// "u16", -// "srcport_or_icmptype_last" -// ], -// [ -// "u16", -// "dstport_or_icmpcode_first" -// ], -// [ -// "u16", -// "dstport_or_icmpcode_last" -// ], -// [ -// "u8", -// "tcp_flags_mask" -// ], -// [ -// "u8", -// "tcp_flags_value" -// ], -// { -// "crc": "0x6f99bf4d" -// } +// ACLRule represents VPP binary API type 'acl_rule': +// +// "acl_rule", +// [ +// "u8", +// "is_permit" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "src_ip_addr", +// 16 +// ], +// [ +// "u8", +// "src_ip_prefix_len" +// ], +// [ +// "u8", +// "dst_ip_addr", +// 16 +// ], +// [ +// "u8", +// "dst_ip_prefix_len" +// ], +// [ +// "u8", +// "proto" +// ], +// [ +// "u16", +// "srcport_or_icmptype_first" +// ], +// [ +// "u16", +// "srcport_or_icmptype_last" +// ], +// [ +// "u16", +// "dstport_or_icmpcode_first" +// ], +// [ +// "u16", +// "dstport_or_icmpcode_last" +// ], +// [ +// "u8", +// "tcp_flags_mask" +// ], +// [ +// "u8", +// "tcp_flags_value" +// ], +// { +// "crc": "0x6f99bf4d" +// } // type ACLRule struct { IsPermit uint8 @@ -107,39 +192,39 @@ func (*ACLRule) GetCrcString() string { return "6f99bf4d" } -// MacipACLRule represents the VPP binary API type 'macip_acl_rule'. -// -// "macip_acl_rule", -// [ -// "u8", -// "is_permit" -// ], -// [ -// "u8", -// "is_ipv6" -// ], -// [ -// "u8", -// "src_mac", -// 6 -// ], -// [ -// "u8", -// "src_mac_mask", -// 6 -// ], -// [ -// "u8", -// "src_ip_addr", -// 16 -// ], -// [ -// "u8", -// "src_ip_prefix_len" -// ], -// { -// "crc": "0x70589f1e" -// } +// MacipACLRule represents VPP binary API type 'macip_acl_rule': +// +// "macip_acl_rule", +// [ +// "u8", +// "is_permit" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "src_mac", +// 6 +// ], +// [ +// "u8", +// "src_mac_mask", +// 6 +// ], +// [ +// "u8", +// "src_ip_addr", +// 16 +// ], +// [ +// "u8", +// "src_ip_prefix_len" +// ], +// { +// "crc": "0x70589f1e" +// } // type MacipACLRule struct { IsPermit uint8 @@ -159,24 +244,24 @@ func (*MacipACLRule) GetCrcString() string { /* Messages */ -// ACLPluginGetVersion represents the VPP binary API message 'acl_plugin_get_version'. -// -// "acl_plugin_get_version", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// ACLPluginGetVersion represents VPP binary API message 'acl_plugin_get_version': +// +// "acl_plugin_get_version", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type ACLPluginGetVersion struct{} @@ -190,28 +275,28 @@ func (*ACLPluginGetVersion) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLPluginGetVersionReply represents the VPP binary API message 'acl_plugin_get_version_reply'. -// -// "acl_plugin_get_version_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "major" -// ], -// [ -// "u32", -// "minor" -// ], -// { -// "crc": "0x9b32cf86" -// } +// ACLPluginGetVersionReply represents VPP binary API message 'acl_plugin_get_version_reply': +// +// "acl_plugin_get_version_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "major" +// ], +// [ +// "u32", +// "minor" +// ], +// { +// "crc": "0x9b32cf86" +// } // type ACLPluginGetVersionReply struct { Major uint32 @@ -228,24 +313,24 @@ func (*ACLPluginGetVersionReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLPluginControlPing represents the VPP binary API message 'acl_plugin_control_ping'. -// -// "acl_plugin_control_ping", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// ACLPluginControlPing represents VPP binary API message 'acl_plugin_control_ping': +// +// "acl_plugin_control_ping", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type ACLPluginControlPing struct{} @@ -259,32 +344,32 @@ func (*ACLPluginControlPing) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLPluginControlPingReply represents the VPP binary API message 'acl_plugin_control_ping_reply'. -// -// "acl_plugin_control_ping_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "vpe_pid" -// ], -// { -// "crc": "0xf6b0b8ca" -// } +// ACLPluginControlPingReply represents VPP binary API message 'acl_plugin_control_ping_reply': +// +// "acl_plugin_control_ping_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "vpe_pid" +// ], +// { +// "crc": "0xf6b0b8ca" +// } // type ACLPluginControlPingReply struct { Retval int32 @@ -302,43 +387,107 @@ func (*ACLPluginControlPingReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLAddReplace represents the VPP binary API message 'acl_add_replace'. -// -// "acl_add_replace", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// [ -// "u8", -// "tag", -// 64 -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "vl_api_acl_rule_t", -// "r", -// 0, -// "count" -// ], -// { -// "crc": "0xe839997e" -// } +// ACLPluginGetConnTableMaxEntries represents VPP binary API message 'acl_plugin_get_conn_table_max_entries': +// +// "acl_plugin_get_conn_table_max_entries", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } +// +type ACLPluginGetConnTableMaxEntries struct{} + +func (*ACLPluginGetConnTableMaxEntries) GetMessageName() string { + return "acl_plugin_get_conn_table_max_entries" +} +func (*ACLPluginGetConnTableMaxEntries) GetCrcString() string { + return "51077d14" +} +func (*ACLPluginGetConnTableMaxEntries) GetMessageType() api.MessageType { + return api.RequestMessage +} + +// ACLPluginGetConnTableMaxEntriesReply represents VPP binary API message 'acl_plugin_get_conn_table_max_entries_reply': +// +// "acl_plugin_get_conn_table_max_entries_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u64", +// "conn_table_max_entries" +// ], +// { +// "crc": "0x7a096d3d" +// } +// +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 +} + +// ACLAddReplace represents VPP binary API message 'acl_add_replace': +// +// "acl_add_replace", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_acl_rule_t", +// "r", +// 0, +// "count" +// ], +// { +// "crc": "0xe839997e" +// } // type ACLAddReplace struct { ACLIndex uint32 @@ -357,28 +506,28 @@ func (*ACLAddReplace) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLAddReplaceReply represents the VPP binary API message 'acl_add_replace_reply'. -// -// "acl_add_replace_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xac407b0c" -// } +// ACLAddReplaceReply represents VPP binary API message 'acl_add_replace_reply': +// +// "acl_add_replace_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xac407b0c" +// } // type ACLAddReplaceReply struct { ACLIndex uint32 @@ -395,28 +544,28 @@ func (*ACLAddReplaceReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLDel represents the VPP binary API message 'acl_del'. -// -// "acl_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// { -// "crc": "0xef34fea4" -// } +// ACLDel represents VPP binary API message 'acl_del': +// +// "acl_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// { +// "crc": "0xef34fea4" +// } // type ACLDel struct { ACLIndex uint32 @@ -432,24 +581,24 @@ func (*ACLDel) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLDelReply represents the VPP binary API message 'acl_del_reply'. -// -// "acl_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// ACLDelReply represents VPP binary API message 'acl_del_reply': +// +// "acl_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type ACLDelReply struct { Retval int32 @@ -465,40 +614,40 @@ func (*ACLDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLInterfaceAddDel represents the VPP binary API message 'acl_interface_add_del'. -// -// "acl_interface_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u8", -// "is_input" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "acl_index" -// ], -// { -// "crc": "0x0b2aedd1" -// } +// ACLInterfaceAddDel represents VPP binary API message 'acl_interface_add_del': +// +// "acl_interface_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_input" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "acl_index" +// ], +// { +// "crc": "0x0b2aedd1" +// } // type ACLInterfaceAddDel struct { IsAdd uint8 @@ -517,24 +666,24 @@ func (*ACLInterfaceAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLInterfaceAddDelReply represents the VPP binary API message 'acl_interface_add_del_reply'. -// -// "acl_interface_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// ACLInterfaceAddDelReply represents VPP binary API message 'acl_interface_add_del_reply': +// +// "acl_interface_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type ACLInterfaceAddDelReply struct { Retval int32 @@ -550,42 +699,42 @@ func (*ACLInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLInterfaceSetACLList represents the VPP binary API message 'acl_interface_set_acl_list'. -// -// "acl_interface_set_acl_list", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "count" -// ], -// [ -// "u8", -// "n_input" -// ], -// [ -// "u32", -// "acls", -// 0, -// "count" -// ], -// { -// "crc": "0x8baece38" -// } +// ACLInterfaceSetACLList represents VPP binary API message 'acl_interface_set_acl_list': +// +// "acl_interface_set_acl_list", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "count" +// ], +// [ +// "u8", +// "n_input" +// ], +// [ +// "u32", +// "acls", +// 0, +// "count" +// ], +// { +// "crc": "0x8baece38" +// } // type ACLInterfaceSetACLList struct { SwIfIndex uint32 @@ -604,24 +753,24 @@ func (*ACLInterfaceSetACLList) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLInterfaceSetACLListReply represents the VPP binary API message 'acl_interface_set_acl_list_reply'. -// -// "acl_interface_set_acl_list_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// ACLInterfaceSetACLListReply represents VPP binary API message 'acl_interface_set_acl_list_reply': +// +// "acl_interface_set_acl_list_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type ACLInterfaceSetACLListReply struct { Retval int32 @@ -637,28 +786,28 @@ func (*ACLInterfaceSetACLListReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLDump represents the VPP binary API message 'acl_dump'. -// -// "acl_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// { -// "crc": "0xef34fea4" -// } +// ACLDump represents VPP binary API message 'acl_dump': +// +// "acl_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// { +// "crc": "0xef34fea4" +// } // type ACLDump struct { ACLIndex uint32 @@ -674,39 +823,39 @@ func (*ACLDump) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLDetails represents the VPP binary API message 'acl_details'. -// -// "acl_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// [ -// "u8", -// "tag", -// 64 -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "vl_api_acl_rule_t", -// "r", -// 0, -// "count" -// ], -// { -// "crc": "0x5bd895be" -// } +// ACLDetails represents VPP binary API message 'acl_details': +// +// "acl_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_acl_rule_t", +// "r", +// 0, +// "count" +// ], +// { +// "crc": "0x5bd895be" +// } // type ACLDetails struct { ACLIndex uint32 @@ -725,28 +874,28 @@ func (*ACLDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLInterfaceListDump represents the VPP binary API message 'acl_interface_list_dump'. -// -// "acl_interface_list_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0x529cb13f" -// } +// ACLInterfaceListDump represents VPP binary API message 'acl_interface_list_dump': +// +// "acl_interface_list_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type ACLInterfaceListDump struct { SwIfIndex uint32 @@ -762,38 +911,38 @@ func (*ACLInterfaceListDump) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLInterfaceListDetails represents the VPP binary API message 'acl_interface_list_details'. -// -// "acl_interface_list_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "count" -// ], -// [ -// "u8", -// "n_input" -// ], -// [ -// "u32", -// "acls", -// 0, -// "count" -// ], -// { -// "crc": "0xd5e80809" -// } +// ACLInterfaceListDetails represents VPP binary API message 'acl_interface_list_details': +// +// "acl_interface_list_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "count" +// ], +// [ +// "u8", +// "n_input" +// ], +// [ +// "u32", +// "acls", +// 0, +// "count" +// ], +// { +// "crc": "0xd5e80809" +// } // type ACLInterfaceListDetails struct { SwIfIndex uint32 @@ -812,39 +961,39 @@ func (*ACLInterfaceListDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLAdd represents the VPP binary API message 'macip_acl_add'. -// -// "macip_acl_add", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "tag", -// 64 -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "vl_api_macip_acl_rule_t", -// "r", -// 0, -// "count" -// ], -// { -// "crc": "0xb3d3d65a" -// } +// MacipACLAdd represents VPP binary API message 'macip_acl_add': +// +// "macip_acl_add", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_macip_acl_rule_t", +// "r", +// 0, +// "count" +// ], +// { +// "crc": "0xb3d3d65a" +// } // type MacipACLAdd struct { Tag []byte `struc:"[64]byte"` @@ -862,28 +1011,28 @@ func (*MacipACLAdd) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLAddReply represents the VPP binary API message 'macip_acl_add_reply'. -// -// "macip_acl_add_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xac407b0c" -// } +// MacipACLAddReply represents VPP binary API message 'macip_acl_add_reply': +// +// "macip_acl_add_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xac407b0c" +// } // type MacipACLAddReply struct { ACLIndex uint32 @@ -900,43 +1049,43 @@ func (*MacipACLAddReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLAddReplace represents the VPP binary API message 'macip_acl_add_replace'. -// -// "macip_acl_add_replace", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// [ -// "u8", -// "tag", -// 64 -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "vl_api_macip_acl_rule_t", -// "r", -// 0, -// "count" -// ], -// { -// "crc": "0xa0e8c01b" -// } +// MacipACLAddReplace represents VPP binary API message 'macip_acl_add_replace': +// +// "macip_acl_add_replace", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_macip_acl_rule_t", +// "r", +// 0, +// "count" +// ], +// { +// "crc": "0xa0e8c01b" +// } // type MacipACLAddReplace struct { ACLIndex uint32 @@ -955,28 +1104,28 @@ func (*MacipACLAddReplace) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLAddReplaceReply represents the VPP binary API message 'macip_acl_add_replace_reply'. -// -// "macip_acl_add_replace_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xac407b0c" -// } +// MacipACLAddReplaceReply represents VPP binary API message 'macip_acl_add_replace_reply': +// +// "macip_acl_add_replace_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xac407b0c" +// } // type MacipACLAddReplaceReply struct { ACLIndex uint32 @@ -993,28 +1142,28 @@ func (*MacipACLAddReplaceReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLDel represents the VPP binary API message 'macip_acl_del'. -// -// "macip_acl_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// { -// "crc": "0xef34fea4" -// } +// MacipACLDel represents VPP binary API message 'macip_acl_del': +// +// "macip_acl_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// { +// "crc": "0xef34fea4" +// } // type MacipACLDel struct { ACLIndex uint32 @@ -1030,24 +1179,24 @@ func (*MacipACLDel) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLDelReply represents the VPP binary API message 'macip_acl_del_reply'. -// -// "macip_acl_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// MacipACLDelReply represents VPP binary API message 'macip_acl_del_reply': +// +// "macip_acl_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type MacipACLDelReply struct { Retval int32 @@ -1063,36 +1212,36 @@ func (*MacipACLDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLInterfaceAddDel represents the VPP binary API message 'macip_acl_interface_add_del'. -// -// "macip_acl_interface_add_del", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u8", -// "is_add" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u32", -// "acl_index" -// ], -// { -// "crc": "0x6a6be97c" -// } +// MacipACLInterfaceAddDel represents VPP binary API message 'macip_acl_interface_add_del': +// +// "macip_acl_interface_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "acl_index" +// ], +// { +// "crc": "0x6a6be97c" +// } // type MacipACLInterfaceAddDel struct { IsAdd uint8 @@ -1110,24 +1259,24 @@ func (*MacipACLInterfaceAddDel) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLInterfaceAddDelReply represents the VPP binary API message 'macip_acl_interface_add_del_reply'. -// -// "macip_acl_interface_add_del_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// MacipACLInterfaceAddDelReply represents VPP binary API message 'macip_acl_interface_add_del_reply': +// +// "macip_acl_interface_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type MacipACLInterfaceAddDelReply struct { Retval int32 @@ -1143,28 +1292,28 @@ func (*MacipACLInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLDump represents the VPP binary API message 'macip_acl_dump'. -// -// "macip_acl_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// { -// "crc": "0xef34fea4" -// } +// MacipACLDump represents VPP binary API message 'macip_acl_dump': +// +// "macip_acl_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// { +// "crc": "0xef34fea4" +// } // type MacipACLDump struct { ACLIndex uint32 @@ -1180,39 +1329,39 @@ func (*MacipACLDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLDetails represents the VPP binary API message 'macip_acl_details'. -// -// "macip_acl_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "acl_index" -// ], -// [ -// "u8", -// "tag", -// 64 -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "vl_api_macip_acl_rule_t", -// "r", -// 0, -// "count" -// ], -// { -// "crc": "0xdd2b55ba" -// } +// MacipACLDetails represents VPP binary API message 'macip_acl_details': +// +// "macip_acl_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_macip_acl_rule_t", +// "r", +// 0, +// "count" +// ], +// { +// "crc": "0xdd2b55ba" +// } // type MacipACLDetails struct { ACLIndex uint32 @@ -1231,24 +1380,24 @@ func (*MacipACLDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLInterfaceGet represents the VPP binary API message 'macip_acl_interface_get'. -// -// "macip_acl_interface_get", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// { -// "crc": "0x51077d14" -// } +// MacipACLInterfaceGet represents VPP binary API message 'macip_acl_interface_get': +// +// "macip_acl_interface_get", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type MacipACLInterfaceGet struct{} @@ -1262,30 +1411,30 @@ func (*MacipACLInterfaceGet) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLInterfaceGetReply represents the VPP binary API message 'macip_acl_interface_get_reply'. -// -// "macip_acl_interface_get_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "count" -// ], -// [ -// "u32", -// "acls", -// 0, -// "count" -// ], -// { -// "crc": "0xaccf9b05" -// } +// MacipACLInterfaceGetReply represents VPP binary API message 'macip_acl_interface_get_reply': +// +// "macip_acl_interface_get_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "u32", +// "acls", +// 0, +// "count" +// ], +// { +// "crc": "0xaccf9b05" +// } // type MacipACLInterfaceGetReply struct { Count uint32 `struc:"sizeof=Acls"` @@ -1302,28 +1451,28 @@ func (*MacipACLInterfaceGetReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// MacipACLInterfaceListDump represents the VPP binary API message 'macip_acl_interface_list_dump'. -// -// "macip_acl_interface_list_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0x529cb13f" -// } +// MacipACLInterfaceListDump represents VPP binary API message 'macip_acl_interface_list_dump': +// +// "macip_acl_interface_list_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type MacipACLInterfaceListDump struct { SwIfIndex uint32 @@ -1339,34 +1488,34 @@ func (*MacipACLInterfaceListDump) GetMessageType() api.MessageType { return api.RequestMessage } -// MacipACLInterfaceListDetails represents the VPP binary API message 'macip_acl_interface_list_details'. -// -// "macip_acl_interface_list_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "count" -// ], -// [ -// "u32", -// "acls", -// 0, -// "count" -// ], -// { -// "crc": "0x29783fa0" -// } +// MacipACLInterfaceListDetails represents VPP binary API message 'macip_acl_interface_list_details': +// +// "macip_acl_interface_list_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "count" +// ], +// [ +// "u32", +// "acls", +// 0, +// "count" +// ], +// { +// "crc": "0x29783fa0" +// } // type MacipACLInterfaceListDetails struct { SwIfIndex uint32 @@ -1384,42 +1533,42 @@ func (*MacipACLInterfaceListDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLInterfaceSetEtypeWhitelist represents the VPP binary API message 'acl_interface_set_etype_whitelist'. -// -// "acl_interface_set_etype_whitelist", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "count" -// ], -// [ -// "u8", -// "n_input" -// ], -// [ -// "u16", -// "whitelist", -// 0, -// "count" -// ], -// { -// "crc": "0xf515efc5" -// } +// ACLInterfaceSetEtypeWhitelist represents VPP binary API message 'acl_interface_set_etype_whitelist': +// +// "acl_interface_set_etype_whitelist", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "count" +// ], +// [ +// "u8", +// "n_input" +// ], +// [ +// "u16", +// "whitelist", +// 0, +// "count" +// ], +// { +// "crc": "0xf515efc5" +// } // type ACLInterfaceSetEtypeWhitelist struct { SwIfIndex uint32 @@ -1438,24 +1587,24 @@ func (*ACLInterfaceSetEtypeWhitelist) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLInterfaceSetEtypeWhitelistReply represents the VPP binary API message 'acl_interface_set_etype_whitelist_reply'. -// -// "acl_interface_set_etype_whitelist_reply", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "i32", -// "retval" -// ], -// { -// "crc": "0xe8d4e804" -// } +// ACLInterfaceSetEtypeWhitelistReply represents VPP binary API message 'acl_interface_set_etype_whitelist_reply': +// +// "acl_interface_set_etype_whitelist_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type ACLInterfaceSetEtypeWhitelistReply struct { Retval int32 @@ -1471,28 +1620,28 @@ func (*ACLInterfaceSetEtypeWhitelistReply) GetMessageType() api.MessageType { return api.ReplyMessage } -// ACLInterfaceEtypeWhitelistDump represents the VPP binary API message 'acl_interface_etype_whitelist_dump'. -// -// "acl_interface_etype_whitelist_dump", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "client_index" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// { -// "crc": "0x529cb13f" -// } +// ACLInterfaceEtypeWhitelistDump represents VPP binary API message 'acl_interface_etype_whitelist_dump': +// +// "acl_interface_etype_whitelist_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type ACLInterfaceEtypeWhitelistDump struct { SwIfIndex uint32 @@ -1508,38 +1657,38 @@ func (*ACLInterfaceEtypeWhitelistDump) GetMessageType() api.MessageType { return api.RequestMessage } -// ACLInterfaceEtypeWhitelistDetails represents the VPP binary API message 'acl_interface_etype_whitelist_details'. -// -// "acl_interface_etype_whitelist_details", -// [ -// "u16", -// "_vl_msg_id" -// ], -// [ -// "u32", -// "context" -// ], -// [ -// "u32", -// "sw_if_index" -// ], -// [ -// "u8", -// "count" -// ], -// [ -// "u8", -// "n_input" -// ], -// [ -// "u16", -// "whitelist", -// 0, -// "count" -// ], -// { -// "crc": "0x6a5d4e81" -// } +// ACLInterfaceEtypeWhitelistDetails represents VPP binary API message 'acl_interface_etype_whitelist_details': +// +// "acl_interface_etype_whitelist_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "count" +// ], +// [ +// "u8", +// "n_input" +// ], +// [ +// "u16", +// "whitelist", +// 0, +// "count" +// ], +// { +// "crc": "0x6a5d4e81" +// } // type ACLInterfaceEtypeWhitelistDetails struct { SwIfIndex uint32 @@ -1558,33 +1707,13 @@ func (*ACLInterfaceEtypeWhitelistDetails) GetMessageType() api.MessageType { return api.ReplyMessage } -/* Services */ - -type Services interface { - DumpACL(*ACLDump) (*ACLDetails, error) - DumpACLInterfaceEtypeWhitelist(*ACLInterfaceEtypeWhitelistDump) (*ACLInterfaceEtypeWhitelistDetails, error) - DumpACLInterfaceList(*ACLInterfaceListDump) (*ACLInterfaceListDetails, error) - DumpMacipACL(*MacipACLDump) (*MacipACLDetails, error) - DumpMacipACLInterfaceList(*MacipACLInterfaceListDump) (*MacipACLInterfaceListDetails, error) - ACLAddReplace(*ACLAddReplace) (*ACLAddReplaceReply, error) - ACLDel(*ACLDel) (*ACLDelReply, error) - ACLInterfaceAddDel(*ACLInterfaceAddDel) (*ACLInterfaceAddDelReply, error) - ACLInterfaceSetACLList(*ACLInterfaceSetACLList) (*ACLInterfaceSetACLListReply, error) - ACLInterfaceSetEtypeWhitelist(*ACLInterfaceSetEtypeWhitelist) (*ACLInterfaceSetEtypeWhitelistReply, error) - ACLPluginControlPing(*ACLPluginControlPing) (*ACLPluginControlPingReply, error) - ACLPluginGetVersion(*ACLPluginGetVersion) (*ACLPluginGetVersionReply, error) - MacipACLAdd(*MacipACLAdd) (*MacipACLAddReply, error) - MacipACLAddReplace(*MacipACLAddReplace) (*MacipACLAddReplaceReply, error) - MacipACLDel(*MacipACLDel) (*MacipACLDelReply, error) - MacipACLInterfaceAddDel(*MacipACLInterfaceAddDel) (*MacipACLInterfaceAddDelReply, error) - MacipACLInterfaceGet(*MacipACLInterfaceGet) (*MacipACLInterfaceGetReply, error) -} - func init() { api.RegisterMessage((*ACLPluginGetVersion)(nil), "acl.ACLPluginGetVersion") api.RegisterMessage((*ACLPluginGetVersionReply)(nil), "acl.ACLPluginGetVersionReply") api.RegisterMessage((*ACLPluginControlPing)(nil), "acl.ACLPluginControlPing") api.RegisterMessage((*ACLPluginControlPingReply)(nil), "acl.ACLPluginControlPingReply") + api.RegisterMessage((*ACLPluginGetConnTableMaxEntries)(nil), "acl.ACLPluginGetConnTableMaxEntries") + api.RegisterMessage((*ACLPluginGetConnTableMaxEntriesReply)(nil), "acl.ACLPluginGetConnTableMaxEntriesReply") api.RegisterMessage((*ACLAddReplace)(nil), "acl.ACLAddReplace") api.RegisterMessage((*ACLAddReplaceReply)(nil), "acl.ACLAddReplaceReply") api.RegisterMessage((*ACLDel)(nil), "acl.ACLDel") -- cgit 1.2.3-korg