diff options
author | Milan Lenco <milan.lenco@pantheon.tech> | 2018-01-25 10:15:48 +0100 |
---|---|---|
committer | Milan Lenco <milan.lenco@pantheon.tech> | 2018-01-25 10:15:48 +0100 |
commit | 8ca20507d15703412c18b07d4f4ce6b4de989de6 (patch) | |
tree | aef60a5ef4dd150b62958b757e706f8c3311c68c | |
parent | 545eaea1c41c800794bb910a47de281e7e8df492 (diff) |
Update examples, tests and testdata after binapi-generator update.
Change-Id: I738d501cbbb6673010a32847df3f1c87050b8d36
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
22 files changed, 17427 insertions, 6459 deletions
diff --git a/cmd/binapi-generator/generator_test.go b/cmd/binapi-generator/generator_test.go index a42e794..1fcbb66 100644 --- a/cmd/binapi-generator/generator_test.go +++ b/cmd/binapi-generator/generator_test.go @@ -120,7 +120,7 @@ func TestReadJson(t *testing.T) { result, err := parseJSON(inputData) Expect(err).ShouldNot(HaveOccurred()) Expect(result).ToNot(BeNil()) - Expect(result.Len()).To(BeEquivalentTo(3)) + Expect(result.Len()).To(BeEquivalentTo(5)) } func TestReadJsonError(t *testing.T) { @@ -255,8 +255,9 @@ func TestGenerateMessageFieldTypes(t *testing.T) { func TestGenerateMessageFieldMessages(t *testing.T) { // expected results according to acl.api.json in testdata - expectedTypes := []string{"\tMajor uint32", "\tMinor uint32", "\tACLIndex uint32", - "\tTag []byte `struc:\"[64]byte\"`", "\tACLIndex uint32", "\tRetval int32", "\tACLIndex uint32"} + expectedFields := []string{"\tMajor uint32", "\tMinor uint32", "\tRetval int32", + "\tVpePid uint32", "\tACLIndex uint32", "\tTag []byte `struc:\"[64]byte\"`", + "\tCount uint32"} RegisterTestingT(t) // prepare context testCtx := new(context) @@ -269,7 +270,7 @@ func TestGenerateMessageFieldMessages(t *testing.T) { Expect(err).ShouldNot(HaveOccurred()) Expect(inFile).ToNot(BeNil()) - // test types + // test message fields messages := inFile.Map("messages") customIndex := 0 fields := make([]string, 0) @@ -284,8 +285,12 @@ func TestGenerateMessageFieldMessages(t *testing.T) { } err := processMessageField(testCtx, &fields, field, false) Expect(err).ShouldNot(HaveOccurred()) - Expect(fields[customIndex]).To(BeEquivalentTo(expectedTypes[customIndex])) + Expect(fields[customIndex]).To(BeEquivalentTo(expectedFields[customIndex])) customIndex++ + if customIndex >= len(expectedFields) { + /* there is too much fields now for one UT... */ + return + } } } } diff --git a/cmd/binapi-generator/testdata/acl.api.json b/cmd/binapi-generator/testdata/acl.api.json index 91d3d2f..4c6653c 100644 --- a/cmd/binapi-generator/testdata/acl.api.json +++ b/cmd/binapi-generator/testdata/acl.api.json @@ -1,67 +1,929 @@ { - "types" : [ - ["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" : "0x2715e1c0"} - ], - ["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" : "0x6723f13e"} - ] + "services": [ + { + "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_get_version": { + "reply": "acl_plugin_get_version_reply" + } + }, + { + "macip_acl_interface_add_del": { + "reply": "macip_acl_interface_add_del_reply" + } + }, + { + "acl_interface_set_acl_list": { + "reply": "acl_interface_set_acl_list_reply" + } + }, + { + "acl_dump": { + "reply": "acl_details", + "stream": true + } + }, + { + "acl_interface_list_dump": { + "reply": "acl_interface_list_details", + "stream": true + } + }, + { + "macip_acl_interface_list_dump": { + "reply": "macip_acl_interface_list_details", + "stream": true + } + }, + { + "acl_add_replace": { + "reply": "acl_add_replace_reply" + } + }, + { + "acl_plugin_control_ping": { + "reply": "acl_plugin_control_ping_reply" + } + }, + { + "macip_acl_interface_get": { + "reply": "macip_acl_interface_get_reply" + } + }, + { + "macip_acl_add": { + "reply": "macip_acl_add_reply" + } + }, + { + "macip_acl_add_replace": { + "reply": "macip_acl_add_replace_reply" + } + }, + { + "macip_acl_dump": { + "reply": "macip_acl_details", + "stream": true + } + } ], - "messages" : [ - ["acl_plugin_get_version", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0xd7c07748"} - ], - ["acl_plugin_get_version_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "major"], - ["u32", "minor"], - {"crc" : "0x43eb59a5"} - ], - ["acl_add_replace", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "acl_index"], - ["u8", "tag", 64], - {"crc" : "0x3c317936"} - ], - ["acl_add_replace_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "acl_index"], - ["i32", "retval"], - {"crc" : "0xa5e6d0cf"} - ], - ["acl_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "acl_index"], - {"crc" : "0x82cc30ed"} + "vl_api_version": "0x1db2ece9", + "enums": [], + "messages": [ + [ + "acl_plugin_get_version", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "acl_plugin_get_version_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "major" + ], + [ + "u32", + "minor" + ], + { + "crc": "0x9b32cf86" + } + ], + [ + "acl_plugin_control_ping", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "acl_plugin_control_ping_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "vpe_pid" + ], + { + "crc": "0xf6b0b8ca" + } + ], + [ + "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" + } + ], + [ + "acl_add_replace_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xac407b0c" + } + ], + [ + "acl_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + { + "crc": "0xef34fea4" + } + ], + [ + "acl_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "acl_interface_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "acl_interface_set_acl_list_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "acl_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + { + "crc": "0xef34fea4" + } + ], + [ + "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" + } + ], + [ + "acl_interface_list_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0x529cb13f" + } + ], + [ + "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" + } + ], + [ + "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" + } + ], + [ + "macip_acl_add_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xac407b0c" + } + ], + [ + "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" + } + ], + [ + "macip_acl_add_replace_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xac407b0c" + } + ], + [ + "macip_acl_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + { + "crc": "0xef34fea4" + } + ], + [ + "macip_acl_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "macip_acl_interface_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "macip_acl_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + { + "crc": "0xef34fea4" + } + ], + [ + "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" + } + ], + [ + "macip_acl_interface_get", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "macip_acl_interface_get_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "count" + ], + [ + "u32", + "acls", + 0, + "count" + ], + { + "crc": "0xaccf9b05" + } + ], + [ + "macip_acl_interface_list_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0x529cb13f" + } + ], + [ + "macip_acl_interface_list_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "count" + ], + [ + "u32", + "acls", + 0, + "count" + ], + { + "crc": "0x29783fa0" + } ] ], -"vl_api_version" :"0x3cd02d84" + "types": [ + [ + "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" + } + ], + [ + "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" + } + ] + ] } diff --git a/cmd/binapi-generator/testdata/af_packet.api.json b/cmd/binapi-generator/testdata/af_packet.api.json index 211fc3e..81ee2f9 100644 --- a/cmd/binapi-generator/testdata/af_packet.api.json +++ b/cmd/binapi-generator/testdata/af_packet.api.json @@ -1,37 +1,163 @@ { - "types" : [ - + "services": [ + { + "af_packet_delete": { + "reply": "af_packet_delete_reply" + } + }, + { + "af_packet_create": { + "reply": "af_packet_create_reply" + } + }, + { + "af_packet_set_l4_cksum_offload": { + "reply": "af_packet_set_l4_cksum_offload_reply" + } + } ], - "messages" : [ - ["af_packet_create", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "host_if_name", 64], - ["u8", "hw_addr", 6], - ["u8", "use_random_hw_addr"], - {"crc" : "0x92768640"} + "vl_api_version": "0x8957ca8b", + "enums": [], + "messages": [ + [ + "af_packet_create", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "host_if_name", + 64 + ], + [ + "u8", + "hw_addr", + 6 + ], + [ + "u8", + "use_random_hw_addr" + ], + { + "crc": "0x6d5d30d6" + } ], - ["af_packet_create_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x718bac92"} + [ + "af_packet_create_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0xfda5941f" + } ], - ["af_packet_delete", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "host_if_name", 64], - {"crc" : "0xc063ce85"} + [ + "af_packet_delete", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "host_if_name", + 64 + ], + { + "crc": "0x3efceda3" + } ], - ["af_packet_delete_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x1a80431a"} + [ + "af_packet_delete_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "af_packet_set_l4_cksum_offload", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "sw_if_index" + ], + [ + "u8", + "set" + ], + { + "crc": "0x86538585" + } + ], + [ + "af_packet_set_l4_cksum_offload_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } ] ], -"vl_api_version" :"0x4ca71f33" + "types": [] } diff --git a/cmd/binapi-generator/testdata/ip.api.json b/cmd/binapi-generator/testdata/ip.api.json index 970ec4b..530b6d6 100644 --- a/cmd/binapi-generator/testdata/ip.api.json +++ b/cmd/binapi-generator/testdata/ip.api.json @@ -1,292 +1,2246 @@ { - "types" : [ - ["fib_path", - ["u32", "sw_if_index"], - ["u32", "weight"], - ["u8", "is_local"], - ["u8", "is_drop"], - ["u8", "is_unreach"], - ["u8", "is_prohibit"], - ["u8", "afi"], - ["u8", "next_hop", 16], - {"crc" : "0x315b1889"} - ] + "services": [ + { + "ip_source_and_port_range_check_add_del": { + "reply": "ip_source_and_port_range_check_add_del_reply" + } + }, + { + "ip6_fib_dump": { + "reply": "ip6_fib_details", + "stream": true + } + }, + { + "want_ip6_nd_events": { + "reply": "want_ip6_nd_events_reply" + } + }, + { + "ip_punt_police": { + "reply": "ip_punt_police_reply" + } + }, + { + "set_arp_neighbor_limit": { + "reply": "set_arp_neighbor_limit_reply" + } + }, + { + "ip6nd_proxy_add_del": { + "reply": "ip6nd_proxy_add_del_reply" + } + }, + { + "ioam_disable": { + "reply": "ioam_disable_reply" + } + }, + { + "ip_table_add_del": { + "reply": "ip_table_add_del_reply" + } + }, + { + "ip_neighbor_dump": { + "reply": "ip_neighbor_details", + "stream": true + } + }, + { + "ip4_arp_event": { + "reply": null + } + }, + { + "ip_punt_redirect": { + "reply": "ip_punt_redirect_reply" + } + }, + { + "sw_interface_ip6nd_ra_prefix": { + "reply": "sw_interface_ip6nd_ra_prefix_reply" + } + }, + { + "reset_fib": { + "reply": "reset_fib_reply" + } + }, + { + "ip6_mfib_dump": { + "reply": "ip6_mfib_details", + "stream": true + } + }, + { + "sw_interface_ip6nd_ra_config": { + "reply": "sw_interface_ip6nd_ra_config_reply" + } + }, + { + "sw_interface_ip6_enable_disable": { + "reply": "sw_interface_ip6_enable_disable_reply" + } + }, + { + "sw_interface_ip6_set_link_local_address": { + "reply": "sw_interface_ip6_set_link_local_address_reply" + } + }, + { + "mfib_signal_dump": { + "reply": "mfib_signal_details", + "stream": true + } + }, + { + "ip_container_proxy_add_del": { + "reply": "ip_container_proxy_add_del_reply" + } + }, + { + "ip_mfib_dump": { + "reply": "ip_mfib_details", + "stream": true + } + }, + { + "ip_address_dump": { + "reply": "ip_address_details", + "stream": true + } + }, + { + "ip_dump": { + "reply": "ip_details", + "stream": true + } + }, + { + "ip_neighbor_add_del": { + "reply": "ip_neighbor_add_del_reply" + } + }, + { + "proxy_arp_intfc_enable_disable": { + "reply": "proxy_arp_intfc_enable_disable_reply" + } + }, + { + "proxy_arp_add_del": { + "reply": "proxy_arp_add_del_reply" + } + }, + { + "ip_add_del_route": { + "reply": "ip_add_del_route_reply" + } + }, + { + "ip6nd_proxy_dump": { + "reply": "ip6nd_proxy_details", + "stream": true + } + }, + { + "ip_fib_dump": { + "reply": "ip_fib_details", + "stream": true + } + }, + { + "want_ip4_arp_events": { + "reply": "want_ip4_arp_events_reply" + } + }, + { + "ioam_enable": { + "reply": "ioam_enable_reply" + } + }, + { + "ip6_nd_event": { + "reply": null + } + }, + { + "ip_mroute_add_del": { + "reply": "ip_mroute_add_del_reply" + } + }, + { + "ip_source_and_port_range_check_interface_add_del": { + "reply": "ip_source_and_port_range_check_interface_add_del_reply" + } + }, + { + "set_ip_flow_hash": { + "reply": "set_ip_flow_hash_reply" + } + } ], - "messages" : [ - ["ip_fib_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0x5fe56ca3"} - ], - ["ip_fib_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "table_id"], - ["u8", "address_length"], - ["u8", "address", 4], - ["u32", "count"], - ["vl_api_fib_path_t", "path", 0, "count"], - {"crc" : "0xfd8c6584"} - ], - ["ip6_fib_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0x25c89676"} - ], - ["ip6_fib_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "table_id"], - ["u8", "address_length"], - ["u8", "address", 16], - ["u32", "count"], - ["vl_api_fib_path_t", "path", 0, "count"], - {"crc" : "0xe0825cb5"} - ], - ["ip_neighbor_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "is_ipv6"], - {"crc" : "0x3289e160"} - ], - ["ip_neighbor_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u8", "is_static"], - ["u8", "is_ipv6"], - ["u8", "mac_address", 6], - ["u8", "ip_address", 16], - {"crc" : "0x3a00e32a"} - ], - ["ip_neighbor_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "vrf_id"], - ["u32", "sw_if_index"], - ["u8", "is_add"], - ["u8", "is_ipv6"], - ["u8", "is_static"], - ["u8", "mac_address", 6], - ["u8", "dst_address", 16], - {"crc" : "0x66f2112c"} - ], - ["ip_neighbor_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xe5b0f318"} - ], - ["set_ip_flow_hash", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "vrf_id"], - ["u8", "is_ipv6"], - ["u8", "src"], - ["u8", "dst"], - ["u8", "sport"], - ["u8", "dport"], - ["u8", "proto"], - ["u8", "reverse"], - {"crc" : "0x92ad3798"} - ], - ["set_ip_flow_hash_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x35a9e5eb"} - ], - ["sw_interface_ip6nd_ra_config", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "suppress"], - ["u8", "managed"], - ["u8", "other"], - ["u8", "ll_option"], - ["u8", "send_unicast"], - ["u8", "cease"], - ["u8", "is_no"], - ["u8", "default_router"], - ["u32", "max_interval"], - ["u32", "min_interval"], - ["u32", "lifetime"], - ["u32", "initial_count"], - ["u32", "initial_interval"], - {"crc" : "0xec4a29f6"} - ], - ["sw_interface_ip6nd_ra_config_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x16e25c5b"} - ], - ["sw_interface_ip6nd_ra_prefix", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "address", 16], - ["u8", "address_length"], - ["u8", "use_default"], - ["u8", "no_advertise"], - ["u8", "off_link"], - ["u8", "no_autoconfig"], - ["u8", "no_onlink"], - ["u8", "is_no"], - ["u32", "val_lifetime"], - ["u32", "pref_lifetime"], - {"crc" : "0x5db6555c"} - ], - ["sw_interface_ip6nd_ra_prefix_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x8050adb3"} - ], - ["sw_interface_ip6_enable_disable", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "enable"], - {"crc" : "0x4a4e5405"} - ], - ["sw_interface_ip6_enable_disable_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xeb8b4a40"} - ], - ["sw_interface_ip6_set_link_local_address", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "address", 16], - {"crc" : "0x3db6d52b"} - ], - ["sw_interface_ip6_set_link_local_address_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x0a781e17"} - ], - ["ip_add_del_route", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "next_hop_sw_if_index"], - ["u32", "table_id"], - ["u32", "classify_table_index"], - ["u32", "next_hop_table_id"], - ["u8", "create_vrf_if_needed"], - ["u8", "is_add"], - ["u8", "is_drop"], - ["u8", "is_unreach"], - ["u8", "is_prohibit"], - ["u8", "is_ipv6"], - ["u8", "is_local"], - ["u8", "is_classify"], - ["u8", "is_multipath"], - ["u8", "is_resolve_host"], - ["u8", "is_resolve_attached"], - ["u8", "not_last"], - ["u8", "next_hop_weight"], - ["u8", "dst_address_length"], - ["u8", "dst_address", 16], - ["u8", "next_hop_address", 16], - ["u8", "next_hop_n_out_labels"], - ["u32", "next_hop_via_label"], - ["u32", "next_hop_out_label_stack", 0, "next_hop_n_out_labels"], - {"crc" : "0xa0ab24bf"} - ], - ["ip_add_del_route_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xea57492b"} - ], - ["ip_mroute_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "next_hop_sw_if_index"], - ["u32", "table_id"], - ["u32", "entry_flags"], - ["u32", "itf_flags"], - ["u16", "grp_address_length"], - ["u8", "create_vrf_if_needed"], - ["u8", "is_add"], - ["u8", "is_ipv6"], - ["u8", "is_local"], - ["u8", "grp_address", 16], - ["u8", "src_address", 16], - {"crc" : "0x8312830f"} - ], - ["ip_mroute_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x8cabe02c"} - ], - ["ip_address_details", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "ip", 16], - ["u8", "prefix_length"], - ["u32", "sw_if_index"], - ["u8", "is_ipv6"], - {"crc" : "0x190d4266"} - ], - ["ip_address_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "is_ipv6"], - {"crc" : "0x632e859a"} - ], - ["ip_details", - ["u16", "_vl_msg_id"], - ["u32", "sw_if_index"], - ["u32", "context"], - ["u8", "is_ipv6"], - {"crc" : "0x695c8227"} - ], - ["ip_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "is_ipv6"], - {"crc" : "0x3c1e33e0"} - ], - ["mfib_signal_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0xbbbbd40d"} - ], - ["mfib_signal_details", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u32", "table_id"], - ["u16", "grp_address_len"], - ["u8", "grp_address", 16], - ["u8", "src_address", 16], - ["u16", "ip_packet_len"], - ["u8", "ip_packet_data", 256], - {"crc" : "0x6ba92c72"} + "vl_api_version": "0xb395c625", + "enums": [], + "messages": [ + [ + "ip_table_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "table_id" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "name", + 64 + ], + { + "crc": "0x0240c89d" + } + ], + [ + "ip_table_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_fib_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "ip_fib_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "table_id" + ], + [ + "u8", + "table_name", + 64 + ], + [ + "u8", + "address_length" + ], + [ + "u8", + "address", + 4 + ], + [ + "u32", + "count" + ], + [ + "vl_api_fib_path_t", + "path", + 0, + "count" + ], + { + "crc": "0x99dfd73b" + } + ], + [ + "ip6_fib_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "ip6_fib_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "table_id" + ], + [ + "u8", + "table_name", + 64 + ], + [ + "u8", + "address_length" + ], + [ + "u8", + "address", + 16 + ], + [ + "u32", + "count" + ], + [ + "vl_api_fib_path_t", + "path", + 0, + "count" + ], + { + "crc": "0xabd0060e" + } + ], + [ + "ip_neighbor_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0x6b7bcd0a" + } + ], + [ + "ip_neighbor_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_static" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "mac_address", + 6 + ], + [ + "u8", + "ip_address", + 16 + ], + { + "crc": "0x85e32a72" + } + ], + [ + "ip_neighbor_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "is_static" + ], + [ + "u8", + "is_no_adj_fib" + ], + [ + "u8", + "mac_address", + 6 + ], + [ + "u8", + "dst_address", + 16 + ], + { + "crc": "0x4711eb25" + } + ], + [ + "ip_neighbor_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "set_ip_flow_hash", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "vrf_id" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "src" + ], + [ + "u8", + "dst" + ], + [ + "u8", + "sport" + ], + [ + "u8", + "dport" + ], + [ + "u8", + "proto" + ], + [ + "u8", + "reverse" + ], + { + "crc": "0x32ebf737" + } + ], + [ + "set_ip_flow_hash_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "sw_interface_ip6nd_ra_config", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "suppress" + ], + [ + "u8", + "managed" + ], + [ + "u8", + "other" + ], + [ + "u8", + "ll_option" + ], + [ + "u8", + "send_unicast" + ], + [ + "u8", + "cease" + ], + [ + "u8", + "is_no" + ], + [ + "u8", + "default_router" + ], + [ + "u32", + "max_interval" + ], + [ + "u32", + "min_interval" + ], + [ + "u32", + "lifetime" + ], + [ + "u32", + "initial_count" + ], + [ + "u32", + "initial_interval" + ], + { + "crc": "0xc3f02daa" + } + ], + [ + "sw_interface_ip6nd_ra_config_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "sw_interface_ip6nd_ra_prefix", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "address", + 16 + ], + [ + "u8", + "address_length" + ], + [ + "u8", + "use_default" + ], + [ + "u8", + "no_advertise" + ], + [ + "u8", + "off_link" + ], + [ + "u8", + "no_autoconfig" + ], + [ + "u8", + "no_onlink" + ], + [ + "u8", + "is_no" + ], + [ + "u32", + "val_lifetime" + ], + [ + "u32", + "pref_lifetime" + ], + { + "crc": "0xca763c9a" + } + ], + [ + "sw_interface_ip6nd_ra_prefix_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip6nd_proxy_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_del" + ], + [ + "u8", + "address", + 16 + ], + { + "crc": "0xd95f0fa0" + } + ], + [ + "ip6nd_proxy_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip6nd_proxy_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "address", + 16 + ], + { + "crc": "0xd73bf1ab" + } + ], + [ + "ip6nd_proxy_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "sw_interface_ip6_enable_disable", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "enable" + ], + { + "crc": "0xa36fadc0" + } + ], + [ + "sw_interface_ip6_enable_disable_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "sw_interface_ip6_set_link_local_address", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "address", + 16 + ], + { + "crc": "0xd73bf1ab" + } + ], + [ + "sw_interface_ip6_set_link_local_address_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_add_del_route", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "next_hop_sw_if_index" + ], + [ + "u32", + "table_id" + ], + [ + "u32", + "classify_table_index" + ], + [ + "u32", + "next_hop_table_id" + ], + [ + "u32", + "next_hop_id" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "is_drop" + ], + [ + "u8", + "is_unreach" + ], + [ + "u8", + "is_prohibit" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "is_local" + ], + [ + "u8", + "is_classify" + ], + [ + "u8", + "is_multipath" + ], + [ + "u8", + "is_resolve_host" + ], + [ + "u8", + "is_resolve_attached" + ], + [ + "u8", + "is_dvr" + ], + [ + "u8", + "is_source_lookup" + ], + [ + "u8", + "is_udp_encap" + ], + [ + "u8", + "next_hop_weight" + ], + [ + "u8", + "next_hop_preference" + ], + [ + "u8", + "next_hop_proto" + ], + [ + "u8", + "dst_address_length" + ], + [ + "u8", + "dst_address", + 16 + ], + [ + "u8", + "next_hop_address", + 16 + ], + [ + "u8", + "next_hop_n_out_labels" + ], + [ + "u32", + "next_hop_via_label" + ], + [ + "u32", + "next_hop_out_label_stack", + 0, + "next_hop_n_out_labels" + ], + { + "crc": "0xc85f8290" + } + ], + [ + "ip_add_del_route_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_mroute_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "next_hop_sw_if_index" + ], + [ + "u32", + "table_id" + ], + [ + "u32", + "entry_flags" + ], + [ + "u32", + "itf_flags" + ], + [ + "u32", + "rpf_id" + ], + [ + "u32", + "bier_imp" + ], + [ + "u16", + "grp_address_length" + ], + [ + "u8", + "next_hop_afi" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "is_local" + ], + [ + "u8", + "grp_address", + 16 + ], + [ + "u8", + "src_address", + 16 + ], + { + "crc": "0xc37112f7" + } + ], + [ + "ip_mroute_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_mfib_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "ip_mfib_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "table_id" + ], + [ + "u32", + "entry_flags" + ], + [ + "u32", + "rpf_id" + ], + [ + "u8", + "address_length" + ], + [ + "u8", + "grp_address", + 4 + ], + [ + "u8", + "src_address", + 4 + ], + [ + "u32", + "count" + ], + [ + "vl_api_fib_path_t", + "path", + 0, + "count" + ], + { + "crc": "0x5e530d5e" + } + ], + [ + "ip6_mfib_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "ip6_mfib_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "table_id" + ], + [ + "u8", + "address_length" + ], + [ + "u8", + "grp_address", + 16 + ], + [ + "u8", + "src_address", + 16 + ], + [ + "u32", + "count" + ], + [ + "vl_api_fib_path_t", + "path", + 0, + "count" + ], + { + "crc": "0xe02dcb4b" + } + ], + [ + "ip_address_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "ip", + 16 + ], + [ + "u8", + "prefix_length" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0xbc7442f2" + } + ], + [ + "ip_address_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0x6b7bcd0a" + } + ], + [ + "ip_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0x452ffc5a" + } + ], + [ + "ip_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0xde883da4" + } + ], + [ + "mfib_signal_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "mfib_signal_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u32", + "table_id" + ], + [ + "u16", + "grp_address_len" + ], + [ + "u8", + "grp_address", + 16 + ], + [ + "u8", + "src_address", + 16 + ], + [ + "u16", + "ip_packet_len" + ], + [ + "u8", + "ip_packet_data", + 256 + ], + { + "crc": "0x791bbeab" + } + ], + [ + "ip_punt_police", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "policer_index" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "is_ip6" + ], + { + "crc": "0x38691592" + } + ], + [ + "ip_punt_police_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_punt_redirect", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "rx_sw_if_index" + ], + [ + "u32", + "tx_sw_if_index" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "is_ip6" + ], + [ + "u8", + "nh", + 16 + ], + { + "crc": "0x996b6603" + } + ], + [ + "ip_punt_redirect_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_container_proxy_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "ip", + 16 + ], + [ + "u8", + "is_ip4" + ], + [ + "u8", + "plen" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_add" + ], + { + "crc": "0x0a355d39" + } + ], + [ + "ip_container_proxy_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_source_and_port_range_check_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "mask_length" + ], + [ + "u8", + "address", + 16 + ], + [ + "u8", + "number_of_ranges" + ], + [ + "u16", + "low_ports", + 32 + ], + [ + "u16", + "high_ports", + 32 + ], + [ + "u32", + "vrf_id" + ], + { + "crc": "0x03d6b03a" + } + ], + [ + "ip_source_and_port_range_check_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_source_and_port_range_check_interface_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "is_add" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u32", + "tcp_in_vrf_id" + ], + [ + "u32", + "tcp_out_vrf_id" + ], + [ + "u32", + "udp_in_vrf_id" + ], + [ + "u32", + "udp_out_vrf_id" + ], + { + "crc": "0x6966bc44" + } + ], + [ + "ip_source_and_port_range_check_interface_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_ip4_arp_events", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "enable_disable" + ], + [ + "u32", + "pid" + ], + [ + "u32", + "address" + ], + { + "crc": "0x77e06379" + } + ], + [ + "want_ip4_arp_events_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip4_arp_event", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "address" + ], + [ + "u32", + "pid" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "new_mac", + 6 + ], + [ + "u8", + "mac_ip" + ], + { + "crc": "0xef7235f7" + } + ], + [ + "want_ip6_nd_events", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "enable_disable" + ], + [ + "u32", + "pid" + ], + [ + "u8", + "address", + 16 + ], + { + "crc": "0x1cf65fbb" + } + ], + [ + "want_ip6_nd_events_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip6_nd_event", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "pid" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "address", + 16 + ], + [ + "u8", + "new_mac", + 6 + ], + [ + "u8", + "mac_ip" + ], + { + "crc": "0x96ab2fdd" + } + ], + [ + "proxy_arp_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "vrf_id" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "low_address", + 4 + ], + [ + "u8", + "hi_address", + 4 + ], + { + "crc": "0xc2442918" + } + ], + [ + "proxy_arp_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "proxy_arp_intfc_enable_disable", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "enable_disable" + ], + { + "crc": "0x69d24598" + } + ], + [ + "proxy_arp_intfc_enable_disable_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "reset_fib", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "vrf_id" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0x8553ebd9" + } + ], + [ + "reset_fib_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "set_arp_neighbor_limit", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u32", + "arp_neighbor_limit" + ], + { + "crc": "0x97d01fd6" + } + ], + [ + "set_arp_neighbor_limit_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ioam_enable", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u16", + "id" + ], + [ + "u8", + "seqno" + ], + [ + "u8", + "analyse" + ], + [ + "u8", + "pot_enable" + ], + [ + "u8", + "trace_enable" + ], + [ + "u32", + "node_id" + ], + { + "crc": "0x9392e032" + } + ], + [ + "ioam_enable_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ioam_disable", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u16", + "id" + ], + { + "crc": "0x6b16a45e" + } + ], + [ + "ioam_disable_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } ] ], -"vl_api_version" :"0x6a819870" + "types": [ + [ + "fib_path", + [ + "u32", + "sw_if_index" + ], + [ + "u32", + "table_id" + ], + [ + "u8", + "weight" + ], + [ + "u8", + "preference" + ], + [ + "u8", + "is_local" + ], + [ + "u8", + "is_drop" + ], + [ + "u8", + "is_unreach" + ], + [ + "u8", + "is_prohibit" + ], + [ + "u8", + "afi" + ], + [ + "u8", + "next_hop", + 16 + ], + { + "crc": "0xcd899e0a" + } + ] + ] } diff --git a/core/bin_api/vpe.api.json b/core/bin_api/vpe.api.json index 1744e9c..d87d012 100644 --- a/core/bin_api/vpe.api.json +++ b/core/bin_api/vpe.api.json @@ -1,783 +1,434 @@ { - "types" : [ - ["ip4_fib_counter", - ["u32", "address"], - ["u8", "address_length"], - ["u64", "packets"], - ["u64", "bytes"], - {"crc" : "0xb2739495"} - ], - ["ip4_nbr_counter", - ["u32", "address"], - ["u8", "link_type"], - ["u64", "packets"], - ["u64", "bytes"], - {"crc" : "0x487e2e85"} - ], - ["ip6_fib_counter", - ["u64", "address", 2], - ["u8", "address_length"], - ["u64", "packets"], - ["u64", "bytes"], - {"crc" : "0xcf35769b"} - ], - ["ip6_nbr_counter", - ["u64", "address", 2], - ["u8", "link_type"], - ["u64", "packets"], - ["u64", "bytes"], - {"crc" : "0xefca741e"} - ] + "services": [ + { + "cli_inband": { + "reply": "cli_inband_reply" + } + }, + { + "get_node_index": { + "reply": "get_node_index_reply" + } + }, + { + "cli": { + "reply": "cli_reply" + } + }, + { + "show_version": { + "reply": "show_version_reply" + } + }, + { + "get_next_index": { + "reply": "get_next_index_reply" + } + }, + { + "add_node_next": { + "reply": "add_node_next_reply" + } + }, + { + "get_node_graph": { + "reply": "get_node_graph_reply" + } + }, + { + "control_ping": { + "reply": "control_ping_reply" + } + } ], - "messages" : [ - ["create_vlan_subif", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u32", "vlan_id"], - {"crc" : "0xaf9ae1e9"} - ], - ["create_vlan_subif_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x8f36b888"} - ], - ["sw_interface_set_mpls_enable", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "enable"], - {"crc" : "0x37f6357e"} - ], - ["sw_interface_set_mpls_enable_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x5ffd3ca9"} - ], - ["proxy_arp_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "vrf_id"], - ["u8", "is_add"], - ["u8", "low_address", 4], - ["u8", "hi_address", 4], - {"crc" : "0x4bef9951"} - ], - ["proxy_arp_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x8e2d621d"} - ], - ["proxy_arp_intfc_enable_disable", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "enable_disable"], - {"crc" : "0x3ee1998e"} - ], - ["proxy_arp_intfc_enable_disable_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x23d273cd"} - ], - ["reset_vrf", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "is_ipv6"], - ["u32", "vrf_id"], - {"crc" : "0xeb07deb0"} - ], - ["reset_vrf_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x5f283863"} - ], - ["want_stats", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "enable_disable"], - ["u32", "pid"], - {"crc" : "0x4f2effb4"} - ], - ["want_stats_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xb36abf5f"} - ], - ["vnet_ip4_fib_counters", - ["u16", "_vl_msg_id"], - ["u32", "vrf_id"], - ["u32", "count"], - ["vl_api_ip4_fib_counter_t", "c", 0, "count"], - {"crc" : "0x1ab9d6c5"} - ], - ["vnet_ip4_nbr_counters", - ["u16", "_vl_msg_id"], - ["u32", "count"], - ["u32", "sw_if_index"], - ["u8", "begin"], - ["vl_api_ip4_nbr_counter_t", "c", 0, "count"], - {"crc" : "0xfc2b5092"} - ], - ["vnet_ip6_fib_counters", - ["u16", "_vl_msg_id"], - ["u32", "vrf_id"], - ["u32", "count"], - ["vl_api_ip6_fib_counter_t", "c", 0, "count"], - {"crc" : "0x9ab453ae"} - ], - ["vnet_ip6_nbr_counters", - ["u16", "_vl_msg_id"], - ["u32", "count"], - ["u32", "sw_if_index"], - ["u8", "begin"], - ["vl_api_ip6_nbr_counter_t", "c", 0, "count"], - {"crc" : "0x181b673f"} - ], - ["vnet_get_summary_stats", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0x16435c20"} - ], - ["vnet_get_summary_stats_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u64", "total_pkts", 2], - ["u64", "total_bytes", 2], - ["f64", "vector_rate"], - {"crc" : "0x675ce280"} - ], - ["oam_event", - ["u16", "_vl_msg_id"], - ["u8", "dst_address", 4], - ["u8", "state"], - {"crc" : "0x4f285ade"} - ], - ["want_oam_events", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "enable_disable"], - ["u32", "pid"], - {"crc" : "0x948ef12a"} - ], - ["want_oam_events_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x266a677d"} - ], - ["oam_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "vrf_id"], - ["u8", "src_address", 4], - ["u8", "dst_address", 4], - ["u8", "is_add"], - {"crc" : "0xb14bc7df"} - ], - ["oam_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xc5594eec"} - ], - ["reset_fib", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "vrf_id"], - ["u8", "is_ipv6"], - {"crc" : "0x6f17106b"} - ], - ["reset_fib_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x990dcbf8"} - ], - ["create_loopback", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "mac_address", 6], - {"crc" : "0xb2602de5"} - ], - ["create_loopback_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x9520f804"} - ], - ["create_loopback_instance", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "mac_address", 6], - ["u8", "is_specified"], - ["u32", "user_instance"], - {"crc" : "0x967694f1"} - ], - ["create_loopback_instance_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0xd52c63b6"} - ], - ["delete_loopback", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - {"crc" : "0xded428b0"} - ], - ["delete_loopback_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xc91dafa5"} - ], - ["control_ping", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0xea1bf4f7"} - ], - ["control_ping_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "client_index"], - ["u32", "vpe_pid"], - {"crc" : "0xaa016e7b"} - ], - ["cli", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u64", "cmd_in_shmem"], - {"crc" : "0x543d8e2e"} - ], - ["cli_inband", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "length"], - ["u8", "cmd", 0, "length"], - {"crc" : "0x22345937"} - ], - ["cli_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u64", "reply_in_shmem"], - {"crc" : "0x594a0b2e"} - ], - ["cli_inband_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "length"], - ["u8", "reply", 0, "length"], - {"crc" : "0xc1835761"} - ], - ["set_arp_neighbor_limit", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "is_ipv6"], - ["u32", "arp_neighbor_limit"], - {"crc" : "0xc1690cb4"} - ], - ["set_arp_neighbor_limit_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xa6b30518"} - ], - ["l2_patch_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "rx_sw_if_index"], - ["u32", "tx_sw_if_index"], - ["u8", "is_add"], - {"crc" : "0x9b10029a"} - ], - ["l2_patch_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xa85e37be"} - ], - ["sw_interface_set_vpath", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "enable"], - {"crc" : "0x1bc2fd5e"} - ], - ["sw_interface_set_vpath_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x828dbe62"} - ], - ["sw_interface_set_l2_xconnect", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "rx_sw_if_index"], - ["u32", "tx_sw_if_index"], - ["u8", "enable"], - {"crc" : "0x48a4c4c8"} - ], - ["sw_interface_set_l2_xconnect_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x6e45eed4"} - ], - ["sw_interface_set_l2_bridge", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "rx_sw_if_index"], - ["u32", "bd_id"], - ["u8", "shg"], - ["u8", "bvi"], - ["u8", "enable"], - {"crc" : "0x36c739e8"} - ], - ["sw_interface_set_l2_bridge_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x347e08d9"} - ], - ["bd_ip_mac_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "bd_id"], - ["u8", "is_add"], - ["u8", "is_ipv6"], - ["u8", "ip_address", 16], - ["u8", "mac_address", 6], - {"crc" : "0xad819817"} - ], - ["bd_ip_mac_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x55bab3b4"} - ], - ["classify_set_interface_ip_table", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "is_ipv6"], - ["u32", "sw_if_index"], - ["u32", "table_index"], - {"crc" : "0x0dc45308"} - ], - ["classify_set_interface_ip_table_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xdc391c34"} - ], - ["classify_set_interface_l2_tables", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u32", "ip4_table_index"], - ["u32", "ip6_table_index"], - ["u32", "other_table_index"], - ["u8", "is_input"], - {"crc" : "0xed9ccf0d"} - ], - ["classify_set_interface_l2_tables_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x8df20579"} - ], - ["get_node_index", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "node_name", 64], - {"crc" : "0x226d3f8c"} - ], - ["get_node_index_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "node_index"], - {"crc" : "0x29116865"} - ], - ["add_node_next", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "node_name", 64], - ["u8", "next_name", 64], - {"crc" : "0xe4202993"} - ], - ["add_node_next_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "next_index"], - {"crc" : "0xe89d6eed"} - ], - ["l2_interface_efp_filter", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u32", "enable_disable"], - {"crc" : "0x07c9d601"} - ], - ["l2_interface_efp_filter_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x0f4bb0c0"} - ], - ["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" : "0x150e6757"} - ], - ["create_subif_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x92272bcb"} - ], - ["show_version", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0xf18f9480"} - ], - ["show_version_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u8", "program", 32], - ["u8", "version", 32], - ["u8", "build_date", 32], - ["u8", "build_directory", 256], - {"crc" : "0x83186d9e"} - ], - ["interface_name_renumber", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u32", "new_show_dev_instance"], - {"crc" : "0x11b7bcec"} - ], - ["interface_name_renumber_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x31594963"} - ], - ["want_ip4_arp_events", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "enable_disable"], - ["u32", "pid"], - ["u32", "address"], - {"crc" : "0x5ae044c2"} - ], - ["want_ip4_arp_events_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xe1c0b59e"} - ], - ["ip4_arp_event", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "address"], - ["u32", "pid"], - ["u32", "sw_if_index"], - ["u8", "new_mac", 6], - ["u8", "mac_ip"], - {"crc" : "0x7de1837b"} - ], - ["want_ip6_nd_events", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "enable_disable"], - ["u32", "pid"], - ["u8", "address", 16], - {"crc" : "0x9586ba55"} - ], - ["want_ip6_nd_events_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x95458aad"} - ], - ["ip6_nd_event", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "pid"], - ["u32", "sw_if_index"], - ["u8", "address", 16], - ["u8", "new_mac", 6], - ["u8", "mac_ip"], - {"crc" : "0x777bb71c"} - ], - ["input_acl_set_interface", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u32", "ip4_table_index"], - ["u32", "ip6_table_index"], - ["u32", "l2_table_index"], - ["u8", "is_add"], - {"crc" : "0x34d2fc33"} - ], - ["input_acl_set_interface_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xba0110e3"} - ], - ["get_node_graph", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0xf8636a76"} - ], - ["get_node_graph_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u64", "reply_in_shmem"], - {"crc" : "0x816d91b6"} - ], - ["ioam_enable", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u16", "id"], - ["u8", "seqno"], - ["u8", "analyse"], - ["u8", "pot_enable"], - ["u8", "trace_enable"], - ["u32", "node_id"], - {"crc" : "0x7bd4abf9"} - ], - ["ioam_enable_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x58a8fedc"} - ], - ["ioam_disable", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u16", "id"], - {"crc" : "0xaff26d33"} - ], - ["ioam_disable_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xef118a9d"} - ], - ["get_next_index", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "node_name", 64], - ["u8", "next_name", 64], - {"crc" : "0x52f0e416"} - ], - ["get_next_index_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "next_index"], - {"crc" : "0x671fbdb1"} - ], - ["pg_create_interface", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "interface_id"], - {"crc" : "0x253c5959"} - ], - ["pg_create_interface_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x21b4f949"} - ], - ["pg_capture", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "interface_id"], - ["u8", "is_enabled"], - ["u32", "count"], - ["u32", "pcap_name_length"], - ["u8", "pcap_file_name", 0, "pcap_name_length"], - {"crc" : "0x6ac7fe78"} - ], - ["pg_capture_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xf403693b"} - ], - ["pg_enable_disable", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "is_enabled"], - ["u32", "stream_name_length"], - ["u8", "stream_name", 0, "stream_name_length"], - {"crc" : "0x7d0b90ff"} - ], - ["pg_enable_disable_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x02253bd6"} - ], - ["ip_source_and_port_range_check_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "is_ipv6"], - ["u8", "is_add"], - ["u8", "mask_length"], - ["u8", "address", 16], - ["u8", "number_of_ranges"], - ["u16", "low_ports", 32], - ["u16", "high_ports", 32], - ["u32", "vrf_id"], - {"crc" : "0x0f8c6ba0"} - ], - ["ip_source_and_port_range_check_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x35df8160"} - ], - ["ip_source_and_port_range_check_interface_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "is_add"], - ["u32", "sw_if_index"], - ["u32", "tcp_in_vrf_id"], - ["u32", "tcp_out_vrf_id"], - ["u32", "udp_in_vrf_id"], - ["u32", "udp_out_vrf_id"], - {"crc" : "0x4a6438f1"} - ], - ["ip_source_and_port_range_check_interface_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x6b940f04"} - ], - ["delete_subif", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - {"crc" : "0x6038f848"} - ], - ["delete_subif_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x9d6015dc"} - ], - ["punt", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "is_add"], - ["u8", "ipv"], - ["u8", "l4_protocol"], - ["u16", "l4_port"], - {"crc" : "0x4559c976"} - ], - ["punt_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xcca27fbe"} - ], - ["feature_enable_disable", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "enable"], - ["u8", "arc_name", 64], - ["u8", "feature_name", 64], - {"crc" : "0xbc86393b"} - ], - ["feature_enable_disable_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xf6e14373"} + "vl_api_version": "0xe02a02b0", + "enums": [], + "messages": [ + [ + "control_ping", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "control_ping_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "vpe_pid" + ], + { + "crc": "0xf6b0b8ca" + } + ], + [ + "cli", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u64", + "cmd_in_shmem" + ], + { + "crc": "0x23bfbfff" + } + ], + [ + "cli_inband", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "length" + ], + [ + "u8", + "cmd", + 0, + "length" + ], + { + "crc": "0x74e00a49" + } + ], + [ + "cli_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u64", + "reply_in_shmem" + ], + { + "crc": "0x06d68297" + } + ], + [ + "cli_inband_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "length" + ], + [ + "u8", + "reply", + 0, + "length" + ], + { + "crc": "0x1f22bbb8" + } + ], + [ + "get_node_index", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "node_name", + 64 + ], + { + "crc": "0x6c9a495d" + } + ], + [ + "get_node_index_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "node_index" + ], + { + "crc": "0xa8600b89" + } + ], + [ + "add_node_next", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "node_name", + 64 + ], + [ + "u8", + "next_name", + 64 + ], + { + "crc": "0x9ab92f7a" + } + ], + [ + "add_node_next_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "next_index" + ], + { + "crc": "0x2ed75f32" + } + ], + [ + "show_version", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "show_version_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u8", + "program", + 32 + ], + [ + "u8", + "version", + 32 + ], + [ + "u8", + "build_date", + 32 + ], + [ + "u8", + "build_directory", + 256 + ], + { + "crc": "0x8b5a13b4" + } + ], + [ + "get_node_graph", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "get_node_graph_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u64", + "reply_in_shmem" + ], + { + "crc": "0x06d68297" + } + ], + [ + "get_next_index", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "node_name", + 64 + ], + [ + "u8", + "next_name", + 64 + ], + { + "crc": "0x9ab92f7a" + } + ], + [ + "get_next_index_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "next_index" + ], + { + "crc": "0x2ed75f32" + } ] ], -"vl_api_version" :"0x50d987fe" + "types": [] } diff --git a/core/bin_api/vpe/vpe.go b/core/bin_api/vpe/vpe.go index c11f466..547e200 100644 --- a/core/bin_api/vpe/vpe.go +++ b/core/bin_api/vpe/vpe.go @@ -6,1024 +6,27 @@ package vpe import "git.fd.io/govpp.git/api" // VlApiVersion contains version of the API. -const VlAPIVersion = 0x50d987fe - -// IP4FibCounter represents the VPP binary API data type 'ip4_fib_counter'. -// Generated from 'bin_api/vpe.api.json', line 3: -// -// ["ip4_fib_counter", -// ["u32", "address"], -// ["u8", "address_length"], -// ["u64", "packets"], -// ["u64", "bytes"], -// {"crc" : "0xb2739495"} -// ], -// -type IP4FibCounter struct { - Address uint32 - AddressLength uint8 - Packets uint64 - Bytes uint64 -} - -func (*IP4FibCounter) GetTypeName() string { - return "ip4_fib_counter" -} -func (*IP4FibCounter) GetCrcString() string { - return "b2739495" -} - -// IP4NbrCounter represents the VPP binary API data type 'ip4_nbr_counter'. -// Generated from 'bin_api/vpe.api.json', line 10: -// -// ["ip4_nbr_counter", -// ["u32", "address"], -// ["u8", "link_type"], -// ["u64", "packets"], -// ["u64", "bytes"], -// {"crc" : "0x487e2e85"} -// ], -// -type IP4NbrCounter struct { - Address uint32 - LinkType uint8 - Packets uint64 - Bytes uint64 -} - -func (*IP4NbrCounter) GetTypeName() string { - return "ip4_nbr_counter" -} -func (*IP4NbrCounter) GetCrcString() string { - return "487e2e85" -} - -// IP6FibCounter represents the VPP binary API data type 'ip6_fib_counter'. -// Generated from 'bin_api/vpe.api.json', line 17: -// -// ["ip6_fib_counter", -// ["u64", "address", 2], -// ["u8", "address_length"], -// ["u64", "packets"], -// ["u64", "bytes"], -// {"crc" : "0xcf35769b"} -// ], -// -type IP6FibCounter struct { - Address []uint64 `struc:"[2]uint64"` - AddressLength uint8 - Packets uint64 - Bytes uint64 -} - -func (*IP6FibCounter) GetTypeName() string { - return "ip6_fib_counter" -} -func (*IP6FibCounter) GetCrcString() string { - return "cf35769b" -} - -// IP6NbrCounter represents the VPP binary API data type 'ip6_nbr_counter'. -// Generated from 'bin_api/vpe.api.json', line 24: -// -// ["ip6_nbr_counter", -// ["u64", "address", 2], -// ["u8", "link_type"], -// ["u64", "packets"], -// ["u64", "bytes"], -// {"crc" : "0xefca741e"} -// ] -// -type IP6NbrCounter struct { - Address []uint64 `struc:"[2]uint64"` - LinkType uint8 - Packets uint64 - Bytes uint64 -} - -func (*IP6NbrCounter) GetTypeName() string { - return "ip6_nbr_counter" -} -func (*IP6NbrCounter) GetCrcString() string { - return "efca741e" -} - -// CreateVlanSubif represents the VPP binary API message 'create_vlan_subif'. -// Generated from 'bin_api/vpe.api.json', line 33: -// -// ["create_vlan_subif", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u32", "vlan_id"], -// {"crc" : "0xaf9ae1e9"} -// ], -// -type CreateVlanSubif struct { - SwIfIndex uint32 - VlanID uint32 -} - -func (*CreateVlanSubif) GetMessageName() string { - return "create_vlan_subif" -} -func (*CreateVlanSubif) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*CreateVlanSubif) GetCrcString() string { - return "af9ae1e9" -} -func NewCreateVlanSubif() api.Message { - return &CreateVlanSubif{} -} - -// CreateVlanSubifReply represents the VPP binary API message 'create_vlan_subif_reply'. -// Generated from 'bin_api/vpe.api.json', line 41: -// -// ["create_vlan_subif_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0x8f36b888"} -// ], -// -type CreateVlanSubifReply struct { - Retval int32 - SwIfIndex uint32 -} - -func (*CreateVlanSubifReply) GetMessageName() string { - return "create_vlan_subif_reply" -} -func (*CreateVlanSubifReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*CreateVlanSubifReply) GetCrcString() string { - return "8f36b888" -} -func NewCreateVlanSubifReply() api.Message { - return &CreateVlanSubifReply{} -} - -// SwInterfaceSetMplsEnable represents the VPP binary API message 'sw_interface_set_mpls_enable'. -// Generated from 'bin_api/vpe.api.json', line 48: -// -// ["sw_interface_set_mpls_enable", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "enable"], -// {"crc" : "0x37f6357e"} -// ], -// -type SwInterfaceSetMplsEnable struct { - SwIfIndex uint32 - Enable uint8 -} - -func (*SwInterfaceSetMplsEnable) GetMessageName() string { - return "sw_interface_set_mpls_enable" -} -func (*SwInterfaceSetMplsEnable) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*SwInterfaceSetMplsEnable) GetCrcString() string { - return "37f6357e" -} -func NewSwInterfaceSetMplsEnable() api.Message { - return &SwInterfaceSetMplsEnable{} -} - -// SwInterfaceSetMplsEnableReply represents the VPP binary API message 'sw_interface_set_mpls_enable_reply'. -// Generated from 'bin_api/vpe.api.json', line 56: -// -// ["sw_interface_set_mpls_enable_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x5ffd3ca9"} -// ], -// -type SwInterfaceSetMplsEnableReply struct { - Retval int32 -} - -func (*SwInterfaceSetMplsEnableReply) GetMessageName() string { - return "sw_interface_set_mpls_enable_reply" -} -func (*SwInterfaceSetMplsEnableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*SwInterfaceSetMplsEnableReply) GetCrcString() string { - return "5ffd3ca9" -} -func NewSwInterfaceSetMplsEnableReply() api.Message { - return &SwInterfaceSetMplsEnableReply{} -} - -// ProxyArpAddDel represents the VPP binary API message 'proxy_arp_add_del'. -// Generated from 'bin_api/vpe.api.json', line 62: -// -// ["proxy_arp_add_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "vrf_id"], -// ["u8", "is_add"], -// ["u8", "low_address", 4], -// ["u8", "hi_address", 4], -// {"crc" : "0x4bef9951"} -// ], -// -type ProxyArpAddDel struct { - VrfID uint32 - IsAdd uint8 - LowAddress []byte `struc:"[4]byte"` - HiAddress []byte `struc:"[4]byte"` -} - -func (*ProxyArpAddDel) GetMessageName() string { - return "proxy_arp_add_del" -} -func (*ProxyArpAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*ProxyArpAddDel) GetCrcString() string { - return "4bef9951" -} -func NewProxyArpAddDel() api.Message { - return &ProxyArpAddDel{} -} - -// ProxyArpAddDelReply represents the VPP binary API message 'proxy_arp_add_del_reply'. -// Generated from 'bin_api/vpe.api.json', line 72: -// -// ["proxy_arp_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x8e2d621d"} -// ], -// -type ProxyArpAddDelReply struct { - Retval int32 -} - -func (*ProxyArpAddDelReply) GetMessageName() string { - return "proxy_arp_add_del_reply" -} -func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*ProxyArpAddDelReply) GetCrcString() string { - return "8e2d621d" -} -func NewProxyArpAddDelReply() api.Message { - return &ProxyArpAddDelReply{} -} - -// ProxyArpIntfcEnableDisable represents the VPP binary API message 'proxy_arp_intfc_enable_disable'. -// Generated from 'bin_api/vpe.api.json', line 78: -// -// ["proxy_arp_intfc_enable_disable", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "enable_disable"], -// {"crc" : "0x3ee1998e"} -// ], -// -type ProxyArpIntfcEnableDisable struct { - SwIfIndex uint32 - EnableDisable uint8 -} - -func (*ProxyArpIntfcEnableDisable) GetMessageName() string { - return "proxy_arp_intfc_enable_disable" -} -func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*ProxyArpIntfcEnableDisable) GetCrcString() string { - return "3ee1998e" -} -func NewProxyArpIntfcEnableDisable() api.Message { - return &ProxyArpIntfcEnableDisable{} -} - -// ProxyArpIntfcEnableDisableReply represents the VPP binary API message 'proxy_arp_intfc_enable_disable_reply'. -// Generated from 'bin_api/vpe.api.json', line 86: -// -// ["proxy_arp_intfc_enable_disable_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x23d273cd"} -// ], -// -type ProxyArpIntfcEnableDisableReply struct { - Retval int32 -} - -func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string { - return "proxy_arp_intfc_enable_disable_reply" -} -func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string { - return "23d273cd" -} -func NewProxyArpIntfcEnableDisableReply() api.Message { - return &ProxyArpIntfcEnableDisableReply{} -} - -// ResetVrf represents the VPP binary API message 'reset_vrf'. -// Generated from 'bin_api/vpe.api.json', line 92: -// -// ["reset_vrf", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "is_ipv6"], -// ["u32", "vrf_id"], -// {"crc" : "0xeb07deb0"} -// ], -// -type ResetVrf struct { - IsIpv6 uint8 - VrfID uint32 -} - -func (*ResetVrf) GetMessageName() string { - return "reset_vrf" -} -func (*ResetVrf) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*ResetVrf) GetCrcString() string { - return "eb07deb0" -} -func NewResetVrf() api.Message { - return &ResetVrf{} -} - -// ResetVrfReply represents the VPP binary API message 'reset_vrf_reply'. -// Generated from 'bin_api/vpe.api.json', line 100: -// -// ["reset_vrf_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x5f283863"} -// ], -// -type ResetVrfReply struct { - Retval int32 -} - -func (*ResetVrfReply) GetMessageName() string { - return "reset_vrf_reply" -} -func (*ResetVrfReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*ResetVrfReply) GetCrcString() string { - return "5f283863" -} -func NewResetVrfReply() api.Message { - return &ResetVrfReply{} -} - -// WantStats represents the VPP binary API message 'want_stats'. -// Generated from 'bin_api/vpe.api.json', line 106: -// -// ["want_stats", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "enable_disable"], -// ["u32", "pid"], -// {"crc" : "0x4f2effb4"} -// ], -// -type WantStats struct { - EnableDisable uint32 - Pid uint32 -} - -func (*WantStats) GetMessageName() string { - return "want_stats" -} -func (*WantStats) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*WantStats) GetCrcString() string { - return "4f2effb4" -} -func NewWantStats() api.Message { - return &WantStats{} -} - -// WantStatsReply represents the VPP binary API message 'want_stats_reply'. -// Generated from 'bin_api/vpe.api.json', line 114: -// -// ["want_stats_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xb36abf5f"} -// ], -// -type WantStatsReply struct { - Retval int32 -} - -func (*WantStatsReply) GetMessageName() string { - return "want_stats_reply" -} -func (*WantStatsReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*WantStatsReply) GetCrcString() string { - return "b36abf5f" -} -func NewWantStatsReply() api.Message { - return &WantStatsReply{} -} - -// VnetIP4FibCounters represents the VPP binary API message 'vnet_ip4_fib_counters'. -// Generated from 'bin_api/vpe.api.json', line 120: -// -// ["vnet_ip4_fib_counters", -// ["u16", "_vl_msg_id"], -// ["u32", "vrf_id"], -// ["u32", "count"], -// ["vl_api_ip4_fib_counter_t", "c", 0, "count"], -// {"crc" : "0x1ab9d6c5"} -// ], -// -type VnetIP4FibCounters struct { - VrfID uint32 - Count uint32 `struc:"sizeof=C"` - C []IP4FibCounter -} - -func (*VnetIP4FibCounters) GetMessageName() string { - return "vnet_ip4_fib_counters" -} -func (*VnetIP4FibCounters) GetMessageType() api.MessageType { - return api.OtherMessage -} -func (*VnetIP4FibCounters) GetCrcString() string { - return "1ab9d6c5" -} -func NewVnetIP4FibCounters() api.Message { - return &VnetIP4FibCounters{} -} - -// VnetIP4NbrCounters represents the VPP binary API message 'vnet_ip4_nbr_counters'. -// Generated from 'bin_api/vpe.api.json', line 127: -// -// ["vnet_ip4_nbr_counters", -// ["u16", "_vl_msg_id"], -// ["u32", "count"], -// ["u32", "sw_if_index"], -// ["u8", "begin"], -// ["vl_api_ip4_nbr_counter_t", "c", 0, "count"], -// {"crc" : "0xfc2b5092"} -// ], -// -type VnetIP4NbrCounters struct { - Count uint32 `struc:"sizeof=C"` - SwIfIndex uint32 - Begin uint8 - C []IP4NbrCounter -} - -func (*VnetIP4NbrCounters) GetMessageName() string { - return "vnet_ip4_nbr_counters" -} -func (*VnetIP4NbrCounters) GetMessageType() api.MessageType { - return api.OtherMessage -} -func (*VnetIP4NbrCounters) GetCrcString() string { - return "fc2b5092" -} -func NewVnetIP4NbrCounters() api.Message { - return &VnetIP4NbrCounters{} -} - -// VnetIP6FibCounters represents the VPP binary API message 'vnet_ip6_fib_counters'. -// Generated from 'bin_api/vpe.api.json', line 135: -// -// ["vnet_ip6_fib_counters", -// ["u16", "_vl_msg_id"], -// ["u32", "vrf_id"], -// ["u32", "count"], -// ["vl_api_ip6_fib_counter_t", "c", 0, "count"], -// {"crc" : "0x9ab453ae"} -// ], -// -type VnetIP6FibCounters struct { - VrfID uint32 - Count uint32 `struc:"sizeof=C"` - C []IP6FibCounter -} - -func (*VnetIP6FibCounters) GetMessageName() string { - return "vnet_ip6_fib_counters" -} -func (*VnetIP6FibCounters) GetMessageType() api.MessageType { - return api.OtherMessage -} -func (*VnetIP6FibCounters) GetCrcString() string { - return "9ab453ae" -} -func NewVnetIP6FibCounters() api.Message { - return &VnetIP6FibCounters{} -} - -// VnetIP6NbrCounters represents the VPP binary API message 'vnet_ip6_nbr_counters'. -// Generated from 'bin_api/vpe.api.json', line 142: -// -// ["vnet_ip6_nbr_counters", -// ["u16", "_vl_msg_id"], -// ["u32", "count"], -// ["u32", "sw_if_index"], -// ["u8", "begin"], -// ["vl_api_ip6_nbr_counter_t", "c", 0, "count"], -// {"crc" : "0x181b673f"} -// ], -// -type VnetIP6NbrCounters struct { - Count uint32 `struc:"sizeof=C"` - SwIfIndex uint32 - Begin uint8 - C []IP6NbrCounter -} - -func (*VnetIP6NbrCounters) GetMessageName() string { - return "vnet_ip6_nbr_counters" -} -func (*VnetIP6NbrCounters) GetMessageType() api.MessageType { - return api.OtherMessage -} -func (*VnetIP6NbrCounters) GetCrcString() string { - return "181b673f" -} -func NewVnetIP6NbrCounters() api.Message { - return &VnetIP6NbrCounters{} -} - -// VnetGetSummaryStats represents the VPP binary API message 'vnet_get_summary_stats'. -// Generated from 'bin_api/vpe.api.json', line 150: -// -// ["vnet_get_summary_stats", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0x16435c20"} -// ], -// -type VnetGetSummaryStats struct { -} - -func (*VnetGetSummaryStats) GetMessageName() string { - return "vnet_get_summary_stats" -} -func (*VnetGetSummaryStats) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*VnetGetSummaryStats) GetCrcString() string { - return "16435c20" -} -func NewVnetGetSummaryStats() api.Message { - return &VnetGetSummaryStats{} -} - -// VnetGetSummaryStatsReply represents the VPP binary API message 'vnet_get_summary_stats_reply'. -// Generated from 'bin_api/vpe.api.json', line 156: -// -// ["vnet_get_summary_stats_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u64", "total_pkts", 2], -// ["u64", "total_bytes", 2], -// ["f64", "vector_rate"], -// {"crc" : "0x675ce280"} -// ], -// -type VnetGetSummaryStatsReply struct { - Retval int32 - TotalPkts []uint64 `struc:"[2]uint64"` - TotalBytes []uint64 `struc:"[2]uint64"` - VectorRate float64 -} - -func (*VnetGetSummaryStatsReply) GetMessageName() string { - return "vnet_get_summary_stats_reply" -} -func (*VnetGetSummaryStatsReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*VnetGetSummaryStatsReply) GetCrcString() string { - return "675ce280" -} -func NewVnetGetSummaryStatsReply() api.Message { - return &VnetGetSummaryStatsReply{} -} - -// OamEvent represents the VPP binary API message 'oam_event'. -// Generated from 'bin_api/vpe.api.json', line 165: -// -// ["oam_event", -// ["u16", "_vl_msg_id"], -// ["u8", "dst_address", 4], -// ["u8", "state"], -// {"crc" : "0x4f285ade"} -// ], -// -type OamEvent struct { - DstAddress []byte `struc:"[4]byte"` - State uint8 -} - -func (*OamEvent) GetMessageName() string { - return "oam_event" -} -func (*OamEvent) GetMessageType() api.MessageType { - return api.OtherMessage -} -func (*OamEvent) GetCrcString() string { - return "4f285ade" -} -func NewOamEvent() api.Message { - return &OamEvent{} -} - -// WantOamEvents represents the VPP binary API message 'want_oam_events'. -// Generated from 'bin_api/vpe.api.json', line 171: -// -// ["want_oam_events", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "enable_disable"], -// ["u32", "pid"], -// {"crc" : "0x948ef12a"} -// ], -// -type WantOamEvents struct { - EnableDisable uint32 - Pid uint32 -} - -func (*WantOamEvents) GetMessageName() string { - return "want_oam_events" -} -func (*WantOamEvents) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*WantOamEvents) GetCrcString() string { - return "948ef12a" -} -func NewWantOamEvents() api.Message { - return &WantOamEvents{} -} - -// WantOamEventsReply represents the VPP binary API message 'want_oam_events_reply'. -// Generated from 'bin_api/vpe.api.json', line 179: -// -// ["want_oam_events_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x266a677d"} -// ], -// -type WantOamEventsReply struct { - Retval int32 -} - -func (*WantOamEventsReply) GetMessageName() string { - return "want_oam_events_reply" -} -func (*WantOamEventsReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*WantOamEventsReply) GetCrcString() string { - return "266a677d" -} -func NewWantOamEventsReply() api.Message { - return &WantOamEventsReply{} -} - -// OamAddDel represents the VPP binary API message 'oam_add_del'. -// Generated from 'bin_api/vpe.api.json', line 185: -// -// ["oam_add_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "vrf_id"], -// ["u8", "src_address", 4], -// ["u8", "dst_address", 4], -// ["u8", "is_add"], -// {"crc" : "0xb14bc7df"} -// ], -// -type OamAddDel struct { - VrfID uint32 - SrcAddress []byte `struc:"[4]byte"` - DstAddress []byte `struc:"[4]byte"` - IsAdd uint8 -} - -func (*OamAddDel) GetMessageName() string { - return "oam_add_del" -} -func (*OamAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*OamAddDel) GetCrcString() string { - return "b14bc7df" -} -func NewOamAddDel() api.Message { - return &OamAddDel{} -} - -// OamAddDelReply represents the VPP binary API message 'oam_add_del_reply'. -// Generated from 'bin_api/vpe.api.json', line 195: -// -// ["oam_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xc5594eec"} -// ], -// -type OamAddDelReply struct { - Retval int32 -} - -func (*OamAddDelReply) GetMessageName() string { - return "oam_add_del_reply" -} -func (*OamAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*OamAddDelReply) GetCrcString() string { - return "c5594eec" -} -func NewOamAddDelReply() api.Message { - return &OamAddDelReply{} -} - -// ResetFib represents the VPP binary API message 'reset_fib'. -// Generated from 'bin_api/vpe.api.json', line 201: -// -// ["reset_fib", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "vrf_id"], -// ["u8", "is_ipv6"], -// {"crc" : "0x6f17106b"} -// ], -// -type ResetFib struct { - VrfID uint32 - IsIpv6 uint8 -} - -func (*ResetFib) GetMessageName() string { - return "reset_fib" -} -func (*ResetFib) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*ResetFib) GetCrcString() string { - return "6f17106b" -} -func NewResetFib() api.Message { - return &ResetFib{} -} - -// ResetFibReply represents the VPP binary API message 'reset_fib_reply'. -// Generated from 'bin_api/vpe.api.json', line 209: -// -// ["reset_fib_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x990dcbf8"} -// ], -// -type ResetFibReply struct { - Retval int32 -} - -func (*ResetFibReply) GetMessageName() string { - return "reset_fib_reply" -} -func (*ResetFibReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*ResetFibReply) GetCrcString() string { - return "990dcbf8" -} -func NewResetFibReply() api.Message { - return &ResetFibReply{} -} - -// CreateLoopback represents the VPP binary API message 'create_loopback'. -// Generated from 'bin_api/vpe.api.json', line 215: -// -// ["create_loopback", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "mac_address", 6], -// {"crc" : "0xb2602de5"} -// ], -// -type CreateLoopback struct { - MacAddress []byte `struc:"[6]byte"` -} - -func (*CreateLoopback) GetMessageName() string { - return "create_loopback" -} -func (*CreateLoopback) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*CreateLoopback) GetCrcString() string { - return "b2602de5" -} -func NewCreateLoopback() api.Message { - return &CreateLoopback{} -} - -// CreateLoopbackReply represents the VPP binary API message 'create_loopback_reply'. -// Generated from 'bin_api/vpe.api.json', line 222: -// -// ["create_loopback_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0x9520f804"} -// ], -// -type CreateLoopbackReply struct { - Retval int32 - SwIfIndex uint32 -} - -func (*CreateLoopbackReply) GetMessageName() string { - return "create_loopback_reply" -} -func (*CreateLoopbackReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*CreateLoopbackReply) GetCrcString() string { - return "9520f804" -} -func NewCreateLoopbackReply() api.Message { - return &CreateLoopbackReply{} -} - -// CreateLoopbackInstance represents the VPP binary API message 'create_loopback_instance'. -// Generated from 'bin_api/vpe.api.json', line 229: -// -// ["create_loopback_instance", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "mac_address", 6], -// ["u8", "is_specified"], -// ["u32", "user_instance"], -// {"crc" : "0x967694f1"} -// ], -// -type CreateLoopbackInstance struct { - MacAddress []byte `struc:"[6]byte"` - IsSpecified uint8 - UserInstance uint32 -} - -func (*CreateLoopbackInstance) GetMessageName() string { - return "create_loopback_instance" -} -func (*CreateLoopbackInstance) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*CreateLoopbackInstance) GetCrcString() string { - return "967694f1" -} -func NewCreateLoopbackInstance() api.Message { - return &CreateLoopbackInstance{} -} - -// CreateLoopbackInstanceReply represents the VPP binary API message 'create_loopback_instance_reply'. -// Generated from 'bin_api/vpe.api.json', line 238: -// -// ["create_loopback_instance_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0xd52c63b6"} -// ], -// -type CreateLoopbackInstanceReply struct { - Retval int32 - SwIfIndex uint32 -} - -func (*CreateLoopbackInstanceReply) GetMessageName() string { - return "create_loopback_instance_reply" -} -func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*CreateLoopbackInstanceReply) GetCrcString() string { - return "d52c63b6" -} -func NewCreateLoopbackInstanceReply() api.Message { - return &CreateLoopbackInstanceReply{} -} - -// DeleteLoopback represents the VPP binary API message 'delete_loopback'. -// Generated from 'bin_api/vpe.api.json', line 245: -// -// ["delete_loopback", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// {"crc" : "0xded428b0"} -// ], -// -type DeleteLoopback struct { - SwIfIndex uint32 -} - -func (*DeleteLoopback) GetMessageName() string { - return "delete_loopback" -} -func (*DeleteLoopback) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*DeleteLoopback) GetCrcString() string { - return "ded428b0" -} -func NewDeleteLoopback() api.Message { - return &DeleteLoopback{} -} - -// DeleteLoopbackReply represents the VPP binary API message 'delete_loopback_reply'. -// Generated from 'bin_api/vpe.api.json', line 252: -// -// ["delete_loopback_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xc91dafa5"} -// ], -// -type DeleteLoopbackReply struct { - Retval int32 -} - -func (*DeleteLoopbackReply) GetMessageName() string { - return "delete_loopback_reply" -} -func (*DeleteLoopbackReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*DeleteLoopbackReply) GetCrcString() string { - return "c91dafa5" -} -func NewDeleteLoopbackReply() api.Message { - return &DeleteLoopbackReply{} -} +const VlAPIVersion = 0xe02a02b0 // ControlPing represents the VPP binary API message 'control_ping'. -// Generated from 'bin_api/vpe.api.json', line 258: +// Generated from 'bin_api/vpe.api.json', line 48: // -// ["control_ping", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0xea1bf4f7"} -// ], +// "control_ping", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type ControlPing struct { } @@ -1035,23 +38,39 @@ func (*ControlPing) GetMessageType() api.MessageType { return api.RequestMessage } func (*ControlPing) GetCrcString() string { - return "ea1bf4f7" + return "51077d14" } func NewControlPing() api.Message { return &ControlPing{} } // ControlPingReply represents the VPP binary API message 'control_ping_reply'. -// Generated from 'bin_api/vpe.api.json', line 264: -// -// ["control_ping_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "client_index"], -// ["u32", "vpe_pid"], -// {"crc" : "0xaa016e7b"} -// ], +// Generated from 'bin_api/vpe.api.json', line 66: +// +// "control_ping_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "vpe_pid" +// ], +// { +// "crc": "0xf6b0b8ca" +// } // type ControlPingReply struct { Retval int32 @@ -1066,22 +85,35 @@ func (*ControlPingReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*ControlPingReply) GetCrcString() string { - return "aa016e7b" + return "f6b0b8ca" } func NewControlPingReply() api.Message { return &ControlPingReply{} } // Cli represents the VPP binary API message 'cli'. -// Generated from 'bin_api/vpe.api.json', line 272: +// Generated from 'bin_api/vpe.api.json', line 92: // -// ["cli", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u64", "cmd_in_shmem"], -// {"crc" : "0x543d8e2e"} -// ], +// "cli", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u64", +// "cmd_in_shmem" +// ], +// { +// "crc": "0x23bfbfff" +// } // type Cli struct { CmdInShmem uint64 @@ -1094,23 +126,41 @@ func (*Cli) GetMessageType() api.MessageType { return api.RequestMessage } func (*Cli) GetCrcString() string { - return "543d8e2e" + return "23bfbfff" } func NewCli() api.Message { return &Cli{} } // CliInband represents the VPP binary API message 'cli_inband'. -// Generated from 'bin_api/vpe.api.json', line 279: +// Generated from 'bin_api/vpe.api.json', line 114: // -// ["cli_inband", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "length"], -// ["u8", "cmd", 0, "length"], -// {"crc" : "0x22345937"} -// ], +// "cli_inband", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "length" +// ], +// [ +// "u8", +// "cmd", +// 0, +// "length" +// ], +// { +// "crc": "0x74e00a49" +// } // type CliInband struct { Length uint32 `struc:"sizeof=Cmd"` @@ -1124,22 +174,35 @@ func (*CliInband) GetMessageType() api.MessageType { return api.RequestMessage } func (*CliInband) GetCrcString() string { - return "22345937" + return "74e00a49" } func NewCliInband() api.Message { return &CliInband{} } // CliReply represents the VPP binary API message 'cli_reply'. -// Generated from 'bin_api/vpe.api.json', line 287: +// Generated from 'bin_api/vpe.api.json', line 142: // -// ["cli_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u64", "reply_in_shmem"], -// {"crc" : "0x594a0b2e"} -// ], +// "cli_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u64", +// "reply_in_shmem" +// ], +// { +// "crc": "0x06d68297" +// } // type CliReply struct { Retval int32 @@ -1153,23 +216,41 @@ func (*CliReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*CliReply) GetCrcString() string { - return "594a0b2e" + return "06d68297" } func NewCliReply() api.Message { return &CliReply{} } // CliInbandReply represents the VPP binary API message 'cli_inband_reply'. -// Generated from 'bin_api/vpe.api.json', line 294: -// -// ["cli_inband_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "length"], -// ["u8", "reply", 0, "length"], -// {"crc" : "0xc1835761"} -// ], +// Generated from 'bin_api/vpe.api.json', line 164: +// +// "cli_inband_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "length" +// ], +// [ +// "u8", +// "reply", +// 0, +// "length" +// ], +// { +// "crc": "0x1f22bbb8" +// } // type CliInbandReply struct { Retval int32 @@ -1184,502 +265,36 @@ func (*CliInbandReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*CliInbandReply) GetCrcString() string { - return "c1835761" + return "1f22bbb8" } func NewCliInbandReply() api.Message { return &CliInbandReply{} } -// SetArpNeighborLimit represents the VPP binary API message 'set_arp_neighbor_limit'. -// Generated from 'bin_api/vpe.api.json', line 302: -// -// ["set_arp_neighbor_limit", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "is_ipv6"], -// ["u32", "arp_neighbor_limit"], -// {"crc" : "0xc1690cb4"} -// ], -// -type SetArpNeighborLimit struct { - IsIpv6 uint8 - ArpNeighborLimit uint32 -} - -func (*SetArpNeighborLimit) GetMessageName() string { - return "set_arp_neighbor_limit" -} -func (*SetArpNeighborLimit) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*SetArpNeighborLimit) GetCrcString() string { - return "c1690cb4" -} -func NewSetArpNeighborLimit() api.Message { - return &SetArpNeighborLimit{} -} - -// SetArpNeighborLimitReply represents the VPP binary API message 'set_arp_neighbor_limit_reply'. -// Generated from 'bin_api/vpe.api.json', line 310: -// -// ["set_arp_neighbor_limit_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xa6b30518"} -// ], -// -type SetArpNeighborLimitReply struct { - Retval int32 -} - -func (*SetArpNeighborLimitReply) GetMessageName() string { - return "set_arp_neighbor_limit_reply" -} -func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*SetArpNeighborLimitReply) GetCrcString() string { - return "a6b30518" -} -func NewSetArpNeighborLimitReply() api.Message { - return &SetArpNeighborLimitReply{} -} - -// L2PatchAddDel represents the VPP binary API message 'l2_patch_add_del'. -// Generated from 'bin_api/vpe.api.json', line 316: -// -// ["l2_patch_add_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "rx_sw_if_index"], -// ["u32", "tx_sw_if_index"], -// ["u8", "is_add"], -// {"crc" : "0x9b10029a"} -// ], -// -type L2PatchAddDel struct { - RxSwIfIndex uint32 - TxSwIfIndex uint32 - IsAdd uint8 -} - -func (*L2PatchAddDel) GetMessageName() string { - return "l2_patch_add_del" -} -func (*L2PatchAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*L2PatchAddDel) GetCrcString() string { - return "9b10029a" -} -func NewL2PatchAddDel() api.Message { - return &L2PatchAddDel{} -} - -// L2PatchAddDelReply represents the VPP binary API message 'l2_patch_add_del_reply'. -// Generated from 'bin_api/vpe.api.json', line 325: -// -// ["l2_patch_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xa85e37be"} -// ], -// -type L2PatchAddDelReply struct { - Retval int32 -} - -func (*L2PatchAddDelReply) GetMessageName() string { - return "l2_patch_add_del_reply" -} -func (*L2PatchAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*L2PatchAddDelReply) GetCrcString() string { - return "a85e37be" -} -func NewL2PatchAddDelReply() api.Message { - return &L2PatchAddDelReply{} -} - -// SwInterfaceSetVpath represents the VPP binary API message 'sw_interface_set_vpath'. -// Generated from 'bin_api/vpe.api.json', line 331: -// -// ["sw_interface_set_vpath", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "enable"], -// {"crc" : "0x1bc2fd5e"} -// ], -// -type SwInterfaceSetVpath struct { - SwIfIndex uint32 - Enable uint8 -} - -func (*SwInterfaceSetVpath) GetMessageName() string { - return "sw_interface_set_vpath" -} -func (*SwInterfaceSetVpath) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*SwInterfaceSetVpath) GetCrcString() string { - return "1bc2fd5e" -} -func NewSwInterfaceSetVpath() api.Message { - return &SwInterfaceSetVpath{} -} - -// SwInterfaceSetVpathReply represents the VPP binary API message 'sw_interface_set_vpath_reply'. -// Generated from 'bin_api/vpe.api.json', line 339: -// -// ["sw_interface_set_vpath_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x828dbe62"} -// ], -// -type SwInterfaceSetVpathReply struct { - Retval int32 -} - -func (*SwInterfaceSetVpathReply) GetMessageName() string { - return "sw_interface_set_vpath_reply" -} -func (*SwInterfaceSetVpathReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*SwInterfaceSetVpathReply) GetCrcString() string { - return "828dbe62" -} -func NewSwInterfaceSetVpathReply() api.Message { - return &SwInterfaceSetVpathReply{} -} - -// SwInterfaceSetL2Xconnect represents the VPP binary API message 'sw_interface_set_l2_xconnect'. -// Generated from 'bin_api/vpe.api.json', line 345: -// -// ["sw_interface_set_l2_xconnect", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "rx_sw_if_index"], -// ["u32", "tx_sw_if_index"], -// ["u8", "enable"], -// {"crc" : "0x48a4c4c8"} -// ], -// -type SwInterfaceSetL2Xconnect struct { - RxSwIfIndex uint32 - TxSwIfIndex uint32 - Enable uint8 -} - -func (*SwInterfaceSetL2Xconnect) GetMessageName() string { - return "sw_interface_set_l2_xconnect" -} -func (*SwInterfaceSetL2Xconnect) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*SwInterfaceSetL2Xconnect) GetCrcString() string { - return "48a4c4c8" -} -func NewSwInterfaceSetL2Xconnect() api.Message { - return &SwInterfaceSetL2Xconnect{} -} - -// SwInterfaceSetL2XconnectReply represents the VPP binary API message 'sw_interface_set_l2_xconnect_reply'. -// Generated from 'bin_api/vpe.api.json', line 354: -// -// ["sw_interface_set_l2_xconnect_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x6e45eed4"} -// ], -// -type SwInterfaceSetL2XconnectReply struct { - Retval int32 -} - -func (*SwInterfaceSetL2XconnectReply) GetMessageName() string { - return "sw_interface_set_l2_xconnect_reply" -} -func (*SwInterfaceSetL2XconnectReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*SwInterfaceSetL2XconnectReply) GetCrcString() string { - return "6e45eed4" -} -func NewSwInterfaceSetL2XconnectReply() api.Message { - return &SwInterfaceSetL2XconnectReply{} -} - -// SwInterfaceSetL2Bridge represents the VPP binary API message 'sw_interface_set_l2_bridge'. -// Generated from 'bin_api/vpe.api.json', line 360: -// -// ["sw_interface_set_l2_bridge", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "rx_sw_if_index"], -// ["u32", "bd_id"], -// ["u8", "shg"], -// ["u8", "bvi"], -// ["u8", "enable"], -// {"crc" : "0x36c739e8"} -// ], -// -type SwInterfaceSetL2Bridge struct { - RxSwIfIndex uint32 - BdID uint32 - Shg uint8 - Bvi uint8 - Enable uint8 -} - -func (*SwInterfaceSetL2Bridge) GetMessageName() string { - return "sw_interface_set_l2_bridge" -} -func (*SwInterfaceSetL2Bridge) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*SwInterfaceSetL2Bridge) GetCrcString() string { - return "36c739e8" -} -func NewSwInterfaceSetL2Bridge() api.Message { - return &SwInterfaceSetL2Bridge{} -} - -// SwInterfaceSetL2BridgeReply represents the VPP binary API message 'sw_interface_set_l2_bridge_reply'. -// Generated from 'bin_api/vpe.api.json', line 371: -// -// ["sw_interface_set_l2_bridge_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x347e08d9"} -// ], -// -type SwInterfaceSetL2BridgeReply struct { - Retval int32 -} - -func (*SwInterfaceSetL2BridgeReply) GetMessageName() string { - return "sw_interface_set_l2_bridge_reply" -} -func (*SwInterfaceSetL2BridgeReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*SwInterfaceSetL2BridgeReply) GetCrcString() string { - return "347e08d9" -} -func NewSwInterfaceSetL2BridgeReply() api.Message { - return &SwInterfaceSetL2BridgeReply{} -} - -// BdIPMacAddDel represents the VPP binary API message 'bd_ip_mac_add_del'. -// Generated from 'bin_api/vpe.api.json', line 377: -// -// ["bd_ip_mac_add_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "bd_id"], -// ["u8", "is_add"], -// ["u8", "is_ipv6"], -// ["u8", "ip_address", 16], -// ["u8", "mac_address", 6], -// {"crc" : "0xad819817"} -// ], -// -type BdIPMacAddDel struct { - BdID uint32 - IsAdd uint8 - IsIpv6 uint8 - IPAddress []byte `struc:"[16]byte"` - MacAddress []byte `struc:"[6]byte"` -} - -func (*BdIPMacAddDel) GetMessageName() string { - return "bd_ip_mac_add_del" -} -func (*BdIPMacAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*BdIPMacAddDel) GetCrcString() string { - return "ad819817" -} -func NewBdIPMacAddDel() api.Message { - return &BdIPMacAddDel{} -} - -// BdIPMacAddDelReply represents the VPP binary API message 'bd_ip_mac_add_del_reply'. -// Generated from 'bin_api/vpe.api.json', line 388: -// -// ["bd_ip_mac_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x55bab3b4"} -// ], -// -type BdIPMacAddDelReply struct { - Retval int32 -} - -func (*BdIPMacAddDelReply) GetMessageName() string { - return "bd_ip_mac_add_del_reply" -} -func (*BdIPMacAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*BdIPMacAddDelReply) GetCrcString() string { - return "55bab3b4" -} -func NewBdIPMacAddDelReply() api.Message { - return &BdIPMacAddDelReply{} -} - -// ClassifySetInterfaceIPTable represents the VPP binary API message 'classify_set_interface_ip_table'. -// Generated from 'bin_api/vpe.api.json', line 394: -// -// ["classify_set_interface_ip_table", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "is_ipv6"], -// ["u32", "sw_if_index"], -// ["u32", "table_index"], -// {"crc" : "0x0dc45308"} -// ], -// -type ClassifySetInterfaceIPTable struct { - IsIpv6 uint8 - SwIfIndex uint32 - TableIndex uint32 -} - -func (*ClassifySetInterfaceIPTable) GetMessageName() string { - return "classify_set_interface_ip_table" -} -func (*ClassifySetInterfaceIPTable) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*ClassifySetInterfaceIPTable) GetCrcString() string { - return "0dc45308" -} -func NewClassifySetInterfaceIPTable() api.Message { - return &ClassifySetInterfaceIPTable{} -} - -// ClassifySetInterfaceIPTableReply represents the VPP binary API message 'classify_set_interface_ip_table_reply'. -// Generated from 'bin_api/vpe.api.json', line 403: -// -// ["classify_set_interface_ip_table_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xdc391c34"} -// ], -// -type ClassifySetInterfaceIPTableReply struct { - Retval int32 -} - -func (*ClassifySetInterfaceIPTableReply) GetMessageName() string { - return "classify_set_interface_ip_table_reply" -} -func (*ClassifySetInterfaceIPTableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*ClassifySetInterfaceIPTableReply) GetCrcString() string { - return "dc391c34" -} -func NewClassifySetInterfaceIPTableReply() api.Message { - return &ClassifySetInterfaceIPTableReply{} -} - -// ClassifySetInterfaceL2Tables represents the VPP binary API message 'classify_set_interface_l2_tables'. -// Generated from 'bin_api/vpe.api.json', line 409: -// -// ["classify_set_interface_l2_tables", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u32", "ip4_table_index"], -// ["u32", "ip6_table_index"], -// ["u32", "other_table_index"], -// ["u8", "is_input"], -// {"crc" : "0xed9ccf0d"} -// ], -// -type ClassifySetInterfaceL2Tables struct { - SwIfIndex uint32 - IP4TableIndex uint32 - IP6TableIndex uint32 - OtherTableIndex uint32 - IsInput uint8 -} - -func (*ClassifySetInterfaceL2Tables) GetMessageName() string { - return "classify_set_interface_l2_tables" -} -func (*ClassifySetInterfaceL2Tables) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*ClassifySetInterfaceL2Tables) GetCrcString() string { - return "ed9ccf0d" -} -func NewClassifySetInterfaceL2Tables() api.Message { - return &ClassifySetInterfaceL2Tables{} -} - -// ClassifySetInterfaceL2TablesReply represents the VPP binary API message 'classify_set_interface_l2_tables_reply'. -// Generated from 'bin_api/vpe.api.json', line 420: -// -// ["classify_set_interface_l2_tables_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x8df20579"} -// ], -// -type ClassifySetInterfaceL2TablesReply struct { - Retval int32 -} - -func (*ClassifySetInterfaceL2TablesReply) GetMessageName() string { - return "classify_set_interface_l2_tables_reply" -} -func (*ClassifySetInterfaceL2TablesReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*ClassifySetInterfaceL2TablesReply) GetCrcString() string { - return "8df20579" -} -func NewClassifySetInterfaceL2TablesReply() api.Message { - return &ClassifySetInterfaceL2TablesReply{} -} - // GetNodeIndex represents the VPP binary API message 'get_node_index'. -// Generated from 'bin_api/vpe.api.json', line 426: -// -// ["get_node_index", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "node_name", 64], -// {"crc" : "0x226d3f8c"} -// ], +// Generated from 'bin_api/vpe.api.json', line 192: +// +// "get_node_index", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "node_name", +// 64 +// ], +// { +// "crc": "0x6c9a495d" +// } // type GetNodeIndex struct { NodeName []byte `struc:"[64]byte"` @@ -1692,22 +307,35 @@ func (*GetNodeIndex) GetMessageType() api.MessageType { return api.RequestMessage } func (*GetNodeIndex) GetCrcString() string { - return "226d3f8c" + return "6c9a495d" } func NewGetNodeIndex() api.Message { return &GetNodeIndex{} } // GetNodeIndexReply represents the VPP binary API message 'get_node_index_reply'. -// Generated from 'bin_api/vpe.api.json', line 433: +// Generated from 'bin_api/vpe.api.json', line 215: // -// ["get_node_index_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "node_index"], -// {"crc" : "0x29116865"} -// ], +// "get_node_index_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "node_index" +// ], +// { +// "crc": "0xa8600b89" +// } // type GetNodeIndexReply struct { Retval int32 @@ -1721,23 +349,41 @@ func (*GetNodeIndexReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*GetNodeIndexReply) GetCrcString() string { - return "29116865" + return "a8600b89" } func NewGetNodeIndexReply() api.Message { return &GetNodeIndexReply{} } // AddNodeNext represents the VPP binary API message 'add_node_next'. -// Generated from 'bin_api/vpe.api.json', line 440: -// -// ["add_node_next", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "node_name", 64], -// ["u8", "next_name", 64], -// {"crc" : "0xe4202993"} -// ], +// Generated from 'bin_api/vpe.api.json', line 237: +// +// "add_node_next", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "node_name", +// 64 +// ], +// [ +// "u8", +// "next_name", +// 64 +// ], +// { +// "crc": "0x9ab92f7a" +// } // type AddNodeNext struct { NodeName []byte `struc:"[64]byte"` @@ -1751,22 +397,35 @@ func (*AddNodeNext) GetMessageType() api.MessageType { return api.RequestMessage } func (*AddNodeNext) GetCrcString() string { - return "e4202993" + return "9ab92f7a" } func NewAddNodeNext() api.Message { return &AddNodeNext{} } // AddNodeNextReply represents the VPP binary API message 'add_node_next_reply'. -// Generated from 'bin_api/vpe.api.json', line 448: -// -// ["add_node_next_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "next_index"], -// {"crc" : "0xe89d6eed"} -// ], +// Generated from 'bin_api/vpe.api.json', line 265: +// +// "add_node_next_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "next_index" +// ], +// { +// "crc": "0x2ed75f32" +// } // type AddNodeNextReply struct { Retval int32 @@ -1780,157 +439,31 @@ func (*AddNodeNextReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*AddNodeNextReply) GetCrcString() string { - return "e89d6eed" + return "2ed75f32" } func NewAddNodeNextReply() api.Message { return &AddNodeNextReply{} } -// L2InterfaceEfpFilter represents the VPP binary API message 'l2_interface_efp_filter'. -// Generated from 'bin_api/vpe.api.json', line 455: -// -// ["l2_interface_efp_filter", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u32", "enable_disable"], -// {"crc" : "0x07c9d601"} -// ], -// -type L2InterfaceEfpFilter struct { - SwIfIndex uint32 - EnableDisable uint32 -} - -func (*L2InterfaceEfpFilter) GetMessageName() string { - return "l2_interface_efp_filter" -} -func (*L2InterfaceEfpFilter) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*L2InterfaceEfpFilter) GetCrcString() string { - return "07c9d601" -} -func NewL2InterfaceEfpFilter() api.Message { - return &L2InterfaceEfpFilter{} -} - -// L2InterfaceEfpFilterReply represents the VPP binary API message 'l2_interface_efp_filter_reply'. -// Generated from 'bin_api/vpe.api.json', line 463: -// -// ["l2_interface_efp_filter_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x0f4bb0c0"} -// ], -// -type L2InterfaceEfpFilterReply struct { - Retval int32 -} - -func (*L2InterfaceEfpFilterReply) GetMessageName() string { - return "l2_interface_efp_filter_reply" -} -func (*L2InterfaceEfpFilterReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*L2InterfaceEfpFilterReply) GetCrcString() string { - return "0f4bb0c0" -} -func NewL2InterfaceEfpFilterReply() api.Message { - return &L2InterfaceEfpFilterReply{} -} - -// CreateSubif represents the VPP binary API message 'create_subif'. -// Generated from 'bin_api/vpe.api.json', line 469: -// -// ["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" : "0x150e6757"} -// ], -// -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) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*CreateSubif) GetCrcString() string { - return "150e6757" -} -func NewCreateSubif() api.Message { - return &CreateSubif{} -} - -// CreateSubifReply represents the VPP binary API message 'create_subif_reply'. -// Generated from 'bin_api/vpe.api.json', line 487: -// -// ["create_subif_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0x92272bcb"} -// ], -// -type CreateSubifReply struct { - Retval int32 - SwIfIndex uint32 -} - -func (*CreateSubifReply) GetMessageName() string { - return "create_subif_reply" -} -func (*CreateSubifReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*CreateSubifReply) GetCrcString() string { - return "92272bcb" -} -func NewCreateSubifReply() api.Message { - return &CreateSubifReply{} -} - // ShowVersion represents the VPP binary API message 'show_version'. -// Generated from 'bin_api/vpe.api.json', line 494: +// Generated from 'bin_api/vpe.api.json', line 287: // -// ["show_version", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0xf18f9480"} -// ], +// "show_version", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type ShowVersion struct { } @@ -1942,25 +475,51 @@ func (*ShowVersion) GetMessageType() api.MessageType { return api.RequestMessage } func (*ShowVersion) GetCrcString() string { - return "f18f9480" + return "51077d14" } func NewShowVersion() api.Message { return &ShowVersion{} } // ShowVersionReply represents the VPP binary API message 'show_version_reply'. -// Generated from 'bin_api/vpe.api.json', line 500: -// -// ["show_version_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u8", "program", 32], -// ["u8", "version", 32], -// ["u8", "build_date", 32], -// ["u8", "build_directory", 256], -// {"crc" : "0x83186d9e"} -// ], +// Generated from 'bin_api/vpe.api.json', line 305: +// +// "show_version_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u8", +// "program", +// 32 +// ], +// [ +// "u8", +// "version", +// 32 +// ], +// [ +// "u8", +// "build_date", +// 32 +// ], +// [ +// "u8", +// "build_directory", +// 256 +// ], +// { +// "crc": "0x8b5a13b4" +// } // type ShowVersionReply struct { Retval int32 @@ -1977,331 +536,31 @@ func (*ShowVersionReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*ShowVersionReply) GetCrcString() string { - return "83186d9e" + return "8b5a13b4" } func NewShowVersionReply() api.Message { return &ShowVersionReply{} } -// InterfaceNameRenumber represents the VPP binary API message 'interface_name_renumber'. -// Generated from 'bin_api/vpe.api.json', line 510: -// -// ["interface_name_renumber", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u32", "new_show_dev_instance"], -// {"crc" : "0x11b7bcec"} -// ], -// -type InterfaceNameRenumber struct { - SwIfIndex uint32 - NewShowDevInstance uint32 -} - -func (*InterfaceNameRenumber) GetMessageName() string { - return "interface_name_renumber" -} -func (*InterfaceNameRenumber) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*InterfaceNameRenumber) GetCrcString() string { - return "11b7bcec" -} -func NewInterfaceNameRenumber() api.Message { - return &InterfaceNameRenumber{} -} - -// InterfaceNameRenumberReply represents the VPP binary API message 'interface_name_renumber_reply'. -// Generated from 'bin_api/vpe.api.json', line 518: -// -// ["interface_name_renumber_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x31594963"} -// ], -// -type InterfaceNameRenumberReply struct { - Retval int32 -} - -func (*InterfaceNameRenumberReply) GetMessageName() string { - return "interface_name_renumber_reply" -} -func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*InterfaceNameRenumberReply) GetCrcString() string { - return "31594963" -} -func NewInterfaceNameRenumberReply() api.Message { - return &InterfaceNameRenumberReply{} -} - -// WantIP4ArpEvents represents the VPP binary API message 'want_ip4_arp_events'. -// Generated from 'bin_api/vpe.api.json', line 524: -// -// ["want_ip4_arp_events", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "enable_disable"], -// ["u32", "pid"], -// ["u32", "address"], -// {"crc" : "0x5ae044c2"} -// ], -// -type WantIP4ArpEvents struct { - EnableDisable uint8 - Pid uint32 - Address uint32 -} - -func (*WantIP4ArpEvents) GetMessageName() string { - return "want_ip4_arp_events" -} -func (*WantIP4ArpEvents) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*WantIP4ArpEvents) GetCrcString() string { - return "5ae044c2" -} -func NewWantIP4ArpEvents() api.Message { - return &WantIP4ArpEvents{} -} - -// WantIP4ArpEventsReply represents the VPP binary API message 'want_ip4_arp_events_reply'. -// Generated from 'bin_api/vpe.api.json', line 533: -// -// ["want_ip4_arp_events_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xe1c0b59e"} -// ], -// -type WantIP4ArpEventsReply struct { - Retval int32 -} - -func (*WantIP4ArpEventsReply) GetMessageName() string { - return "want_ip4_arp_events_reply" -} -func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*WantIP4ArpEventsReply) GetCrcString() string { - return "e1c0b59e" -} -func NewWantIP4ArpEventsReply() api.Message { - return &WantIP4ArpEventsReply{} -} - -// IP4ArpEvent represents the VPP binary API message 'ip4_arp_event'. -// Generated from 'bin_api/vpe.api.json', line 539: -// -// ["ip4_arp_event", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "address"], -// ["u32", "pid"], -// ["u32", "sw_if_index"], -// ["u8", "new_mac", 6], -// ["u8", "mac_ip"], -// {"crc" : "0x7de1837b"} -// ], -// -type IP4ArpEvent struct { - Address uint32 - Pid uint32 - SwIfIndex uint32 - NewMac []byte `struc:"[6]byte"` - MacIP uint8 -} - -func (*IP4ArpEvent) GetMessageName() string { - return "ip4_arp_event" -} -func (*IP4ArpEvent) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*IP4ArpEvent) GetCrcString() string { - return "7de1837b" -} -func NewIP4ArpEvent() api.Message { - return &IP4ArpEvent{} -} - -// WantIP6NdEvents represents the VPP binary API message 'want_ip6_nd_events'. -// Generated from 'bin_api/vpe.api.json', line 550: -// -// ["want_ip6_nd_events", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "enable_disable"], -// ["u32", "pid"], -// ["u8", "address", 16], -// {"crc" : "0x9586ba55"} -// ], -// -type WantIP6NdEvents struct { - EnableDisable uint8 - Pid uint32 - Address []byte `struc:"[16]byte"` -} - -func (*WantIP6NdEvents) GetMessageName() string { - return "want_ip6_nd_events" -} -func (*WantIP6NdEvents) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*WantIP6NdEvents) GetCrcString() string { - return "9586ba55" -} -func NewWantIP6NdEvents() api.Message { - return &WantIP6NdEvents{} -} - -// WantIP6NdEventsReply represents the VPP binary API message 'want_ip6_nd_events_reply'. -// Generated from 'bin_api/vpe.api.json', line 559: -// -// ["want_ip6_nd_events_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x95458aad"} -// ], -// -type WantIP6NdEventsReply struct { - Retval int32 -} - -func (*WantIP6NdEventsReply) GetMessageName() string { - return "want_ip6_nd_events_reply" -} -func (*WantIP6NdEventsReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*WantIP6NdEventsReply) GetCrcString() string { - return "95458aad" -} -func NewWantIP6NdEventsReply() api.Message { - return &WantIP6NdEventsReply{} -} - -// IP6NdEvent represents the VPP binary API message 'ip6_nd_event'. -// Generated from 'bin_api/vpe.api.json', line 565: -// -// ["ip6_nd_event", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "pid"], -// ["u32", "sw_if_index"], -// ["u8", "address", 16], -// ["u8", "new_mac", 6], -// ["u8", "mac_ip"], -// {"crc" : "0x777bb71c"} -// ], -// -type IP6NdEvent struct { - Pid uint32 - SwIfIndex uint32 - Address []byte `struc:"[16]byte"` - NewMac []byte `struc:"[6]byte"` - MacIP uint8 -} - -func (*IP6NdEvent) GetMessageName() string { - return "ip6_nd_event" -} -func (*IP6NdEvent) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*IP6NdEvent) GetCrcString() string { - return "777bb71c" -} -func NewIP6NdEvent() api.Message { - return &IP6NdEvent{} -} - -// InputACLSetInterface represents the VPP binary API message 'input_acl_set_interface'. -// Generated from 'bin_api/vpe.api.json', line 576: -// -// ["input_acl_set_interface", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u32", "ip4_table_index"], -// ["u32", "ip6_table_index"], -// ["u32", "l2_table_index"], -// ["u8", "is_add"], -// {"crc" : "0x34d2fc33"} -// ], -// -type InputACLSetInterface struct { - SwIfIndex uint32 - IP4TableIndex uint32 - IP6TableIndex uint32 - L2TableIndex uint32 - IsAdd uint8 -} - -func (*InputACLSetInterface) GetMessageName() string { - return "input_acl_set_interface" -} -func (*InputACLSetInterface) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*InputACLSetInterface) GetCrcString() string { - return "34d2fc33" -} -func NewInputACLSetInterface() api.Message { - return &InputACLSetInterface{} -} - -// InputACLSetInterfaceReply represents the VPP binary API message 'input_acl_set_interface_reply'. -// Generated from 'bin_api/vpe.api.json', line 587: -// -// ["input_acl_set_interface_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xba0110e3"} -// ], -// -type InputACLSetInterfaceReply struct { - Retval int32 -} - -func (*InputACLSetInterfaceReply) GetMessageName() string { - return "input_acl_set_interface_reply" -} -func (*InputACLSetInterfaceReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*InputACLSetInterfaceReply) GetCrcString() string { - return "ba0110e3" -} -func NewInputACLSetInterfaceReply() api.Message { - return &InputACLSetInterfaceReply{} -} - // GetNodeGraph represents the VPP binary API message 'get_node_graph'. -// Generated from 'bin_api/vpe.api.json', line 593: -// -// ["get_node_graph", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0xf8636a76"} -// ], +// Generated from 'bin_api/vpe.api.json', line 343: +// +// "get_node_graph", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type GetNodeGraph struct { } @@ -2313,22 +572,35 @@ func (*GetNodeGraph) GetMessageType() api.MessageType { return api.RequestMessage } func (*GetNodeGraph) GetCrcString() string { - return "f8636a76" + return "51077d14" } func NewGetNodeGraph() api.Message { return &GetNodeGraph{} } // GetNodeGraphReply represents the VPP binary API message 'get_node_graph_reply'. -// Generated from 'bin_api/vpe.api.json', line 599: -// -// ["get_node_graph_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u64", "reply_in_shmem"], -// {"crc" : "0x816d91b6"} -// ], +// Generated from 'bin_api/vpe.api.json', line 361: +// +// "get_node_graph_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u64", +// "reply_in_shmem" +// ], +// { +// "crc": "0x06d68297" +// } // type GetNodeGraphReply struct { Retval int32 @@ -2342,143 +614,41 @@ func (*GetNodeGraphReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*GetNodeGraphReply) GetCrcString() string { - return "816d91b6" + return "06d68297" } func NewGetNodeGraphReply() api.Message { return &GetNodeGraphReply{} } -// IoamEnable represents the VPP binary API message 'ioam_enable'. -// Generated from 'bin_api/vpe.api.json', line 606: -// -// ["ioam_enable", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u16", "id"], -// ["u8", "seqno"], -// ["u8", "analyse"], -// ["u8", "pot_enable"], -// ["u8", "trace_enable"], -// ["u32", "node_id"], -// {"crc" : "0x7bd4abf9"} -// ], -// -type IoamEnable struct { - ID uint16 - Seqno uint8 - Analyse uint8 - PotEnable uint8 - TraceEnable uint8 - NodeID uint32 -} - -func (*IoamEnable) GetMessageName() string { - return "ioam_enable" -} -func (*IoamEnable) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*IoamEnable) GetCrcString() string { - return "7bd4abf9" -} -func NewIoamEnable() api.Message { - return &IoamEnable{} -} - -// IoamEnableReply represents the VPP binary API message 'ioam_enable_reply'. -// Generated from 'bin_api/vpe.api.json', line 618: -// -// ["ioam_enable_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x58a8fedc"} -// ], -// -type IoamEnableReply struct { - Retval int32 -} - -func (*IoamEnableReply) GetMessageName() string { - return "ioam_enable_reply" -} -func (*IoamEnableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*IoamEnableReply) GetCrcString() string { - return "58a8fedc" -} -func NewIoamEnableReply() api.Message { - return &IoamEnableReply{} -} - -// IoamDisable represents the VPP binary API message 'ioam_disable'. -// Generated from 'bin_api/vpe.api.json', line 624: -// -// ["ioam_disable", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u16", "id"], -// {"crc" : "0xaff26d33"} -// ], -// -type IoamDisable struct { - ID uint16 -} - -func (*IoamDisable) GetMessageName() string { - return "ioam_disable" -} -func (*IoamDisable) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*IoamDisable) GetCrcString() string { - return "aff26d33" -} -func NewIoamDisable() api.Message { - return &IoamDisable{} -} - -// IoamDisableReply represents the VPP binary API message 'ioam_disable_reply'. -// Generated from 'bin_api/vpe.api.json', line 631: -// -// ["ioam_disable_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xef118a9d"} -// ], -// -type IoamDisableReply struct { - Retval int32 -} - -func (*IoamDisableReply) GetMessageName() string { - return "ioam_disable_reply" -} -func (*IoamDisableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*IoamDisableReply) GetCrcString() string { - return "ef118a9d" -} -func NewIoamDisableReply() api.Message { - return &IoamDisableReply{} -} - // GetNextIndex represents the VPP binary API message 'get_next_index'. -// Generated from 'bin_api/vpe.api.json', line 637: -// -// ["get_next_index", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "node_name", 64], -// ["u8", "next_name", 64], -// {"crc" : "0x52f0e416"} -// ], +// Generated from 'bin_api/vpe.api.json', line 383: +// +// "get_next_index", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "node_name", +// 64 +// ], +// [ +// "u8", +// "next_name", +// 64 +// ], +// { +// "crc": "0x9ab92f7a" +// } // type GetNextIndex struct { NodeName []byte `struc:"[64]byte"` @@ -2492,22 +662,35 @@ func (*GetNextIndex) GetMessageType() api.MessageType { return api.RequestMessage } func (*GetNextIndex) GetCrcString() string { - return "52f0e416" + return "9ab92f7a" } func NewGetNextIndex() api.Message { return &GetNextIndex{} } // GetNextIndexReply represents the VPP binary API message 'get_next_index_reply'. -// Generated from 'bin_api/vpe.api.json', line 645: -// -// ["get_next_index_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "next_index"], -// {"crc" : "0x671fbdb1"} -// ], +// Generated from 'bin_api/vpe.api.json', line 411: +// +// "get_next_index_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "next_index" +// ], +// { +// "crc": "0x2ed75f32" +// } // type GetNextIndexReply struct { Retval int32 @@ -2521,498 +704,8 @@ func (*GetNextIndexReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*GetNextIndexReply) GetCrcString() string { - return "671fbdb1" + return "2ed75f32" } func NewGetNextIndexReply() api.Message { return &GetNextIndexReply{} } - -// PgCreateInterface represents the VPP binary API message 'pg_create_interface'. -// Generated from 'bin_api/vpe.api.json', line 652: -// -// ["pg_create_interface", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "interface_id"], -// {"crc" : "0x253c5959"} -// ], -// -type PgCreateInterface struct { - InterfaceID uint32 -} - -func (*PgCreateInterface) GetMessageName() string { - return "pg_create_interface" -} -func (*PgCreateInterface) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*PgCreateInterface) GetCrcString() string { - return "253c5959" -} -func NewPgCreateInterface() api.Message { - return &PgCreateInterface{} -} - -// PgCreateInterfaceReply represents the VPP binary API message 'pg_create_interface_reply'. -// Generated from 'bin_api/vpe.api.json', line 659: -// -// ["pg_create_interface_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0x21b4f949"} -// ], -// -type PgCreateInterfaceReply struct { - Retval int32 - SwIfIndex uint32 -} - -func (*PgCreateInterfaceReply) GetMessageName() string { - return "pg_create_interface_reply" -} -func (*PgCreateInterfaceReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*PgCreateInterfaceReply) GetCrcString() string { - return "21b4f949" -} -func NewPgCreateInterfaceReply() api.Message { - return &PgCreateInterfaceReply{} -} - -// PgCapture represents the VPP binary API message 'pg_capture'. -// Generated from 'bin_api/vpe.api.json', line 666: -// -// ["pg_capture", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "interface_id"], -// ["u8", "is_enabled"], -// ["u32", "count"], -// ["u32", "pcap_name_length"], -// ["u8", "pcap_file_name", 0, "pcap_name_length"], -// {"crc" : "0x6ac7fe78"} -// ], -// -type PgCapture struct { - InterfaceID uint32 - IsEnabled uint8 - Count uint32 - PcapNameLength uint32 `struc:"sizeof=PcapFileName"` - PcapFileName []byte -} - -func (*PgCapture) GetMessageName() string { - return "pg_capture" -} -func (*PgCapture) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*PgCapture) GetCrcString() string { - return "6ac7fe78" -} -func NewPgCapture() api.Message { - return &PgCapture{} -} - -// PgCaptureReply represents the VPP binary API message 'pg_capture_reply'. -// Generated from 'bin_api/vpe.api.json', line 677: -// -// ["pg_capture_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xf403693b"} -// ], -// -type PgCaptureReply struct { - Retval int32 -} - -func (*PgCaptureReply) GetMessageName() string { - return "pg_capture_reply" -} -func (*PgCaptureReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*PgCaptureReply) GetCrcString() string { - return "f403693b" -} -func NewPgCaptureReply() api.Message { - return &PgCaptureReply{} -} - -// PgEnableDisable represents the VPP binary API message 'pg_enable_disable'. -// Generated from 'bin_api/vpe.api.json', line 683: -// -// ["pg_enable_disable", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "is_enabled"], -// ["u32", "stream_name_length"], -// ["u8", "stream_name", 0, "stream_name_length"], -// {"crc" : "0x7d0b90ff"} -// ], -// -type PgEnableDisable struct { - IsEnabled uint8 - StreamNameLength uint32 `struc:"sizeof=StreamName"` - StreamName []byte -} - -func (*PgEnableDisable) GetMessageName() string { - return "pg_enable_disable" -} -func (*PgEnableDisable) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*PgEnableDisable) GetCrcString() string { - return "7d0b90ff" -} -func NewPgEnableDisable() api.Message { - return &PgEnableDisable{} -} - -// PgEnableDisableReply represents the VPP binary API message 'pg_enable_disable_reply'. -// Generated from 'bin_api/vpe.api.json', line 692: -// -// ["pg_enable_disable_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x02253bd6"} -// ], -// -type PgEnableDisableReply struct { - Retval int32 -} - -func (*PgEnableDisableReply) GetMessageName() string { - return "pg_enable_disable_reply" -} -func (*PgEnableDisableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*PgEnableDisableReply) GetCrcString() string { - return "02253bd6" -} -func NewPgEnableDisableReply() api.Message { - return &PgEnableDisableReply{} -} - -// IPSourceAndPortRangeCheckAddDel represents the VPP binary API message 'ip_source_and_port_range_check_add_del'. -// Generated from 'bin_api/vpe.api.json', line 698: -// -// ["ip_source_and_port_range_check_add_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "is_ipv6"], -// ["u8", "is_add"], -// ["u8", "mask_length"], -// ["u8", "address", 16], -// ["u8", "number_of_ranges"], -// ["u16", "low_ports", 32], -// ["u16", "high_ports", 32], -// ["u32", "vrf_id"], -// {"crc" : "0x0f8c6ba0"} -// ], -// -type IPSourceAndPortRangeCheckAddDel struct { - IsIpv6 uint8 - IsAdd uint8 - MaskLength uint8 - Address []byte `struc:"[16]byte"` - NumberOfRanges uint8 - LowPorts []uint16 `struc:"[32]uint16"` - HighPorts []uint16 `struc:"[32]uint16"` - VrfID uint32 -} - -func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string { - return "ip_source_and_port_range_check_add_del" -} -func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string { - return "0f8c6ba0" -} -func NewIPSourceAndPortRangeCheckAddDel() api.Message { - return &IPSourceAndPortRangeCheckAddDel{} -} - -// IPSourceAndPortRangeCheckAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_add_del_reply'. -// Generated from 'bin_api/vpe.api.json', line 712: -// -// ["ip_source_and_port_range_check_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x35df8160"} -// ], -// -type IPSourceAndPortRangeCheckAddDelReply struct { - Retval int32 -} - -func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string { - return "ip_source_and_port_range_check_add_del_reply" -} -func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string { - return "35df8160" -} -func NewIPSourceAndPortRangeCheckAddDelReply() api.Message { - return &IPSourceAndPortRangeCheckAddDelReply{} -} - -// IPSourceAndPortRangeCheckInterfaceAddDel represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del'. -// Generated from 'bin_api/vpe.api.json', line 718: -// -// ["ip_source_and_port_range_check_interface_add_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "is_add"], -// ["u32", "sw_if_index"], -// ["u32", "tcp_in_vrf_id"], -// ["u32", "tcp_out_vrf_id"], -// ["u32", "udp_in_vrf_id"], -// ["u32", "udp_out_vrf_id"], -// {"crc" : "0x4a6438f1"} -// ], -// -type IPSourceAndPortRangeCheckInterfaceAddDel struct { - IsAdd uint8 - SwIfIndex uint32 - TCPInVrfID uint32 - TCPOutVrfID uint32 - UDPInVrfID uint32 - UDPOutVrfID uint32 -} - -func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string { - return "ip_source_and_port_range_check_interface_add_del" -} -func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string { - return "4a6438f1" -} -func NewIPSourceAndPortRangeCheckInterfaceAddDel() api.Message { - return &IPSourceAndPortRangeCheckInterfaceAddDel{} -} - -// IPSourceAndPortRangeCheckInterfaceAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'. -// Generated from 'bin_api/vpe.api.json', line 730: -// -// ["ip_source_and_port_range_check_interface_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x6b940f04"} -// ], -// -type IPSourceAndPortRangeCheckInterfaceAddDelReply struct { - Retval int32 -} - -func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string { - return "ip_source_and_port_range_check_interface_add_del_reply" -} -func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string { - return "6b940f04" -} -func NewIPSourceAndPortRangeCheckInterfaceAddDelReply() api.Message { - return &IPSourceAndPortRangeCheckInterfaceAddDelReply{} -} - -// DeleteSubif represents the VPP binary API message 'delete_subif'. -// Generated from 'bin_api/vpe.api.json', line 736: -// -// ["delete_subif", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// {"crc" : "0x6038f848"} -// ], -// -type DeleteSubif struct { - SwIfIndex uint32 -} - -func (*DeleteSubif) GetMessageName() string { - return "delete_subif" -} -func (*DeleteSubif) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*DeleteSubif) GetCrcString() string { - return "6038f848" -} -func NewDeleteSubif() api.Message { - return &DeleteSubif{} -} - -// DeleteSubifReply represents the VPP binary API message 'delete_subif_reply'. -// Generated from 'bin_api/vpe.api.json', line 743: -// -// ["delete_subif_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x9d6015dc"} -// ], -// -type DeleteSubifReply struct { - Retval int32 -} - -func (*DeleteSubifReply) GetMessageName() string { - return "delete_subif_reply" -} -func (*DeleteSubifReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*DeleteSubifReply) GetCrcString() string { - return "9d6015dc" -} -func NewDeleteSubifReply() api.Message { - return &DeleteSubifReply{} -} - -// Punt represents the VPP binary API message 'punt'. -// Generated from 'bin_api/vpe.api.json', line 749: -// -// ["punt", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "is_add"], -// ["u8", "ipv"], -// ["u8", "l4_protocol"], -// ["u16", "l4_port"], -// {"crc" : "0x4559c976"} -// ], -// -type Punt struct { - IsAdd uint8 - Ipv uint8 - L4Protocol uint8 - L4Port uint16 -} - -func (*Punt) GetMessageName() string { - return "punt" -} -func (*Punt) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*Punt) GetCrcString() string { - return "4559c976" -} -func NewPunt() api.Message { - return &Punt{} -} - -// PuntReply represents the VPP binary API message 'punt_reply'. -// Generated from 'bin_api/vpe.api.json', line 759: -// -// ["punt_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xcca27fbe"} -// ], -// -type PuntReply struct { - Retval int32 -} - -func (*PuntReply) GetMessageName() string { - return "punt_reply" -} -func (*PuntReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*PuntReply) GetCrcString() string { - return "cca27fbe" -} -func NewPuntReply() api.Message { - return &PuntReply{} -} - -// FeatureEnableDisable represents the VPP binary API message 'feature_enable_disable'. -// Generated from 'bin_api/vpe.api.json', line 765: -// -// ["feature_enable_disable", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "enable"], -// ["u8", "arc_name", 64], -// ["u8", "feature_name", 64], -// {"crc" : "0xbc86393b"} -// ], -// -type FeatureEnableDisable struct { - SwIfIndex uint32 - Enable uint8 - ArcName []byte `struc:"[64]byte"` - FeatureName []byte `struc:"[64]byte"` -} - -func (*FeatureEnableDisable) GetMessageName() string { - return "feature_enable_disable" -} -func (*FeatureEnableDisable) GetMessageType() api.MessageType { - return api.RequestMessage -} -func (*FeatureEnableDisable) GetCrcString() string { - return "bc86393b" -} -func NewFeatureEnableDisable() api.Message { - return &FeatureEnableDisable{} -} - -// FeatureEnableDisableReply represents the VPP binary API message 'feature_enable_disable_reply'. -// Generated from 'bin_api/vpe.api.json', line 775: -// -// ["feature_enable_disable_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xf6e14373"} -// ] -// -type FeatureEnableDisableReply struct { - Retval int32 -} - -func (*FeatureEnableDisableReply) GetMessageName() string { - return "feature_enable_disable_reply" -} -func (*FeatureEnableDisableReply) GetMessageType() api.MessageType { - return api.ReplyMessage -} -func (*FeatureEnableDisableReply) GetCrcString() string { - return "f6e14373" -} -func NewFeatureEnableDisableReply() api.Message { - return &FeatureEnableDisableReply{} -} diff --git a/core/core_test.go b/core/core_test.go index 37c0b9c..682309d 100644 --- a/core/core_test.go +++ b/core/core_test.go @@ -22,6 +22,7 @@ import ( "git.fd.io/govpp.git/core" "git.fd.io/govpp.git/core/bin_api/vpe" "git.fd.io/govpp.git/examples/bin_api/interfaces" + "git.fd.io/govpp.git/examples/bin_api/stats" . "github.com/onsi/gomega" ) @@ -222,11 +223,11 @@ func TestCodec(t *testing.T) { codec := &core.MsgCodec{} // request - data, err := codec.EncodeMsg(&vpe.CreateLoopback{MacAddress: []byte{1, 2, 3, 4, 5, 6}}, 11) + data, err := codec.EncodeMsg(&interfaces.CreateLoopback{MacAddress: []byte{1, 2, 3, 4, 5, 6}}, 11) Expect(err).ShouldNot(HaveOccurred()) Expect(data).ShouldNot(BeEmpty()) - msg1 := &vpe.CreateLoopback{} + msg1 := &interfaces.CreateLoopback{} err = codec.DecodeMsg(data, msg1) Expect(err).ShouldNot(HaveOccurred()) Expect(msg1.MacAddress).To(BeEquivalentTo([]byte{1, 2, 3, 4, 5, 6})) @@ -242,11 +243,11 @@ func TestCodec(t *testing.T) { Expect(msg2.Retval).To(BeEquivalentTo(55)) // other - data, err = codec.EncodeMsg(&vpe.VnetIP4FibCounters{VrfID: 77}, 33) + data, err = codec.EncodeMsg(&stats.VnetIP4FibCounters{VrfID: 77}, 33) Expect(err).ShouldNot(HaveOccurred()) Expect(data).ShouldNot(BeEmpty()) - msg3 := &vpe.VnetIP4FibCounters{} + msg3 := &stats.VnetIP4FibCounters{} err = codec.DecodeMsg(data, msg3) Expect(err).ShouldNot(HaveOccurred()) Expect(msg3.VrfID).To(BeEquivalentTo(77)) diff --git a/examples/bin_api/acl.api.json b/examples/bin_api/acl.api.json index 431f623..4c6653c 100644 --- a/examples/bin_api/acl.api.json +++ b/examples/bin_api/acl.api.json @@ -1,226 +1,929 @@ { - "types" : [ - ["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" : "0x2715e1c0"} - ], - ["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" : "0x6723f13e"} - ] + "services": [ + { + "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_get_version": { + "reply": "acl_plugin_get_version_reply" + } + }, + { + "macip_acl_interface_add_del": { + "reply": "macip_acl_interface_add_del_reply" + } + }, + { + "acl_interface_set_acl_list": { + "reply": "acl_interface_set_acl_list_reply" + } + }, + { + "acl_dump": { + "reply": "acl_details", + "stream": true + } + }, + { + "acl_interface_list_dump": { + "reply": "acl_interface_list_details", + "stream": true + } + }, + { + "macip_acl_interface_list_dump": { + "reply": "macip_acl_interface_list_details", + "stream": true + } + }, + { + "acl_add_replace": { + "reply": "acl_add_replace_reply" + } + }, + { + "acl_plugin_control_ping": { + "reply": "acl_plugin_control_ping_reply" + } + }, + { + "macip_acl_interface_get": { + "reply": "macip_acl_interface_get_reply" + } + }, + { + "macip_acl_add": { + "reply": "macip_acl_add_reply" + } + }, + { + "macip_acl_add_replace": { + "reply": "macip_acl_add_replace_reply" + } + }, + { + "macip_acl_dump": { + "reply": "macip_acl_details", + "stream": true + } + } ], - "messages" : [ - ["acl_plugin_get_version", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0xd7c07748"} - ], - ["acl_plugin_get_version_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "major"], - ["u32", "minor"], - {"crc" : "0x43eb59a5"} - ], - ["acl_plugin_control_ping", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0xfc22c86e"} - ], - ["acl_plugin_control_ping_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "client_index"], - ["u32", "vpe_pid"], - {"crc" : "0xe07e9231"} - ], - ["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" : "0x3c317936"} - ], - ["acl_add_replace_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "acl_index"], - ["i32", "retval"], - {"crc" : "0xa5e6d0cf"} - ], - ["acl_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "acl_index"], - {"crc" : "0x82cc30ed"} - ], - ["acl_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xbbb83d84"} - ], - ["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" : "0x98b53725"} - ], - ["acl_interface_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xc1b3c077"} - ], - ["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" : "0x7562419c"} - ], - ["acl_interface_set_acl_list_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x435ddc2b"} - ], - ["acl_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "acl_index"], - {"crc" : "0xc188156d"} - ], - ["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" : "0x1c8916b7"} - ], - ["acl_interface_list_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - {"crc" : "0xadfe84b8"} - ], - ["acl_interface_list_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "count"], - ["u8", "n_input"], - ["u32", "acls", 0, "count"], - {"crc" : "0xc8150656"} - ], - ["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" : "0x33356284"} - ], - ["macip_acl_add_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "acl_index"], - ["i32", "retval"], - {"crc" : "0x472edb4c"} - ], - ["macip_acl_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "acl_index"], - {"crc" : "0xdde1141f"} - ], - ["macip_acl_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xeeb60e0f"} - ], - ["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" : "0x03a4fab2"} - ], - ["macip_acl_interface_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x9e9ee485"} - ], - ["macip_acl_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "acl_index"], - {"crc" : "0xd38227cb"} - ], - ["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" : "0xee1c50db"} - ], - ["macip_acl_interface_get", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0x317ce31c"} - ], - ["macip_acl_interface_get_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "count"], - ["u32", "acls", 0, "count"], - {"crc" : "0x6c86a56c"} + "vl_api_version": "0x1db2ece9", + "enums": [], + "messages": [ + [ + "acl_plugin_get_version", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "acl_plugin_get_version_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "major" + ], + [ + "u32", + "minor" + ], + { + "crc": "0x9b32cf86" + } + ], + [ + "acl_plugin_control_ping", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "acl_plugin_control_ping_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "vpe_pid" + ], + { + "crc": "0xf6b0b8ca" + } + ], + [ + "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" + } + ], + [ + "acl_add_replace_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xac407b0c" + } + ], + [ + "acl_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + { + "crc": "0xef34fea4" + } + ], + [ + "acl_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "acl_interface_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "acl_interface_set_acl_list_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "acl_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + { + "crc": "0xef34fea4" + } + ], + [ + "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" + } + ], + [ + "acl_interface_list_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0x529cb13f" + } + ], + [ + "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" + } + ], + [ + "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" + } + ], + [ + "macip_acl_add_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xac407b0c" + } + ], + [ + "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" + } + ], + [ + "macip_acl_add_replace_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xac407b0c" + } + ], + [ + "macip_acl_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + { + "crc": "0xef34fea4" + } + ], + [ + "macip_acl_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "macip_acl_interface_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "macip_acl_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "acl_index" + ], + { + "crc": "0xef34fea4" + } + ], + [ + "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" + } + ], + [ + "macip_acl_interface_get", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "macip_acl_interface_get_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "count" + ], + [ + "u32", + "acls", + 0, + "count" + ], + { + "crc": "0xaccf9b05" + } + ], + [ + "macip_acl_interface_list_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0x529cb13f" + } + ], + [ + "macip_acl_interface_list_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "count" + ], + [ + "u32", + "acls", + 0, + "count" + ], + { + "crc": "0x29783fa0" + } ] ], -"vl_api_version" :"0x1fd77287" + "types": [ + [ + "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" + } + ], + [ + "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" + } + ] + ] } diff --git a/examples/bin_api/acl/acl.go b/examples/bin_api/acl/acl.go index 488f9b5..f8bb944 100644 --- a/examples/bin_api/acl/acl.go +++ b/examples/bin_api/acl/acl.go @@ -6,27 +6,69 @@ package acl import "git.fd.io/govpp.git/api" // VlApiVersion contains version of the API. -const VlAPIVersion = 0x1fd77287 +const VlAPIVersion = 0x1db2ece9 // ACLRule represents the VPP binary API data type 'acl_rule'. -// Generated from '../../bin_api/acl.api.json', line 3: -// -// ["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" : "0x2715e1c0"} -// ], +// Generated from '../../bin_api/acl.api.json', line 836: +// +// "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 @@ -48,21 +90,43 @@ func (*ACLRule) GetTypeName() string { return "acl_rule" } func (*ACLRule) GetCrcString() string { - return "2715e1c0" + return "6f99bf4d" } // MacipACLRule represents the VPP binary API data type 'macip_acl_rule'. -// Generated from '../../bin_api/acl.api.json', line 19: -// -// ["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" : "0x6723f13e"} -// ] +// Generated from '../../bin_api/acl.api.json', line 896: +// +// "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 @@ -77,18 +141,28 @@ func (*MacipACLRule) GetTypeName() string { return "macip_acl_rule" } func (*MacipACLRule) GetCrcString() string { - return "6723f13e" + return "70589f1e" } // ACLPluginGetVersion represents the VPP binary API message 'acl_plugin_get_version'. -// Generated from '../../bin_api/acl.api.json', line 30: +// Generated from '../../bin_api/acl.api.json', line 87: // -// ["acl_plugin_get_version", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0xd7c07748"} -// ], +// "acl_plugin_get_version", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type ACLPluginGetVersion struct { } @@ -100,22 +174,35 @@ func (*ACLPluginGetVersion) GetMessageType() api.MessageType { return api.RequestMessage } func (*ACLPluginGetVersion) GetCrcString() string { - return "d7c07748" + return "51077d14" } func NewACLPluginGetVersion() api.Message { return &ACLPluginGetVersion{} } // ACLPluginGetVersionReply represents the VPP binary API message 'acl_plugin_get_version_reply'. -// Generated from '../../bin_api/acl.api.json', line 36: +// Generated from '../../bin_api/acl.api.json', line 105: // -// ["acl_plugin_get_version_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "major"], -// ["u32", "minor"], -// {"crc" : "0x43eb59a5"} -// ], +// "acl_plugin_get_version_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "major" +// ], +// [ +// "u32", +// "minor" +// ], +// { +// "crc": "0x9b32cf86" +// } // type ACLPluginGetVersionReply struct { Major uint32 @@ -129,21 +216,31 @@ func (*ACLPluginGetVersionReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*ACLPluginGetVersionReply) GetCrcString() string { - return "43eb59a5" + return "9b32cf86" } func NewACLPluginGetVersionReply() api.Message { return &ACLPluginGetVersionReply{} } // ACLPluginControlPing represents the VPP binary API message 'acl_plugin_control_ping'. -// Generated from '../../bin_api/acl.api.json', line 43: +// Generated from '../../bin_api/acl.api.json', line 127: // -// ["acl_plugin_control_ping", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0xfc22c86e"} -// ], +// "acl_plugin_control_ping", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type ACLPluginControlPing struct { } @@ -155,23 +252,39 @@ func (*ACLPluginControlPing) GetMessageType() api.MessageType { return api.RequestMessage } func (*ACLPluginControlPing) GetCrcString() string { - return "fc22c86e" + return "51077d14" } func NewACLPluginControlPing() api.Message { return &ACLPluginControlPing{} } // ACLPluginControlPingReply represents the VPP binary API message 'acl_plugin_control_ping_reply'. -// Generated from '../../bin_api/acl.api.json', line 49: +// Generated from '../../bin_api/acl.api.json', line 145: // -// ["acl_plugin_control_ping_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "client_index"], -// ["u32", "vpe_pid"], -// {"crc" : "0xe07e9231"} -// ], +// "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 @@ -186,25 +299,50 @@ func (*ACLPluginControlPingReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*ACLPluginControlPingReply) GetCrcString() string { - return "e07e9231" + return "f6b0b8ca" } func NewACLPluginControlPingReply() api.Message { return &ACLPluginControlPingReply{} } // ACLAddReplace represents the VPP binary API message 'acl_add_replace'. -// Generated from '../../bin_api/acl.api.json', line 57: -// -// ["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" : "0x3c317936"} -// ], +// Generated from '../../bin_api/acl.api.json', line 171: +// +// "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 @@ -220,22 +358,35 @@ func (*ACLAddReplace) GetMessageType() api.MessageType { return api.RequestMessage } func (*ACLAddReplace) GetCrcString() string { - return "3c317936" + return "e839997e" } func NewACLAddReplace() api.Message { return &ACLAddReplace{} } // ACLAddReplaceReply represents the VPP binary API message 'acl_add_replace_reply'. -// Generated from '../../bin_api/acl.api.json', line 67: +// Generated from '../../bin_api/acl.api.json', line 208: // -// ["acl_add_replace_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "acl_index"], -// ["i32", "retval"], -// {"crc" : "0xa5e6d0cf"} -// ], +// "acl_add_replace_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xac407b0c" +// } // type ACLAddReplaceReply struct { ACLIndex uint32 @@ -249,22 +400,35 @@ func (*ACLAddReplaceReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*ACLAddReplaceReply) GetCrcString() string { - return "a5e6d0cf" + return "ac407b0c" } func NewACLAddReplaceReply() api.Message { return &ACLAddReplaceReply{} } // ACLDel represents the VPP binary API message 'acl_del'. -// Generated from '../../bin_api/acl.api.json', line 74: +// Generated from '../../bin_api/acl.api.json', line 230: // -// ["acl_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "acl_index"], -// {"crc" : "0x82cc30ed"} -// ], +// "acl_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// { +// "crc": "0xef34fea4" +// } // type ACLDel struct { ACLIndex uint32 @@ -277,21 +441,31 @@ func (*ACLDel) GetMessageType() api.MessageType { return api.RequestMessage } func (*ACLDel) GetCrcString() string { - return "82cc30ed" + return "ef34fea4" } func NewACLDel() api.Message { return &ACLDel{} } // ACLDelReply represents the VPP binary API message 'acl_del_reply'. -// Generated from '../../bin_api/acl.api.json', line 81: +// Generated from '../../bin_api/acl.api.json', line 252: // -// ["acl_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xbbb83d84"} -// ], +// "acl_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type ACLDelReply struct { Retval int32 @@ -304,25 +478,47 @@ func (*ACLDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*ACLDelReply) GetCrcString() string { - return "bbb83d84" + return "e8d4e804" } func NewACLDelReply() api.Message { return &ACLDelReply{} } // ACLInterfaceAddDel represents the VPP binary API message 'acl_interface_add_del'. -// Generated from '../../bin_api/acl.api.json', line 87: +// Generated from '../../bin_api/acl.api.json', line 270: // -// ["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" : "0x98b53725"} -// ], +// "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 @@ -338,21 +534,31 @@ func (*ACLInterfaceAddDel) GetMessageType() api.MessageType { return api.RequestMessage } func (*ACLInterfaceAddDel) GetCrcString() string { - return "98b53725" + return "0b2aedd1" } func NewACLInterfaceAddDel() api.Message { return &ACLInterfaceAddDel{} } // ACLInterfaceAddDelReply represents the VPP binary API message 'acl_interface_add_del_reply'. -// Generated from '../../bin_api/acl.api.json', line 97: +// Generated from '../../bin_api/acl.api.json', line 304: // -// ["acl_interface_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xc1b3c077"} -// ], +// "acl_interface_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type ACLInterfaceAddDelReply struct { Retval int32 @@ -365,25 +571,49 @@ func (*ACLInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*ACLInterfaceAddDelReply) GetCrcString() string { - return "c1b3c077" + return "e8d4e804" } func NewACLInterfaceAddDelReply() api.Message { return &ACLInterfaceAddDelReply{} } // ACLInterfaceSetACLList represents the VPP binary API message 'acl_interface_set_acl_list'. -// Generated from '../../bin_api/acl.api.json', line 103: -// -// ["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" : "0x7562419c"} -// ], +// Generated from '../../bin_api/acl.api.json', line 322: +// +// "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 @@ -399,21 +629,31 @@ func (*ACLInterfaceSetACLList) GetMessageType() api.MessageType { return api.RequestMessage } func (*ACLInterfaceSetACLList) GetCrcString() string { - return "7562419c" + return "8baece38" } func NewACLInterfaceSetACLList() api.Message { return &ACLInterfaceSetACLList{} } // ACLInterfaceSetACLListReply represents the VPP binary API message 'acl_interface_set_acl_list_reply'. -// Generated from '../../bin_api/acl.api.json', line 113: +// Generated from '../../bin_api/acl.api.json', line 358: // -// ["acl_interface_set_acl_list_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x435ddc2b"} -// ], +// "acl_interface_set_acl_list_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type ACLInterfaceSetACLListReply struct { Retval int32 @@ -426,22 +666,35 @@ func (*ACLInterfaceSetACLListReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*ACLInterfaceSetACLListReply) GetCrcString() string { - return "435ddc2b" + return "e8d4e804" } func NewACLInterfaceSetACLListReply() api.Message { return &ACLInterfaceSetACLListReply{} } // ACLDump represents the VPP binary API message 'acl_dump'. -// Generated from '../../bin_api/acl.api.json', line 119: +// Generated from '../../bin_api/acl.api.json', line 376: // -// ["acl_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "acl_index"], -// {"crc" : "0xc188156d"} -// ], +// "acl_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// { +// "crc": "0xef34fea4" +// } // type ACLDump struct { ACLIndex uint32 @@ -454,24 +707,46 @@ func (*ACLDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*ACLDump) GetCrcString() string { - return "c188156d" + return "ef34fea4" } func NewACLDump() api.Message { return &ACLDump{} } // ACLDetails represents the VPP binary API message 'acl_details'. -// Generated from '../../bin_api/acl.api.json', line 126: -// -// ["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" : "0x1c8916b7"} -// ], +// Generated from '../../bin_api/acl.api.json', line 398: +// +// "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 @@ -487,22 +762,35 @@ func (*ACLDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*ACLDetails) GetCrcString() string { - return "1c8916b7" + return "5bd895be" } func NewACLDetails() api.Message { return &ACLDetails{} } // ACLInterfaceListDump represents the VPP binary API message 'acl_interface_list_dump'. -// Generated from '../../bin_api/acl.api.json', line 135: +// Generated from '../../bin_api/acl.api.json', line 431: // -// ["acl_interface_list_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// {"crc" : "0xadfe84b8"} -// ], +// "acl_interface_list_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type ACLInterfaceListDump struct { SwIfIndex uint32 @@ -515,24 +803,45 @@ func (*ACLInterfaceListDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*ACLInterfaceListDump) GetCrcString() string { - return "adfe84b8" + return "529cb13f" } func NewACLInterfaceListDump() api.Message { return &ACLInterfaceListDump{} } // ACLInterfaceListDetails represents the VPP binary API message 'acl_interface_list_details'. -// Generated from '../../bin_api/acl.api.json', line 142: -// -// ["acl_interface_list_details", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "count"], -// ["u8", "n_input"], -// ["u32", "acls", 0, "count"], -// {"crc" : "0xc8150656"} -// ], +// Generated from '../../bin_api/acl.api.json', line 453: +// +// "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 @@ -548,24 +857,46 @@ func (*ACLInterfaceListDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*ACLInterfaceListDetails) GetCrcString() string { - return "c8150656" + return "d5e80809" } func NewACLInterfaceListDetails() api.Message { return &ACLInterfaceListDetails{} } // MacipACLAdd represents the VPP binary API message 'macip_acl_add'. -// Generated from '../../bin_api/acl.api.json', line 151: -// -// ["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" : "0x33356284"} -// ], +// Generated from '../../bin_api/acl.api.json', line 485: +// +// "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"` @@ -580,22 +911,35 @@ func (*MacipACLAdd) GetMessageType() api.MessageType { return api.RequestMessage } func (*MacipACLAdd) GetCrcString() string { - return "33356284" + return "b3d3d65a" } func NewMacipACLAdd() api.Message { return &MacipACLAdd{} } // MacipACLAddReply represents the VPP binary API message 'macip_acl_add_reply'. -// Generated from '../../bin_api/acl.api.json', line 160: +// Generated from '../../bin_api/acl.api.json', line 518: // -// ["macip_acl_add_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "acl_index"], -// ["i32", "retval"], -// {"crc" : "0x472edb4c"} -// ], +// "macip_acl_add_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xac407b0c" +// } // type MacipACLAddReply struct { ACLIndex uint32 @@ -609,22 +953,136 @@ func (*MacipACLAddReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*MacipACLAddReply) GetCrcString() string { - return "472edb4c" + return "ac407b0c" } func NewMacipACLAddReply() api.Message { return &MacipACLAddReply{} } +// MacipACLAddReplace represents the VPP binary API message 'macip_acl_add_replace'. +// Generated from '../../bin_api/acl.api.json', line 540: +// +// "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 + Tag []byte `struc:"[64]byte"` + Count uint32 `struc:"sizeof=R"` + R []MacipACLRule +} + +func (*MacipACLAddReplace) GetMessageName() string { + return "macip_acl_add_replace" +} +func (*MacipACLAddReplace) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*MacipACLAddReplace) GetCrcString() string { + return "a0e8c01b" +} +func NewMacipACLAddReplace() api.Message { + return &MacipACLAddReplace{} +} + +// MacipACLAddReplaceReply represents the VPP binary API message 'macip_acl_add_replace_reply'. +// Generated from '../../bin_api/acl.api.json', line 577: +// +// "macip_acl_add_replace_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xac407b0c" +// } +// +type MacipACLAddReplaceReply struct { + ACLIndex uint32 + Retval int32 +} + +func (*MacipACLAddReplaceReply) GetMessageName() string { + return "macip_acl_add_replace_reply" +} +func (*MacipACLAddReplaceReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*MacipACLAddReplaceReply) GetCrcString() string { + return "ac407b0c" +} +func NewMacipACLAddReplaceReply() api.Message { + return &MacipACLAddReplaceReply{} +} + // MacipACLDel represents the VPP binary API message 'macip_acl_del'. -// Generated from '../../bin_api/acl.api.json', line 167: +// Generated from '../../bin_api/acl.api.json', line 599: // -// ["macip_acl_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "acl_index"], -// {"crc" : "0xdde1141f"} -// ], +// "macip_acl_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// { +// "crc": "0xef34fea4" +// } // type MacipACLDel struct { ACLIndex uint32 @@ -637,21 +1095,31 @@ func (*MacipACLDel) GetMessageType() api.MessageType { return api.RequestMessage } func (*MacipACLDel) GetCrcString() string { - return "dde1141f" + return "ef34fea4" } func NewMacipACLDel() api.Message { return &MacipACLDel{} } // MacipACLDelReply represents the VPP binary API message 'macip_acl_del_reply'. -// Generated from '../../bin_api/acl.api.json', line 174: +// Generated from '../../bin_api/acl.api.json', line 621: // -// ["macip_acl_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xeeb60e0f"} -// ], +// "macip_acl_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type MacipACLDelReply struct { Retval int32 @@ -664,24 +1132,43 @@ func (*MacipACLDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*MacipACLDelReply) GetCrcString() string { - return "eeb60e0f" + return "e8d4e804" } func NewMacipACLDelReply() api.Message { return &MacipACLDelReply{} } // MacipACLInterfaceAddDel represents the VPP binary API message 'macip_acl_interface_add_del'. -// Generated from '../../bin_api/acl.api.json', line 180: -// -// ["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" : "0x03a4fab2"} -// ], +// Generated from '../../bin_api/acl.api.json', line 639: +// +// "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 @@ -696,21 +1183,31 @@ func (*MacipACLInterfaceAddDel) GetMessageType() api.MessageType { return api.RequestMessage } func (*MacipACLInterfaceAddDel) GetCrcString() string { - return "03a4fab2" + return "6a6be97c" } func NewMacipACLInterfaceAddDel() api.Message { return &MacipACLInterfaceAddDel{} } // MacipACLInterfaceAddDelReply represents the VPP binary API message 'macip_acl_interface_add_del_reply'. -// Generated from '../../bin_api/acl.api.json', line 189: +// Generated from '../../bin_api/acl.api.json', line 669: // -// ["macip_acl_interface_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x9e9ee485"} -// ], +// "macip_acl_interface_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type MacipACLInterfaceAddDelReply struct { Retval int32 @@ -723,22 +1220,35 @@ func (*MacipACLInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*MacipACLInterfaceAddDelReply) GetCrcString() string { - return "9e9ee485" + return "e8d4e804" } func NewMacipACLInterfaceAddDelReply() api.Message { return &MacipACLInterfaceAddDelReply{} } // MacipACLDump represents the VPP binary API message 'macip_acl_dump'. -// Generated from '../../bin_api/acl.api.json', line 195: +// Generated from '../../bin_api/acl.api.json', line 687: // -// ["macip_acl_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "acl_index"], -// {"crc" : "0xd38227cb"} -// ], +// "macip_acl_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "acl_index" +// ], +// { +// "crc": "0xef34fea4" +// } // type MacipACLDump struct { ACLIndex uint32 @@ -751,24 +1261,46 @@ func (*MacipACLDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*MacipACLDump) GetCrcString() string { - return "d38227cb" + return "ef34fea4" } func NewMacipACLDump() api.Message { return &MacipACLDump{} } // MacipACLDetails represents the VPP binary API message 'macip_acl_details'. -// Generated from '../../bin_api/acl.api.json', line 202: -// -// ["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" : "0xee1c50db"} -// ], +// Generated from '../../bin_api/acl.api.json', line 709: +// +// "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 @@ -784,21 +1316,31 @@ func (*MacipACLDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*MacipACLDetails) GetCrcString() string { - return "ee1c50db" + return "dd2b55ba" } func NewMacipACLDetails() api.Message { return &MacipACLDetails{} } // MacipACLInterfaceGet represents the VPP binary API message 'macip_acl_interface_get'. -// Generated from '../../bin_api/acl.api.json', line 211: +// Generated from '../../bin_api/acl.api.json', line 742: // -// ["macip_acl_interface_get", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0x317ce31c"} -// ], +// "macip_acl_interface_get", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type MacipACLInterfaceGet struct { } @@ -810,22 +1352,37 @@ func (*MacipACLInterfaceGet) GetMessageType() api.MessageType { return api.RequestMessage } func (*MacipACLInterfaceGet) GetCrcString() string { - return "317ce31c" + return "51077d14" } func NewMacipACLInterfaceGet() api.Message { return &MacipACLInterfaceGet{} } // MacipACLInterfaceGetReply represents the VPP binary API message 'macip_acl_interface_get_reply'. -// Generated from '../../bin_api/acl.api.json', line 217: +// Generated from '../../bin_api/acl.api.json', line 760: // -// ["macip_acl_interface_get_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "count"], -// ["u32", "acls", 0, "count"], -// {"crc" : "0x6c86a56c"} -// ] +// "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"` @@ -839,8 +1396,98 @@ func (*MacipACLInterfaceGetReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*MacipACLInterfaceGetReply) GetCrcString() string { - return "6c86a56c" + return "accf9b05" } func NewMacipACLInterfaceGetReply() api.Message { return &MacipACLInterfaceGetReply{} } + +// MacipACLInterfaceListDump represents the VPP binary API message 'macip_acl_interface_list_dump'. +// Generated from '../../bin_api/acl.api.json', line 784: +// +// "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 +} + +func (*MacipACLInterfaceListDump) GetMessageName() string { + return "macip_acl_interface_list_dump" +} +func (*MacipACLInterfaceListDump) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*MacipACLInterfaceListDump) GetCrcString() string { + return "529cb13f" +} +func NewMacipACLInterfaceListDump() api.Message { + return &MacipACLInterfaceListDump{} +} + +// MacipACLInterfaceListDetails represents the VPP binary API message 'macip_acl_interface_list_details'. +// Generated from '../../bin_api/acl.api.json', line 806: +// +// "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 + Count uint8 `struc:"sizeof=Acls"` + Acls []uint32 +} + +func (*MacipACLInterfaceListDetails) GetMessageName() string { + return "macip_acl_interface_list_details" +} +func (*MacipACLInterfaceListDetails) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*MacipACLInterfaceListDetails) GetCrcString() string { + return "29783fa0" +} +func NewMacipACLInterfaceListDetails() api.Message { + return &MacipACLInterfaceListDetails{} +} diff --git a/examples/bin_api/af_packet.api.json b/examples/bin_api/af_packet.api.json index b0c8e7d..81ee2f9 100644 --- a/examples/bin_api/af_packet.api.json +++ b/examples/bin_api/af_packet.api.json @@ -1,37 +1,163 @@ { - "types" : [ - + "services": [ + { + "af_packet_delete": { + "reply": "af_packet_delete_reply" + } + }, + { + "af_packet_create": { + "reply": "af_packet_create_reply" + } + }, + { + "af_packet_set_l4_cksum_offload": { + "reply": "af_packet_set_l4_cksum_offload_reply" + } + } ], - "messages" : [ - ["af_packet_create", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "host_if_name", 64], - ["u8", "hw_addr", 6], - ["u8", "use_random_hw_addr"], - {"crc" : "0x92768640"} + "vl_api_version": "0x8957ca8b", + "enums": [], + "messages": [ + [ + "af_packet_create", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "host_if_name", + 64 + ], + [ + "u8", + "hw_addr", + 6 + ], + [ + "u8", + "use_random_hw_addr" + ], + { + "crc": "0x6d5d30d6" + } ], - ["af_packet_create_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x718bac92"} + [ + "af_packet_create_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0xfda5941f" + } ], - ["af_packet_delete", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "host_if_name", 64], - {"crc" : "0xc063ce85"} + [ + "af_packet_delete", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "host_if_name", + 64 + ], + { + "crc": "0x3efceda3" + } ], - ["af_packet_delete_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x1a80431a"} + [ + "af_packet_delete_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "af_packet_set_l4_cksum_offload", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "sw_if_index" + ], + [ + "u8", + "set" + ], + { + "crc": "0x86538585" + } + ], + [ + "af_packet_set_l4_cksum_offload_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } ] ], -"vl_api_version" :"0xd4ce9f85" + "types": [] } diff --git a/examples/bin_api/af_packet/af_packet.go b/examples/bin_api/af_packet/af_packet.go index 04d783f..c969e2a 100644 --- a/examples/bin_api/af_packet/af_packet.go +++ b/examples/bin_api/af_packet/af_packet.go @@ -6,20 +6,41 @@ package af_packet import "git.fd.io/govpp.git/api" // VlApiVersion contains version of the API. -const VlAPIVersion = 0xd4ce9f85 +const VlAPIVersion = 0x8957ca8b // AfPacketCreate represents the VPP binary API message 'af_packet_create'. -// Generated from '../../bin_api/af_packet.api.json', line 6: +// Generated from '../../bin_api/af_packet.api.json', line 23: // -// ["af_packet_create", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "host_if_name", 64], -// ["u8", "hw_addr", 6], -// ["u8", "use_random_hw_addr"], -// {"crc" : "0x92768640"} -// ], +// "af_packet_create", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "host_if_name", +// 64 +// ], +// [ +// "u8", +// "hw_addr", +// 6 +// ], +// [ +// "u8", +// "use_random_hw_addr" +// ], +// { +// "crc": "0x6d5d30d6" +// } // type AfPacketCreate struct { HostIfName []byte `struc:"[64]byte"` @@ -34,22 +55,35 @@ func (*AfPacketCreate) GetMessageType() api.MessageType { return api.RequestMessage } func (*AfPacketCreate) GetCrcString() string { - return "92768640" + return "6d5d30d6" } func NewAfPacketCreate() api.Message { return &AfPacketCreate{} } // AfPacketCreateReply represents the VPP binary API message 'af_packet_create_reply'. -// Generated from '../../bin_api/af_packet.api.json', line 15: +// Generated from '../../bin_api/af_packet.api.json', line 55: // -// ["af_packet_create_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0x718bac92"} -// ], +// "af_packet_create_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type AfPacketCreateReply struct { Retval int32 @@ -63,22 +97,36 @@ func (*AfPacketCreateReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*AfPacketCreateReply) GetCrcString() string { - return "718bac92" + return "fda5941f" } func NewAfPacketCreateReply() api.Message { return &AfPacketCreateReply{} } // AfPacketDelete represents the VPP binary API message 'af_packet_delete'. -// Generated from '../../bin_api/af_packet.api.json', line 22: +// Generated from '../../bin_api/af_packet.api.json', line 77: // -// ["af_packet_delete", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "host_if_name", 64], -// {"crc" : "0xc063ce85"} -// ], +// "af_packet_delete", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "host_if_name", +// 64 +// ], +// { +// "crc": "0x3efceda3" +// } // type AfPacketDelete struct { HostIfName []byte `struc:"[64]byte"` @@ -91,21 +139,31 @@ func (*AfPacketDelete) GetMessageType() api.MessageType { return api.RequestMessage } func (*AfPacketDelete) GetCrcString() string { - return "c063ce85" + return "3efceda3" } func NewAfPacketDelete() api.Message { return &AfPacketDelete{} } // AfPacketDeleteReply represents the VPP binary API message 'af_packet_delete_reply'. -// Generated from '../../bin_api/af_packet.api.json', line 29: +// Generated from '../../bin_api/af_packet.api.json', line 100: // -// ["af_packet_delete_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x1a80431a"} -// ] +// "af_packet_delete_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type AfPacketDeleteReply struct { Retval int32 @@ -118,8 +176,91 @@ func (*AfPacketDeleteReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*AfPacketDeleteReply) GetCrcString() string { - return "1a80431a" + return "e8d4e804" } func NewAfPacketDeleteReply() api.Message { return &AfPacketDeleteReply{} } + +// AfPacketSetL4CksumOffload represents the VPP binary API message 'af_packet_set_l4_cksum_offload'. +// Generated from '../../bin_api/af_packet.api.json', line 118: +// +// "af_packet_set_l4_cksum_offload", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "sw_if_index" +// ], +// [ +// "u8", +// "set" +// ], +// { +// "crc": "0x86538585" +// } +// +type AfPacketSetL4CksumOffload struct { + SwIfIndex uint8 + Set uint8 +} + +func (*AfPacketSetL4CksumOffload) GetMessageName() string { + return "af_packet_set_l4_cksum_offload" +} +func (*AfPacketSetL4CksumOffload) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*AfPacketSetL4CksumOffload) GetCrcString() string { + return "86538585" +} +func NewAfPacketSetL4CksumOffload() api.Message { + return &AfPacketSetL4CksumOffload{} +} + +// AfPacketSetL4CksumOffloadReply represents the VPP binary API message 'af_packet_set_l4_cksum_offload_reply'. +// Generated from '../../bin_api/af_packet.api.json', line 144: +// +// "af_packet_set_l4_cksum_offload_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type AfPacketSetL4CksumOffloadReply struct { + Retval int32 +} + +func (*AfPacketSetL4CksumOffloadReply) GetMessageName() string { + return "af_packet_set_l4_cksum_offload_reply" +} +func (*AfPacketSetL4CksumOffloadReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*AfPacketSetL4CksumOffloadReply) GetCrcString() string { + return "e8d4e804" +} +func NewAfPacketSetL4CksumOffloadReply() api.Message { + return &AfPacketSetL4CksumOffloadReply{} +} diff --git a/examples/bin_api/interface.api.json b/examples/bin_api/interface.api.json index 7636e18..0103007 100644 --- a/examples/bin_api/interface.api.json +++ b/examples/bin_api/interface.api.json @@ -1,389 +1,1382 @@ { - "types" : [ - ["vlib_counter", - ["u64", "packets"], - ["u64", "bytes"], - {"crc" : "0x62db67f0"} - ], - ["vnet_combined_counter", - ["u32", "sw_if_index"], - ["u64", "rx_packets"], - ["u64", "rx_bytes"], - ["u64", "tx_packets"], - ["u64", "tx_bytes"], - {"crc" : "0x0f3c951b"} - ], - ["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" : "0x84763938"} - ] + "services": [ + { + "create_subif": { + "reply": "create_subif_reply" + } + }, + { + "delete_subif": { + "reply": "delete_subif_reply" + } + }, + { + "sw_interface_tag_add_del": { + "reply": "sw_interface_tag_add_del_reply" + } + }, + { + "sw_interface_event": { + "reply": null + } + }, + { + "sw_interface_set_rx_mode": { + "reply": "sw_interface_set_rx_mode_reply" + } + }, + { + "sw_interface_dump": { + "reply": "sw_interface_details", + "stream": true + } + }, + { + "sw_interface_get_table": { + "reply": "sw_interface_get_table_reply" + } + }, + { + "sw_interface_add_del_address": { + "reply": "sw_interface_add_del_address_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" + } + }, + { + "create_loopback": { + "reply": "create_loopback_reply" + } + }, + { + "sw_interface_clear_stats": { + "reply": "sw_interface_clear_stats_reply" + } + }, + { + "create_vlan_subif": { + "reply": "create_vlan_subif_reply" + } + }, + { + "sw_interface_set_mac_address": { + "reply": "sw_interface_set_mac_address_reply" + } + }, + { + "sw_interface_set_table": { + "reply": "sw_interface_set_table_reply" + } + }, + { + "sw_interface_set_flags": { + "reply": "sw_interface_set_flags_reply" + } + }, + { + "delete_loopback": { + "reply": "delete_loopback_reply" + } + }, + { + "want_interface_events": { + "reply": "want_interface_events_reply" + } + }, + { + "sw_interface_set_unnumbered": { + "reply": "sw_interface_set_unnumbered_reply" + } + } ], - "messages" : [ - ["sw_interface_set_flags", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "admin_up_down"], - {"crc" : "0xf890584a"} - ], - ["sw_interface_set_flags_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xdfbf3afa"} - ], - ["sw_interface_set_mtu", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u16", "mtu"], - {"crc" : "0x535dab1d"} - ], - ["sw_interface_set_mtu_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x0cc22552"} - ], - ["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" : "0xbf7f46f2"} - ], - ["want_interface_events", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "enable_disable"], - ["u32", "pid"], - {"crc" : "0xa0cbf57e"} - ], - ["want_interface_events_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x33788c73"} - ], - ["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"], - ["u8", "link_speed"], - ["u16", "link_mtu"], - ["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" : "0xe2d855bb"} - ], - ["sw_interface_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "name_filter_valid"], - ["u8", "name_filter", 49], - {"crc" : "0x9a2f9d4d"} - ], - ["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" : "0x4e24d2df"} - ], - ["sw_interface_add_del_address_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xabe29452"} - ], - ["sw_interface_set_table", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "is_ipv6"], - ["u32", "vrf_id"], - {"crc" : "0xa94df510"} - ], - ["sw_interface_set_table_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x99df273c"} - ], - ["sw_interface_get_table", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "is_ipv6"], - {"crc" : "0xf5a1d557"} - ], - ["sw_interface_get_table_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "vrf_id"], - {"crc" : "0xab44111d"} - ], - ["vnet_interface_simple_counters", - ["u16", "_vl_msg_id"], - ["u8", "vnet_counter_type"], - ["u32", "first_sw_if_index"], - ["u32", "count"], - ["u64", "data", 0, "count"], - {"crc" : "0x302f0983"} - ], - ["vnet_interface_combined_counters", - ["u16", "_vl_msg_id"], - ["u8", "vnet_counter_type"], - ["u32", "first_sw_if_index"], - ["u32", "count"], - ["vl_api_vlib_counter_t", "data", 0, "count"], - {"crc" : "0xd82426e3"} - ], - ["vnet_per_interface_simple_counters", - ["u16", "_vl_msg_id"], - ["u32", "count"], - ["u32", "timestamp"], - ["vl_api_vnet_simple_counter_t", "data", 0, "count"], - {"crc" : "0x7df05633"} - ], - ["vnet_per_interface_combined_counters", - ["u16", "_vl_msg_id"], - ["u32", "count"], - ["u32", "timestamp"], - ["vl_api_vnet_combined_counter_t", "data", 0, "count"], - {"crc" : "0xbf35dfbe"} - ], - ["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" : "0xee0047b0"} - ], - ["sw_interface_set_unnumbered_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x5b2275e1"} - ], - ["sw_interface_clear_stats", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - {"crc" : "0x9600fd50"} - ], - ["sw_interface_clear_stats_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x21f50dd9"} - ], - ["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" : "0x50ae8d92"} - ], - ["sw_interface_tag_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x761cbcb0"} - ], - ["sw_interface_set_mac_address", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "mac_address", 6], - {"crc" : "0xe4f22660"} - ], - ["sw_interface_set_mac_address_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x9dc8a452"} - ], - ["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" : "0xc5aa8dda"} - ], - ["sw_interface_set_rx_mode_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x5fc3e318"} - ], - ["interface_name_renumber", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u32", "new_show_dev_instance"], - {"crc" : "0x11b7bcec"} - ], - ["interface_name_renumber_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x31594963"} - ], - ["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" : "0x150e6757"} - ], - ["create_subif_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x92272bcb"} - ], - ["create_vlan_subif", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u32", "vlan_id"], - {"crc" : "0xaf9ae1e9"} - ], - ["create_vlan_subif_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x8f36b888"} - ], - ["delete_subif", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - {"crc" : "0x6038f848"} - ], - ["delete_subif_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x9d6015dc"} - ], - ["create_loopback", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "mac_address", 6], - {"crc" : "0xb2602de5"} - ], - ["create_loopback_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x9520f804"} - ], - ["create_loopback_instance", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "mac_address", 6], - ["u8", "is_specified"], - ["u32", "user_instance"], - {"crc" : "0x967694f1"} - ], - ["create_loopback_instance_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0xd52c63b6"} - ], - ["delete_loopback", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - {"crc" : "0xded428b0"} - ], - ["delete_loopback_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xc91dafa5"} + "vl_api_version": "0xa9b5d13", + "enums": [], + "messages": [ + [ + "sw_interface_set_flags", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "admin_up_down" + ], + { + "crc": "0x555485f5" + } + ], + [ + "sw_interface_set_flags_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "sw_interface_set_mtu", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u16", + "mtu" + ], + { + "crc": "0x132da1e7" + } + ], + [ + "sw_interface_set_mtu_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "want_interface_events", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + { + "crc": "0x476f5a08" + } + ], + [ + "want_interface_events_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + ], + [ + "u8", + "link_speed" + ], + [ + "u16", + "link_mtu" + ], + [ + "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": "0x23dee0ff" + } + ], + [ + "sw_interface_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "name_filter_valid" + ], + [ + "u8", + "name_filter", + 49 + ], + { + "crc": "0x63f5e3b7" + } + ], + [ + "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" + } + ], + [ + "sw_interface_add_del_address_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "sw_interface_set_table_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "sw_interface_get_table", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0x6b7bcd0a" + } + ], + [ + "sw_interface_get_table_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "vrf_id" + ], + { + "crc": "0xa6eb0109" + } + ], + [ + "vnet_interface_simple_counters", + [ + "u16", + "_vl_msg_id" + ], + [ + "u8", + "vnet_counter_type" + ], + [ + "u32", + "first_sw_if_index" + ], + [ + "u32", + "count" + ], + [ + "u64", + "data", + 0, + "count" + ], + { + "crc": "0x9bc4a808" + } + ], + [ + "vnet_interface_combined_counters", + [ + "u16", + "_vl_msg_id" + ], + [ + "u8", + "vnet_counter_type" + ], + [ + "u32", + "first_sw_if_index" + ], + [ + "u32", + "count" + ], + [ + "vl_api_vlib_counter_t", + "data", + 0, + "count" + ], + { + "crc": "0x2c595002" + } + ], + [ + "vnet_per_interface_simple_counters", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "count" + ], + [ + "u32", + "timestamp" + ], + [ + "vl_api_vnet_simple_counter_t", + "data", + 0, + "count" + ], + { + "crc": "0xd1fba9ba" + } + ], + [ + "vnet_per_interface_combined_counters", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "count" + ], + [ + "u32", + "timestamp" + ], + [ + "vl_api_vnet_combined_counter_t", + "data", + 0, + "count" + ], + { + "crc": "0xdc578375" + } + ], + [ + "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" + } + ], + [ + "sw_interface_set_unnumbered_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "sw_interface_clear_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0x529cb13f" + } + ], + [ + "sw_interface_clear_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "sw_interface_tag_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "sw_interface_set_mac_address", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "mac_address", + 6 + ], + { + "crc": "0xeed5dfca" + } + ], + [ + "sw_interface_set_mac_address_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "sw_interface_set_rx_mode_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "interface_name_renumber", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u32", + "new_show_dev_instance" + ], + { + "crc": "0x39194269" + } + ], + [ + "interface_name_renumber_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "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" + } + ], + [ + "create_subif_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0xfda5941f" + } + ], + [ + "create_vlan_subif", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u32", + "vlan_id" + ], + { + "crc": "0x70cadeda" + } + ], + [ + "create_vlan_subif_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0xfda5941f" + } + ], + [ + "delete_subif", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0x529cb13f" + } + ], + [ + "delete_subif_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "create_loopback", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "mac_address", + 6 + ], + { + "crc": "0x3b54129c" + } + ], + [ + "create_loopback_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0xfda5941f" + } + ], + [ + "create_loopback_instance", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "mac_address", + 6 + ], + [ + "u8", + "is_specified" + ], + [ + "u32", + "user_instance" + ], + { + "crc": "0x7bbd53b6" + } + ], + [ + "create_loopback_instance_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0xfda5941f" + } + ], + [ + "delete_loopback", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0x529cb13f" + } + ], + [ + "delete_loopback_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } ] ], - "vl_api_version" :"0x2a74f256" + "types": [ + [ + "vlib_counter", + [ + "u64", + "packets" + ], + [ + "u64", + "bytes" + ], + { + "crc": "0xce2325a2" + } + ], + [ + "vnet_combined_counter", + [ + "u32", + "sw_if_index" + ], + [ + "u64", + "rx_packets" + ], + [ + "u64", + "rx_bytes" + ], + [ + "u64", + "tx_packets" + ], + [ + "u64", + "tx_bytes" + ], + { + "crc": "0x3217ba8e" + } + ], + [ + "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" + } + ] + ] } diff --git a/examples/bin_api/interfaces/interfaces.go b/examples/bin_api/interfaces/interfaces.go index e5cf324..41fda27 100644 --- a/examples/bin_api/interfaces/interfaces.go +++ b/examples/bin_api/interfaces/interfaces.go @@ -6,16 +6,23 @@ package interfaces import "git.fd.io/govpp.git/api" // VlApiVersion contains version of the API. -const VlAPIVersion = 0x2a74f256 +const VlAPIVersion = 0xa9b5d13 // VlibCounter represents the VPP binary API data type 'vlib_counter'. -// Generated from '../../bin_api/interface.api.json', line 3: -// -// ["vlib_counter", -// ["u64", "packets"], -// ["u64", "bytes"], -// {"crc" : "0x62db67f0"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1296: +// +// "vlib_counter", +// [ +// "u64", +// "packets" +// ], +// [ +// "u64", +// "bytes" +// ], +// { +// "crc": "0xce2325a2" +// } // type VlibCounter struct { Packets uint64 @@ -26,20 +33,36 @@ func (*VlibCounter) GetTypeName() string { return "vlib_counter" } func (*VlibCounter) GetCrcString() string { - return "62db67f0" + return "ce2325a2" } // VnetCombinedCounter represents the VPP binary API data type 'vnet_combined_counter'. -// Generated from '../../bin_api/interface.api.json', line 8: -// -// ["vnet_combined_counter", -// ["u32", "sw_if_index"], -// ["u64", "rx_packets"], -// ["u64", "rx_bytes"], -// ["u64", "tx_packets"], -// ["u64", "tx_bytes"], -// {"crc" : "0x0f3c951b"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1310: +// +// "vnet_combined_counter", +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u64", +// "rx_packets" +// ], +// [ +// "u64", +// "rx_bytes" +// ], +// [ +// "u64", +// "tx_packets" +// ], +// [ +// "u64", +// "tx_bytes" +// ], +// { +// "crc": "0x3217ba8e" +// } // type VnetCombinedCounter struct { SwIfIndex uint32 @@ -53,25 +76,56 @@ func (*VnetCombinedCounter) GetTypeName() string { return "vnet_combined_counter" } func (*VnetCombinedCounter) GetCrcString() string { - return "0f3c951b" + return "3217ba8e" } // VnetSimpleCounter represents the VPP binary API data type 'vnet_simple_counter'. -// Generated from '../../bin_api/interface.api.json', line 16: -// -// ["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" : "0x84763938"} -// ] +// Generated from '../../bin_api/interface.api.json', line 1336: +// +// "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 @@ -90,20 +144,36 @@ func (*VnetSimpleCounter) GetTypeName() string { return "vnet_simple_counter" } func (*VnetSimpleCounter) GetCrcString() string { - return "84763938" + return "8bd65e2d" } // SwInterfaceSetFlags represents the VPP binary API message 'sw_interface_set_flags'. -// Generated from '../../bin_api/interface.api.json', line 31: -// -// ["sw_interface_set_flags", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "admin_up_down"], -// {"crc" : "0xf890584a"} -// ], +// Generated from '../../bin_api/interface.api.json', line 109: +// +// "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 @@ -117,21 +187,31 @@ func (*SwInterfaceSetFlags) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceSetFlags) GetCrcString() string { - return "f890584a" + return "555485f5" } func NewSwInterfaceSetFlags() api.Message { return &SwInterfaceSetFlags{} } // SwInterfaceSetFlagsReply represents the VPP binary API message 'sw_interface_set_flags_reply'. -// Generated from '../../bin_api/interface.api.json', line 39: -// -// ["sw_interface_set_flags_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xdfbf3afa"} -// ], +// Generated from '../../bin_api/interface.api.json', line 135: +// +// "sw_interface_set_flags_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetFlagsReply struct { Retval int32 @@ -144,23 +224,39 @@ func (*SwInterfaceSetFlagsReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceSetFlagsReply) GetCrcString() string { - return "dfbf3afa" + return "e8d4e804" } func NewSwInterfaceSetFlagsReply() api.Message { return &SwInterfaceSetFlagsReply{} } // SwInterfaceSetMtu represents the VPP binary API message 'sw_interface_set_mtu'. -// Generated from '../../bin_api/interface.api.json', line 45: +// Generated from '../../bin_api/interface.api.json', line 153: // -// ["sw_interface_set_mtu", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u16", "mtu"], -// {"crc" : "0x535dab1d"} -// ], +// "sw_interface_set_mtu", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u16", +// "mtu" +// ], +// { +// "crc": "0x132da1e7" +// } // type SwInterfaceSetMtu struct { SwIfIndex uint32 @@ -174,21 +270,31 @@ func (*SwInterfaceSetMtu) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceSetMtu) GetCrcString() string { - return "535dab1d" + return "132da1e7" } func NewSwInterfaceSetMtu() api.Message { return &SwInterfaceSetMtu{} } // SwInterfaceSetMtuReply represents the VPP binary API message 'sw_interface_set_mtu_reply'. -// Generated from '../../bin_api/interface.api.json', line 53: -// -// ["sw_interface_set_mtu_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x0cc22552"} -// ], +// Generated from '../../bin_api/interface.api.json', line 179: +// +// "sw_interface_set_mtu_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetMtuReply struct { Retval int32 @@ -201,25 +307,47 @@ func (*SwInterfaceSetMtuReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceSetMtuReply) GetCrcString() string { - return "0cc22552" + return "e8d4e804" } func NewSwInterfaceSetMtuReply() api.Message { return &SwInterfaceSetMtuReply{} } // SwInterfaceEvent represents the VPP binary API message 'sw_interface_event'. -// Generated from '../../bin_api/interface.api.json', line 59: -// -// ["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" : "0xbf7f46f2"} -// ], +// Generated from '../../bin_api/interface.api.json', line 197: +// +// "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 @@ -236,23 +364,39 @@ func (*SwInterfaceEvent) GetMessageType() api.MessageType { return api.EventMessage } func (*SwInterfaceEvent) GetCrcString() string { - return "bf7f46f2" + return "bf9938e4" } func NewSwInterfaceEvent() api.Message { return &SwInterfaceEvent{} } // WantInterfaceEvents represents the VPP binary API message 'want_interface_events'. -// Generated from '../../bin_api/interface.api.json', line 69: -// -// ["want_interface_events", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "enable_disable"], -// ["u32", "pid"], -// {"crc" : "0xa0cbf57e"} -// ], +// Generated from '../../bin_api/interface.api.json', line 231: +// +// "want_interface_events", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } // type WantInterfaceEvents struct { EnableDisable uint32 @@ -266,21 +410,31 @@ func (*WantInterfaceEvents) GetMessageType() api.MessageType { return api.RequestMessage } func (*WantInterfaceEvents) GetCrcString() string { - return "a0cbf57e" + return "476f5a08" } func NewWantInterfaceEvents() api.Message { return &WantInterfaceEvents{} } // WantInterfaceEventsReply represents the VPP binary API message 'want_interface_events_reply'. -// Generated from '../../bin_api/interface.api.json', line 77: -// -// ["want_interface_events_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x33788c73"} -// ], +// Generated from '../../bin_api/interface.api.json', line 257: +// +// "want_interface_events_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type WantInterfaceEventsReply struct { Retval int32 @@ -293,50 +447,152 @@ func (*WantInterfaceEventsReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*WantInterfaceEventsReply) GetCrcString() string { - return "33788c73" + return "e8d4e804" } func NewWantInterfaceEventsReply() api.Message { return &WantInterfaceEventsReply{} } // SwInterfaceDetails represents the VPP binary API message 'sw_interface_details'. -// Generated from '../../bin_api/interface.api.json', line 83: -// -// ["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"], -// ["u8", "link_speed"], -// ["u16", "link_mtu"], -// ["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" : "0xe2d855bb"} -// ], +// Generated from '../../bin_api/interface.api.json', line 275: +// +// "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" +// ], +// [ +// "u8", +// "link_speed" +// ], +// [ +// "u16", +// "link_mtu" +// ], +// [ +// "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": "0x23dee0ff" +// } // type SwInterfaceDetails struct { SwIfIndex uint32 @@ -378,23 +634,40 @@ func (*SwInterfaceDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceDetails) GetCrcString() string { - return "e2d855bb" + return "23dee0ff" } func NewSwInterfaceDetails() api.Message { return &SwInterfaceDetails{} } // SwInterfaceDump represents the VPP binary API message 'sw_interface_dump'. -// Generated from '../../bin_api/interface.api.json', line 118: -// -// ["sw_interface_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "name_filter_valid"], -// ["u8", "name_filter", 49], -// {"crc" : "0x9a2f9d4d"} -// ], +// Generated from '../../bin_api/interface.api.json', line 414: +// +// "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 @@ -408,27 +681,56 @@ func (*SwInterfaceDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceDump) GetCrcString() string { - return "9a2f9d4d" + return "63f5e3b7" } func NewSwInterfaceDump() api.Message { return &SwInterfaceDump{} } // SwInterfaceAddDelAddress represents the VPP binary API message 'sw_interface_add_del_address'. -// Generated from '../../bin_api/interface.api.json', line 126: -// -// ["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" : "0x4e24d2df"} -// ], +// Generated from '../../bin_api/interface.api.json', line 441: +// +// "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 @@ -446,21 +748,31 @@ func (*SwInterfaceAddDelAddress) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceAddDelAddress) GetCrcString() string { - return "4e24d2df" + return "7b583179" } func NewSwInterfaceAddDelAddress() api.Message { return &SwInterfaceAddDelAddress{} } // SwInterfaceAddDelAddressReply represents the VPP binary API message 'sw_interface_add_del_address_reply'. -// Generated from '../../bin_api/interface.api.json', line 138: -// -// ["sw_interface_add_del_address_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xabe29452"} -// ], +// Generated from '../../bin_api/interface.api.json', line 484: +// +// "sw_interface_add_del_address_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceAddDelAddressReply struct { Retval int32 @@ -473,24 +785,43 @@ func (*SwInterfaceAddDelAddressReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceAddDelAddressReply) GetCrcString() string { - return "abe29452" + return "e8d4e804" } func NewSwInterfaceAddDelAddressReply() api.Message { return &SwInterfaceAddDelAddressReply{} } // SwInterfaceSetTable represents the VPP binary API message 'sw_interface_set_table'. -// Generated from '../../bin_api/interface.api.json', line 144: -// -// ["sw_interface_set_table", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "is_ipv6"], -// ["u32", "vrf_id"], -// {"crc" : "0xa94df510"} -// ], +// Generated from '../../bin_api/interface.api.json', line 502: +// +// "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 { SwIfIndex uint32 @@ -505,21 +836,31 @@ func (*SwInterfaceSetTable) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceSetTable) GetCrcString() string { - return "a94df510" + return "acb25d89" } func NewSwInterfaceSetTable() api.Message { return &SwInterfaceSetTable{} } // SwInterfaceSetTableReply represents the VPP binary API message 'sw_interface_set_table_reply'. -// Generated from '../../bin_api/interface.api.json', line 153: -// -// ["sw_interface_set_table_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x99df273c"} -// ], +// Generated from '../../bin_api/interface.api.json', line 532: +// +// "sw_interface_set_table_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetTableReply struct { Retval int32 @@ -532,23 +873,39 @@ func (*SwInterfaceSetTableReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceSetTableReply) GetCrcString() string { - return "99df273c" + return "e8d4e804" } func NewSwInterfaceSetTableReply() api.Message { return &SwInterfaceSetTableReply{} } // SwInterfaceGetTable represents the VPP binary API message 'sw_interface_get_table'. -// Generated from '../../bin_api/interface.api.json', line 159: -// -// ["sw_interface_get_table", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "is_ipv6"], -// {"crc" : "0xf5a1d557"} -// ], +// Generated from '../../bin_api/interface.api.json', line 550: +// +// "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 @@ -562,22 +919,35 @@ func (*SwInterfaceGetTable) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceGetTable) GetCrcString() string { - return "f5a1d557" + return "6b7bcd0a" } func NewSwInterfaceGetTable() api.Message { return &SwInterfaceGetTable{} } // SwInterfaceGetTableReply represents the VPP binary API message 'sw_interface_get_table_reply'. -// Generated from '../../bin_api/interface.api.json', line 167: -// -// ["sw_interface_get_table_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "vrf_id"], -// {"crc" : "0xab44111d"} -// ], +// Generated from '../../bin_api/interface.api.json', line 576: +// +// "sw_interface_get_table_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// { +// "crc": "0xa6eb0109" +// } // type SwInterfaceGetTableReply struct { Retval int32 @@ -591,23 +961,41 @@ func (*SwInterfaceGetTableReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceGetTableReply) GetCrcString() string { - return "ab44111d" + return "a6eb0109" } func NewSwInterfaceGetTableReply() api.Message { return &SwInterfaceGetTableReply{} } // VnetInterfaceSimpleCounters represents the VPP binary API message 'vnet_interface_simple_counters'. -// Generated from '../../bin_api/interface.api.json', line 174: -// -// ["vnet_interface_simple_counters", -// ["u16", "_vl_msg_id"], -// ["u8", "vnet_counter_type"], -// ["u32", "first_sw_if_index"], -// ["u32", "count"], -// ["u64", "data", 0, "count"], -// {"crc" : "0x302f0983"} -// ], +// Generated from '../../bin_api/interface.api.json', line 598: +// +// "vnet_interface_simple_counters", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u8", +// "vnet_counter_type" +// ], +// [ +// "u32", +// "first_sw_if_index" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "u64", +// "data", +// 0, +// "count" +// ], +// { +// "crc": "0x9bc4a808" +// } // type VnetInterfaceSimpleCounters struct { VnetCounterType uint8 @@ -623,23 +1011,41 @@ func (*VnetInterfaceSimpleCounters) GetMessageType() api.MessageType { return api.OtherMessage } func (*VnetInterfaceSimpleCounters) GetCrcString() string { - return "302f0983" + return "9bc4a808" } func NewVnetInterfaceSimpleCounters() api.Message { return &VnetInterfaceSimpleCounters{} } // VnetInterfaceCombinedCounters represents the VPP binary API message 'vnet_interface_combined_counters'. -// Generated from '../../bin_api/interface.api.json', line 182: -// -// ["vnet_interface_combined_counters", -// ["u16", "_vl_msg_id"], -// ["u8", "vnet_counter_type"], -// ["u32", "first_sw_if_index"], -// ["u32", "count"], -// ["vl_api_vlib_counter_t", "data", 0, "count"], -// {"crc" : "0xd82426e3"} -// ], +// Generated from '../../bin_api/interface.api.json', line 626: +// +// "vnet_interface_combined_counters", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u8", +// "vnet_counter_type" +// ], +// [ +// "u32", +// "first_sw_if_index" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_vlib_counter_t", +// "data", +// 0, +// "count" +// ], +// { +// "crc": "0x2c595002" +// } // type VnetInterfaceCombinedCounters struct { VnetCounterType uint8 @@ -655,22 +1061,37 @@ func (*VnetInterfaceCombinedCounters) GetMessageType() api.MessageType { return api.OtherMessage } func (*VnetInterfaceCombinedCounters) GetCrcString() string { - return "d82426e3" + return "2c595002" } func NewVnetInterfaceCombinedCounters() api.Message { return &VnetInterfaceCombinedCounters{} } // VnetPerInterfaceSimpleCounters represents the VPP binary API message 'vnet_per_interface_simple_counters'. -// Generated from '../../bin_api/interface.api.json', line 190: -// -// ["vnet_per_interface_simple_counters", -// ["u16", "_vl_msg_id"], -// ["u32", "count"], -// ["u32", "timestamp"], -// ["vl_api_vnet_simple_counter_t", "data", 0, "count"], -// {"crc" : "0x7df05633"} -// ], +// Generated from '../../bin_api/interface.api.json', line 654: +// +// "vnet_per_interface_simple_counters", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "u32", +// "timestamp" +// ], +// [ +// "vl_api_vnet_simple_counter_t", +// "data", +// 0, +// "count" +// ], +// { +// "crc": "0xd1fba9ba" +// } // type VnetPerInterfaceSimpleCounters struct { Count uint32 `struc:"sizeof=Data"` @@ -685,22 +1106,37 @@ func (*VnetPerInterfaceSimpleCounters) GetMessageType() api.MessageType { return api.OtherMessage } func (*VnetPerInterfaceSimpleCounters) GetCrcString() string { - return "7df05633" + return "d1fba9ba" } func NewVnetPerInterfaceSimpleCounters() api.Message { return &VnetPerInterfaceSimpleCounters{} } // VnetPerInterfaceCombinedCounters represents the VPP binary API message 'vnet_per_interface_combined_counters'. -// Generated from '../../bin_api/interface.api.json', line 197: -// -// ["vnet_per_interface_combined_counters", -// ["u16", "_vl_msg_id"], -// ["u32", "count"], -// ["u32", "timestamp"], -// ["vl_api_vnet_combined_counter_t", "data", 0, "count"], -// {"crc" : "0xbf35dfbe"} -// ], +// Generated from '../../bin_api/interface.api.json', line 678: +// +// "vnet_per_interface_combined_counters", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "u32", +// "timestamp" +// ], +// [ +// "vl_api_vnet_combined_counter_t", +// "data", +// 0, +// "count" +// ], +// { +// "crc": "0xdc578375" +// } // type VnetPerInterfaceCombinedCounters struct { Count uint32 `struc:"sizeof=Data"` @@ -715,24 +1151,43 @@ func (*VnetPerInterfaceCombinedCounters) GetMessageType() api.MessageType { return api.OtherMessage } func (*VnetPerInterfaceCombinedCounters) GetCrcString() string { - return "bf35dfbe" + return "dc578375" } func NewVnetPerInterfaceCombinedCounters() api.Message { return &VnetPerInterfaceCombinedCounters{} } // SwInterfaceSetUnnumbered represents the VPP binary API message 'sw_interface_set_unnumbered'. -// Generated from '../../bin_api/interface.api.json', line 204: -// -// ["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" : "0xee0047b0"} -// ], +// Generated from '../../bin_api/interface.api.json', line 702: +// +// "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 @@ -747,21 +1202,31 @@ func (*SwInterfaceSetUnnumbered) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceSetUnnumbered) GetCrcString() string { - return "ee0047b0" + return "a2c1bbda" } func NewSwInterfaceSetUnnumbered() api.Message { return &SwInterfaceSetUnnumbered{} } // SwInterfaceSetUnnumberedReply represents the VPP binary API message 'sw_interface_set_unnumbered_reply'. -// Generated from '../../bin_api/interface.api.json', line 213: -// -// ["sw_interface_set_unnumbered_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x5b2275e1"} -// ], +// Generated from '../../bin_api/interface.api.json', line 732: +// +// "sw_interface_set_unnumbered_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetUnnumberedReply struct { Retval int32 @@ -774,22 +1239,35 @@ func (*SwInterfaceSetUnnumberedReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceSetUnnumberedReply) GetCrcString() string { - return "5b2275e1" + return "e8d4e804" } func NewSwInterfaceSetUnnumberedReply() api.Message { return &SwInterfaceSetUnnumberedReply{} } // SwInterfaceClearStats represents the VPP binary API message 'sw_interface_clear_stats'. -// Generated from '../../bin_api/interface.api.json', line 219: -// -// ["sw_interface_clear_stats", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// {"crc" : "0x9600fd50"} -// ], +// Generated from '../../bin_api/interface.api.json', line 750: +// +// "sw_interface_clear_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type SwInterfaceClearStats struct { SwIfIndex uint32 @@ -802,21 +1280,31 @@ func (*SwInterfaceClearStats) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceClearStats) GetCrcString() string { - return "9600fd50" + return "529cb13f" } func NewSwInterfaceClearStats() api.Message { return &SwInterfaceClearStats{} } // SwInterfaceClearStatsReply represents the VPP binary API message 'sw_interface_clear_stats_reply'. -// Generated from '../../bin_api/interface.api.json', line 226: -// -// ["sw_interface_clear_stats_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x21f50dd9"} -// ], +// Generated from '../../bin_api/interface.api.json', line 772: +// +// "sw_interface_clear_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceClearStatsReply struct { Retval int32 @@ -829,24 +1317,44 @@ func (*SwInterfaceClearStatsReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceClearStatsReply) GetCrcString() string { - return "21f50dd9" + return "e8d4e804" } func NewSwInterfaceClearStatsReply() api.Message { return &SwInterfaceClearStatsReply{} } // SwInterfaceTagAddDel represents the VPP binary API message 'sw_interface_tag_add_del'. -// Generated from '../../bin_api/interface.api.json', line 232: -// -// ["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" : "0x50ae8d92"} -// ], +// Generated from '../../bin_api/interface.api.json', line 790: +// +// "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 @@ -861,21 +1369,31 @@ func (*SwInterfaceTagAddDel) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceTagAddDel) GetCrcString() string { - return "50ae8d92" + return "14cc636c" } func NewSwInterfaceTagAddDel() api.Message { return &SwInterfaceTagAddDel{} } // SwInterfaceTagAddDelReply represents the VPP binary API message 'sw_interface_tag_add_del_reply'. -// Generated from '../../bin_api/interface.api.json', line 241: -// -// ["sw_interface_tag_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x761cbcb0"} -// ], +// Generated from '../../bin_api/interface.api.json', line 821: +// +// "sw_interface_tag_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceTagAddDelReply struct { Retval int32 @@ -888,23 +1406,40 @@ func (*SwInterfaceTagAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceTagAddDelReply) GetCrcString() string { - return "761cbcb0" + return "e8d4e804" } func NewSwInterfaceTagAddDelReply() api.Message { return &SwInterfaceTagAddDelReply{} } // SwInterfaceSetMacAddress represents the VPP binary API message 'sw_interface_set_mac_address'. -// Generated from '../../bin_api/interface.api.json', line 247: -// -// ["sw_interface_set_mac_address", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "mac_address", 6], -// {"crc" : "0xe4f22660"} -// ], +// Generated from '../../bin_api/interface.api.json', line 839: +// +// "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 @@ -918,21 +1453,31 @@ func (*SwInterfaceSetMacAddress) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceSetMacAddress) GetCrcString() string { - return "e4f22660" + return "eed5dfca" } func NewSwInterfaceSetMacAddress() api.Message { return &SwInterfaceSetMacAddress{} } // SwInterfaceSetMacAddressReply represents the VPP binary API message 'sw_interface_set_mac_address_reply'. -// Generated from '../../bin_api/interface.api.json', line 255: -// -// ["sw_interface_set_mac_address_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x9dc8a452"} -// ], +// Generated from '../../bin_api/interface.api.json', line 866: +// +// "sw_interface_set_mac_address_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetMacAddressReply struct { Retval int32 @@ -945,25 +1490,47 @@ func (*SwInterfaceSetMacAddressReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceSetMacAddressReply) GetCrcString() string { - return "9dc8a452" + return "e8d4e804" } func NewSwInterfaceSetMacAddressReply() api.Message { return &SwInterfaceSetMacAddressReply{} } // SwInterfaceSetRxMode represents the VPP binary API message 'sw_interface_set_rx_mode'. -// Generated from '../../bin_api/interface.api.json', line 261: -// -// ["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" : "0xc5aa8dda"} -// ], +// Generated from '../../bin_api/interface.api.json', line 884: +// +// "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 @@ -979,21 +1546,31 @@ func (*SwInterfaceSetRxMode) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceSetRxMode) GetCrcString() string { - return "c5aa8dda" + return "2a1cc58c" } func NewSwInterfaceSetRxMode() api.Message { return &SwInterfaceSetRxMode{} } // SwInterfaceSetRxModeReply represents the VPP binary API message 'sw_interface_set_rx_mode_reply'. -// Generated from '../../bin_api/interface.api.json', line 271: -// -// ["sw_interface_set_rx_mode_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x5fc3e318"} -// ], +// Generated from '../../bin_api/interface.api.json', line 918: +// +// "sw_interface_set_rx_mode_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceSetRxModeReply struct { Retval int32 @@ -1006,23 +1583,39 @@ func (*SwInterfaceSetRxModeReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceSetRxModeReply) GetCrcString() string { - return "5fc3e318" + return "e8d4e804" } func NewSwInterfaceSetRxModeReply() api.Message { return &SwInterfaceSetRxModeReply{} } // InterfaceNameRenumber represents the VPP binary API message 'interface_name_renumber'. -// Generated from '../../bin_api/interface.api.json', line 277: -// -// ["interface_name_renumber", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u32", "new_show_dev_instance"], -// {"crc" : "0x11b7bcec"} -// ], +// Generated from '../../bin_api/interface.api.json', line 936: +// +// "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 @@ -1036,21 +1629,31 @@ func (*InterfaceNameRenumber) GetMessageType() api.MessageType { return api.RequestMessage } func (*InterfaceNameRenumber) GetCrcString() string { - return "11b7bcec" + return "39194269" } func NewInterfaceNameRenumber() api.Message { return &InterfaceNameRenumber{} } // InterfaceNameRenumberReply represents the VPP binary API message 'interface_name_renumber_reply'. -// Generated from '../../bin_api/interface.api.json', line 285: -// -// ["interface_name_renumber_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x31594963"} -// ], +// Generated from '../../bin_api/interface.api.json', line 962: +// +// "interface_name_renumber_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type InterfaceNameRenumberReply struct { Retval int32 @@ -1063,33 +1666,79 @@ func (*InterfaceNameRenumberReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*InterfaceNameRenumberReply) GetCrcString() string { - return "31594963" + return "e8d4e804" } func NewInterfaceNameRenumberReply() api.Message { return &InterfaceNameRenumberReply{} } // CreateSubif represents the VPP binary API message 'create_subif'. -// Generated from '../../bin_api/interface.api.json', line 291: -// -// ["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" : "0x150e6757"} -// ], +// Generated from '../../bin_api/interface.api.json', line 980: +// +// "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 @@ -1113,22 +1762,35 @@ func (*CreateSubif) GetMessageType() api.MessageType { return api.RequestMessage } func (*CreateSubif) GetCrcString() string { - return "150e6757" + return "86cfe408" } func NewCreateSubif() api.Message { return &CreateSubif{} } // CreateSubifReply represents the VPP binary API message 'create_subif_reply'. -// Generated from '../../bin_api/interface.api.json', line 309: -// -// ["create_subif_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0x92272bcb"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1046: +// +// "create_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type CreateSubifReply struct { Retval int32 @@ -1142,23 +1804,39 @@ func (*CreateSubifReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*CreateSubifReply) GetCrcString() string { - return "92272bcb" + return "fda5941f" } func NewCreateSubifReply() api.Message { return &CreateSubifReply{} } // CreateVlanSubif represents the VPP binary API message 'create_vlan_subif'. -// Generated from '../../bin_api/interface.api.json', line 316: -// -// ["create_vlan_subif", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u32", "vlan_id"], -// {"crc" : "0xaf9ae1e9"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1068: +// +// "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 @@ -1172,22 +1850,35 @@ func (*CreateVlanSubif) GetMessageType() api.MessageType { return api.RequestMessage } func (*CreateVlanSubif) GetCrcString() string { - return "af9ae1e9" + return "70cadeda" } func NewCreateVlanSubif() api.Message { return &CreateVlanSubif{} } // CreateVlanSubifReply represents the VPP binary API message 'create_vlan_subif_reply'. -// Generated from '../../bin_api/interface.api.json', line 324: -// -// ["create_vlan_subif_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0x8f36b888"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1094: +// +// "create_vlan_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type CreateVlanSubifReply struct { Retval int32 @@ -1201,22 +1892,35 @@ func (*CreateVlanSubifReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*CreateVlanSubifReply) GetCrcString() string { - return "8f36b888" + return "fda5941f" } func NewCreateVlanSubifReply() api.Message { return &CreateVlanSubifReply{} } // DeleteSubif represents the VPP binary API message 'delete_subif'. -// Generated from '../../bin_api/interface.api.json', line 331: -// -// ["delete_subif", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// {"crc" : "0x6038f848"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1116: +// +// "delete_subif", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type DeleteSubif struct { SwIfIndex uint32 @@ -1229,21 +1933,31 @@ func (*DeleteSubif) GetMessageType() api.MessageType { return api.RequestMessage } func (*DeleteSubif) GetCrcString() string { - return "6038f848" + return "529cb13f" } func NewDeleteSubif() api.Message { return &DeleteSubif{} } // DeleteSubifReply represents the VPP binary API message 'delete_subif_reply'. -// Generated from '../../bin_api/interface.api.json', line 338: -// -// ["delete_subif_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x9d6015dc"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1138: +// +// "delete_subif_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type DeleteSubifReply struct { Retval int32 @@ -1256,22 +1970,36 @@ func (*DeleteSubifReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*DeleteSubifReply) GetCrcString() string { - return "9d6015dc" + return "e8d4e804" } func NewDeleteSubifReply() api.Message { return &DeleteSubifReply{} } // CreateLoopback represents the VPP binary API message 'create_loopback'. -// Generated from '../../bin_api/interface.api.json', line 344: -// -// ["create_loopback", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "mac_address", 6], -// {"crc" : "0xb2602de5"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1156: +// +// "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"` @@ -1284,22 +2012,35 @@ func (*CreateLoopback) GetMessageType() api.MessageType { return api.RequestMessage } func (*CreateLoopback) GetCrcString() string { - return "b2602de5" + return "3b54129c" } func NewCreateLoopback() api.Message { return &CreateLoopback{} } // CreateLoopbackReply represents the VPP binary API message 'create_loopback_reply'. -// Generated from '../../bin_api/interface.api.json', line 351: -// -// ["create_loopback_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0x9520f804"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1179: +// +// "create_loopback_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type CreateLoopbackReply struct { Retval int32 @@ -1313,24 +2054,44 @@ func (*CreateLoopbackReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*CreateLoopbackReply) GetCrcString() string { - return "9520f804" + return "fda5941f" } func NewCreateLoopbackReply() api.Message { return &CreateLoopbackReply{} } // CreateLoopbackInstance represents the VPP binary API message 'create_loopback_instance'. -// Generated from '../../bin_api/interface.api.json', line 358: -// -// ["create_loopback_instance", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "mac_address", 6], -// ["u8", "is_specified"], -// ["u32", "user_instance"], -// {"crc" : "0x967694f1"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1201: +// +// "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"` @@ -1345,22 +2106,35 @@ func (*CreateLoopbackInstance) GetMessageType() api.MessageType { return api.RequestMessage } func (*CreateLoopbackInstance) GetCrcString() string { - return "967694f1" + return "7bbd53b6" } func NewCreateLoopbackInstance() api.Message { return &CreateLoopbackInstance{} } // CreateLoopbackInstanceReply represents the VPP binary API message 'create_loopback_instance_reply'. -// Generated from '../../bin_api/interface.api.json', line 367: -// -// ["create_loopback_instance_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0xd52c63b6"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1232: +// +// "create_loopback_instance_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type CreateLoopbackInstanceReply struct { Retval int32 @@ -1374,22 +2148,35 @@ func (*CreateLoopbackInstanceReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*CreateLoopbackInstanceReply) GetCrcString() string { - return "d52c63b6" + return "fda5941f" } func NewCreateLoopbackInstanceReply() api.Message { return &CreateLoopbackInstanceReply{} } // DeleteLoopback represents the VPP binary API message 'delete_loopback'. -// Generated from '../../bin_api/interface.api.json', line 374: -// -// ["delete_loopback", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// {"crc" : "0xded428b0"} -// ], +// Generated from '../../bin_api/interface.api.json', line 1254: +// +// "delete_loopback", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type DeleteLoopback struct { SwIfIndex uint32 @@ -1402,21 +2189,31 @@ func (*DeleteLoopback) GetMessageType() api.MessageType { return api.RequestMessage } func (*DeleteLoopback) GetCrcString() string { - return "ded428b0" + return "529cb13f" } func NewDeleteLoopback() api.Message { return &DeleteLoopback{} } // DeleteLoopbackReply represents the VPP binary API message 'delete_loopback_reply'. -// Generated from '../../bin_api/interface.api.json', line 381: -// -// ["delete_loopback_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xc91dafa5"} -// ] +// Generated from '../../bin_api/interface.api.json', line 1276: +// +// "delete_loopback_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type DeleteLoopbackReply struct { Retval int32 @@ -1429,7 +2226,7 @@ func (*DeleteLoopbackReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*DeleteLoopbackReply) GetCrcString() string { - return "c91dafa5" + return "e8d4e804" } func NewDeleteLoopbackReply() api.Message { return &DeleteLoopbackReply{} diff --git a/examples/bin_api/ip.api.json b/examples/bin_api/ip.api.json index 805e56f..530b6d6 100644 --- a/examples/bin_api/ip.api.json +++ b/examples/bin_api/ip.api.json @@ -1,358 +1,2246 @@ { - "types" : [ - ["fib_path", - ["u32", "sw_if_index"], - ["u32", "weight"], - ["u8", "is_local"], - ["u8", "is_drop"], - ["u8", "is_unreach"], - ["u8", "is_prohibit"], - ["u8", "afi"], - ["u8", "next_hop", 16], - {"crc" : "0x315b1889"} - ] + "services": [ + { + "ip_source_and_port_range_check_add_del": { + "reply": "ip_source_and_port_range_check_add_del_reply" + } + }, + { + "ip6_fib_dump": { + "reply": "ip6_fib_details", + "stream": true + } + }, + { + "want_ip6_nd_events": { + "reply": "want_ip6_nd_events_reply" + } + }, + { + "ip_punt_police": { + "reply": "ip_punt_police_reply" + } + }, + { + "set_arp_neighbor_limit": { + "reply": "set_arp_neighbor_limit_reply" + } + }, + { + "ip6nd_proxy_add_del": { + "reply": "ip6nd_proxy_add_del_reply" + } + }, + { + "ioam_disable": { + "reply": "ioam_disable_reply" + } + }, + { + "ip_table_add_del": { + "reply": "ip_table_add_del_reply" + } + }, + { + "ip_neighbor_dump": { + "reply": "ip_neighbor_details", + "stream": true + } + }, + { + "ip4_arp_event": { + "reply": null + } + }, + { + "ip_punt_redirect": { + "reply": "ip_punt_redirect_reply" + } + }, + { + "sw_interface_ip6nd_ra_prefix": { + "reply": "sw_interface_ip6nd_ra_prefix_reply" + } + }, + { + "reset_fib": { + "reply": "reset_fib_reply" + } + }, + { + "ip6_mfib_dump": { + "reply": "ip6_mfib_details", + "stream": true + } + }, + { + "sw_interface_ip6nd_ra_config": { + "reply": "sw_interface_ip6nd_ra_config_reply" + } + }, + { + "sw_interface_ip6_enable_disable": { + "reply": "sw_interface_ip6_enable_disable_reply" + } + }, + { + "sw_interface_ip6_set_link_local_address": { + "reply": "sw_interface_ip6_set_link_local_address_reply" + } + }, + { + "mfib_signal_dump": { + "reply": "mfib_signal_details", + "stream": true + } + }, + { + "ip_container_proxy_add_del": { + "reply": "ip_container_proxy_add_del_reply" + } + }, + { + "ip_mfib_dump": { + "reply": "ip_mfib_details", + "stream": true + } + }, + { + "ip_address_dump": { + "reply": "ip_address_details", + "stream": true + } + }, + { + "ip_dump": { + "reply": "ip_details", + "stream": true + } + }, + { + "ip_neighbor_add_del": { + "reply": "ip_neighbor_add_del_reply" + } + }, + { + "proxy_arp_intfc_enable_disable": { + "reply": "proxy_arp_intfc_enable_disable_reply" + } + }, + { + "proxy_arp_add_del": { + "reply": "proxy_arp_add_del_reply" + } + }, + { + "ip_add_del_route": { + "reply": "ip_add_del_route_reply" + } + }, + { + "ip6nd_proxy_dump": { + "reply": "ip6nd_proxy_details", + "stream": true + } + }, + { + "ip_fib_dump": { + "reply": "ip_fib_details", + "stream": true + } + }, + { + "want_ip4_arp_events": { + "reply": "want_ip4_arp_events_reply" + } + }, + { + "ioam_enable": { + "reply": "ioam_enable_reply" + } + }, + { + "ip6_nd_event": { + "reply": null + } + }, + { + "ip_mroute_add_del": { + "reply": "ip_mroute_add_del_reply" + } + }, + { + "ip_source_and_port_range_check_interface_add_del": { + "reply": "ip_source_and_port_range_check_interface_add_del_reply" + } + }, + { + "set_ip_flow_hash": { + "reply": "set_ip_flow_hash_reply" + } + } ], - "messages" : [ - ["ip_fib_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0x5fe56ca3"} - ], - ["ip_fib_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "table_id"], - ["u8", "address_length"], - ["u8", "address", 4], - ["u32", "count"], - ["vl_api_fib_path_t", "path", 0, "count"], - {"crc" : "0xfd8c6584"} - ], - ["ip6_fib_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0x25c89676"} - ], - ["ip6_fib_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "table_id"], - ["u8", "address_length"], - ["u8", "address", 16], - ["u32", "count"], - ["vl_api_fib_path_t", "path", 0, "count"], - {"crc" : "0xe0825cb5"} - ], - ["ip_neighbor_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "is_ipv6"], - {"crc" : "0x3289e160"} - ], - ["ip_neighbor_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u8", "is_static"], - ["u8", "is_ipv6"], - ["u8", "mac_address", 6], - ["u8", "ip_address", 16], - {"crc" : "0x3a00e32a"} - ], - ["ip_neighbor_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "is_add"], - ["u8", "is_ipv6"], - ["u8", "is_static"], - ["u8", "is_no_adj_fib"], - ["u8", "mac_address", 6], - ["u8", "dst_address", 16], - {"crc" : "0x5a0d070b"} - ], - ["ip_neighbor_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xe5b0f318"} - ], - ["set_ip_flow_hash", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "vrf_id"], - ["u8", "is_ipv6"], - ["u8", "src"], - ["u8", "dst"], - ["u8", "sport"], - ["u8", "dport"], - ["u8", "proto"], - ["u8", "reverse"], - {"crc" : "0x92ad3798"} - ], - ["set_ip_flow_hash_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x35a9e5eb"} - ], - ["sw_interface_ip6nd_ra_config", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "suppress"], - ["u8", "managed"], - ["u8", "other"], - ["u8", "ll_option"], - ["u8", "send_unicast"], - ["u8", "cease"], - ["u8", "is_no"], - ["u8", "default_router"], - ["u32", "max_interval"], - ["u32", "min_interval"], - ["u32", "lifetime"], - ["u32", "initial_count"], - ["u32", "initial_interval"], - {"crc" : "0xec4a29f6"} - ], - ["sw_interface_ip6nd_ra_config_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x16e25c5b"} - ], - ["sw_interface_ip6nd_ra_prefix", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "address", 16], - ["u8", "address_length"], - ["u8", "use_default"], - ["u8", "no_advertise"], - ["u8", "off_link"], - ["u8", "no_autoconfig"], - ["u8", "no_onlink"], - ["u8", "is_no"], - ["u32", "val_lifetime"], - ["u32", "pref_lifetime"], - {"crc" : "0x5db6555c"} - ], - ["sw_interface_ip6nd_ra_prefix_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x8050adb3"} - ], - ["ip6nd_proxy_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "is_del"], - ["u8", "address", 16], - {"crc" : "0xc56f802d"} - ], - ["ip6nd_proxy_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x00ddc2d5"} - ], - ["ip6nd_proxy_details", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "address", 16], - {"crc" : "0xf805ccc1"} - ], - ["ip6nd_proxy_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0x21597d88"} - ], - ["sw_interface_ip6_enable_disable", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "enable"], - {"crc" : "0x4a4e5405"} - ], - ["sw_interface_ip6_enable_disable_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xeb8b4a40"} - ], - ["sw_interface_ip6_set_link_local_address", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "address", 16], - {"crc" : "0x3db6d52b"} - ], - ["sw_interface_ip6_set_link_local_address_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x0a781e17"} - ], - ["ip_add_del_route", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "next_hop_sw_if_index"], - ["u32", "table_id"], - ["u32", "classify_table_index"], - ["u32", "next_hop_table_id"], - ["u8", "create_vrf_if_needed"], - ["u8", "is_add"], - ["u8", "is_drop"], - ["u8", "is_unreach"], - ["u8", "is_prohibit"], - ["u8", "is_ipv6"], - ["u8", "is_local"], - ["u8", "is_classify"], - ["u8", "is_multipath"], - ["u8", "is_resolve_host"], - ["u8", "is_resolve_attached"], - ["u8", "not_last"], - ["u8", "next_hop_weight"], - ["u8", "dst_address_length"], - ["u8", "dst_address", 16], - ["u8", "next_hop_address", 16], - ["u8", "next_hop_n_out_labels"], - ["u32", "next_hop_via_label"], - ["u32", "next_hop_out_label_stack", 0, "next_hop_n_out_labels"], - {"crc" : "0xa0ab24bf"} - ], - ["ip_add_del_route_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0xea57492b"} - ], - ["ip_mroute_add_del", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "next_hop_sw_if_index"], - ["u32", "table_id"], - ["u32", "entry_flags"], - ["u32", "itf_flags"], - ["u32", "rpf_id"], - ["u16", "grp_address_length"], - ["u8", "create_vrf_if_needed"], - ["u8", "is_add"], - ["u8", "is_ipv6"], - ["u8", "is_local"], - ["u8", "grp_address", 16], - ["u8", "src_address", 16], - {"crc" : "0x8f5f21a8"} - ], - ["ip_mroute_add_del_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x8cabe02c"} - ], - ["ip_mfib_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0xee61390e"} - ], - ["ip_mfib_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "table_id"], - ["u32", "entry_flags"], - ["u32", "rpf_id"], - ["u8", "address_length"], - ["u8", "grp_address", 4], - ["u8", "src_address", 4], - ["u32", "count"], - ["vl_api_fib_path_t", "path", 0, "count"], - {"crc" : "0x395e5699"} - ], - ["ip6_mfib_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0x0839e143"} - ], - ["ip6_mfib_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "table_id"], - ["u8", "address_length"], - ["u8", "grp_address", 16], - ["u8", "src_address", 16], - ["u32", "count"], - ["vl_api_fib_path_t", "path", 0, "count"], - {"crc" : "0x921b153f"} - ], - ["ip_address_details", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "ip", 16], - ["u8", "prefix_length"], - ["u32", "sw_if_index"], - ["u8", "is_ipv6"], - {"crc" : "0x190d4266"} - ], - ["ip_address_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "is_ipv6"], - {"crc" : "0x632e859a"} - ], - ["ip_details", - ["u16", "_vl_msg_id"], - ["u32", "sw_if_index"], - ["u32", "context"], - ["u8", "is_ipv6"], - {"crc" : "0x695c8227"} - ], - ["ip_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "is_ipv6"], - {"crc" : "0x3c1e33e0"} - ], - ["mfib_signal_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0xbbbbd40d"} - ], - ["mfib_signal_details", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u32", "table_id"], - ["u16", "grp_address_len"], - ["u8", "grp_address", 16], - ["u8", "src_address", 16], - ["u16", "ip_packet_len"], - ["u8", "ip_packet_data", 256], - {"crc" : "0x6ba92c72"} + "vl_api_version": "0xb395c625", + "enums": [], + "messages": [ + [ + "ip_table_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "table_id" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "name", + 64 + ], + { + "crc": "0x0240c89d" + } + ], + [ + "ip_table_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_fib_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "ip_fib_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "table_id" + ], + [ + "u8", + "table_name", + 64 + ], + [ + "u8", + "address_length" + ], + [ + "u8", + "address", + 4 + ], + [ + "u32", + "count" + ], + [ + "vl_api_fib_path_t", + "path", + 0, + "count" + ], + { + "crc": "0x99dfd73b" + } + ], + [ + "ip6_fib_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "ip6_fib_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "table_id" + ], + [ + "u8", + "table_name", + 64 + ], + [ + "u8", + "address_length" + ], + [ + "u8", + "address", + 16 + ], + [ + "u32", + "count" + ], + [ + "vl_api_fib_path_t", + "path", + 0, + "count" + ], + { + "crc": "0xabd0060e" + } + ], + [ + "ip_neighbor_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0x6b7bcd0a" + } + ], + [ + "ip_neighbor_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_static" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "mac_address", + 6 + ], + [ + "u8", + "ip_address", + 16 + ], + { + "crc": "0x85e32a72" + } + ], + [ + "ip_neighbor_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "is_static" + ], + [ + "u8", + "is_no_adj_fib" + ], + [ + "u8", + "mac_address", + 6 + ], + [ + "u8", + "dst_address", + 16 + ], + { + "crc": "0x4711eb25" + } + ], + [ + "ip_neighbor_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "set_ip_flow_hash", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "vrf_id" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "src" + ], + [ + "u8", + "dst" + ], + [ + "u8", + "sport" + ], + [ + "u8", + "dport" + ], + [ + "u8", + "proto" + ], + [ + "u8", + "reverse" + ], + { + "crc": "0x32ebf737" + } + ], + [ + "set_ip_flow_hash_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "sw_interface_ip6nd_ra_config", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "suppress" + ], + [ + "u8", + "managed" + ], + [ + "u8", + "other" + ], + [ + "u8", + "ll_option" + ], + [ + "u8", + "send_unicast" + ], + [ + "u8", + "cease" + ], + [ + "u8", + "is_no" + ], + [ + "u8", + "default_router" + ], + [ + "u32", + "max_interval" + ], + [ + "u32", + "min_interval" + ], + [ + "u32", + "lifetime" + ], + [ + "u32", + "initial_count" + ], + [ + "u32", + "initial_interval" + ], + { + "crc": "0xc3f02daa" + } + ], + [ + "sw_interface_ip6nd_ra_config_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "sw_interface_ip6nd_ra_prefix", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "address", + 16 + ], + [ + "u8", + "address_length" + ], + [ + "u8", + "use_default" + ], + [ + "u8", + "no_advertise" + ], + [ + "u8", + "off_link" + ], + [ + "u8", + "no_autoconfig" + ], + [ + "u8", + "no_onlink" + ], + [ + "u8", + "is_no" + ], + [ + "u32", + "val_lifetime" + ], + [ + "u32", + "pref_lifetime" + ], + { + "crc": "0xca763c9a" + } + ], + [ + "sw_interface_ip6nd_ra_prefix_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip6nd_proxy_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_del" + ], + [ + "u8", + "address", + 16 + ], + { + "crc": "0xd95f0fa0" + } + ], + [ + "ip6nd_proxy_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip6nd_proxy_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "address", + 16 + ], + { + "crc": "0xd73bf1ab" + } + ], + [ + "ip6nd_proxy_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "sw_interface_ip6_enable_disable", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "enable" + ], + { + "crc": "0xa36fadc0" + } + ], + [ + "sw_interface_ip6_enable_disable_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "sw_interface_ip6_set_link_local_address", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "address", + 16 + ], + { + "crc": "0xd73bf1ab" + } + ], + [ + "sw_interface_ip6_set_link_local_address_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_add_del_route", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "next_hop_sw_if_index" + ], + [ + "u32", + "table_id" + ], + [ + "u32", + "classify_table_index" + ], + [ + "u32", + "next_hop_table_id" + ], + [ + "u32", + "next_hop_id" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "is_drop" + ], + [ + "u8", + "is_unreach" + ], + [ + "u8", + "is_prohibit" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "is_local" + ], + [ + "u8", + "is_classify" + ], + [ + "u8", + "is_multipath" + ], + [ + "u8", + "is_resolve_host" + ], + [ + "u8", + "is_resolve_attached" + ], + [ + "u8", + "is_dvr" + ], + [ + "u8", + "is_source_lookup" + ], + [ + "u8", + "is_udp_encap" + ], + [ + "u8", + "next_hop_weight" + ], + [ + "u8", + "next_hop_preference" + ], + [ + "u8", + "next_hop_proto" + ], + [ + "u8", + "dst_address_length" + ], + [ + "u8", + "dst_address", + 16 + ], + [ + "u8", + "next_hop_address", + 16 + ], + [ + "u8", + "next_hop_n_out_labels" + ], + [ + "u32", + "next_hop_via_label" + ], + [ + "u32", + "next_hop_out_label_stack", + 0, + "next_hop_n_out_labels" + ], + { + "crc": "0xc85f8290" + } + ], + [ + "ip_add_del_route_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_mroute_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "next_hop_sw_if_index" + ], + [ + "u32", + "table_id" + ], + [ + "u32", + "entry_flags" + ], + [ + "u32", + "itf_flags" + ], + [ + "u32", + "rpf_id" + ], + [ + "u32", + "bier_imp" + ], + [ + "u16", + "grp_address_length" + ], + [ + "u8", + "next_hop_afi" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "is_local" + ], + [ + "u8", + "grp_address", + 16 + ], + [ + "u8", + "src_address", + 16 + ], + { + "crc": "0xc37112f7" + } + ], + [ + "ip_mroute_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_mfib_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "ip_mfib_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "table_id" + ], + [ + "u32", + "entry_flags" + ], + [ + "u32", + "rpf_id" + ], + [ + "u8", + "address_length" + ], + [ + "u8", + "grp_address", + 4 + ], + [ + "u8", + "src_address", + 4 + ], + [ + "u32", + "count" + ], + [ + "vl_api_fib_path_t", + "path", + 0, + "count" + ], + { + "crc": "0x5e530d5e" + } + ], + [ + "ip6_mfib_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "ip6_mfib_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "table_id" + ], + [ + "u8", + "address_length" + ], + [ + "u8", + "grp_address", + 16 + ], + [ + "u8", + "src_address", + 16 + ], + [ + "u32", + "count" + ], + [ + "vl_api_fib_path_t", + "path", + 0, + "count" + ], + { + "crc": "0xe02dcb4b" + } + ], + [ + "ip_address_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "ip", + 16 + ], + [ + "u8", + "prefix_length" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0xbc7442f2" + } + ], + [ + "ip_address_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0x6b7bcd0a" + } + ], + [ + "ip_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0x452ffc5a" + } + ], + [ + "ip_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0xde883da4" + } + ], + [ + "mfib_signal_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "mfib_signal_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u32", + "table_id" + ], + [ + "u16", + "grp_address_len" + ], + [ + "u8", + "grp_address", + 16 + ], + [ + "u8", + "src_address", + 16 + ], + [ + "u16", + "ip_packet_len" + ], + [ + "u8", + "ip_packet_data", + 256 + ], + { + "crc": "0x791bbeab" + } + ], + [ + "ip_punt_police", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "policer_index" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "is_ip6" + ], + { + "crc": "0x38691592" + } + ], + [ + "ip_punt_police_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_punt_redirect", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "rx_sw_if_index" + ], + [ + "u32", + "tx_sw_if_index" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "is_ip6" + ], + [ + "u8", + "nh", + 16 + ], + { + "crc": "0x996b6603" + } + ], + [ + "ip_punt_redirect_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_container_proxy_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "ip", + 16 + ], + [ + "u8", + "is_ip4" + ], + [ + "u8", + "plen" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "is_add" + ], + { + "crc": "0x0a355d39" + } + ], + [ + "ip_container_proxy_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_source_and_port_range_check_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "mask_length" + ], + [ + "u8", + "address", + 16 + ], + [ + "u8", + "number_of_ranges" + ], + [ + "u16", + "low_ports", + 32 + ], + [ + "u16", + "high_ports", + 32 + ], + [ + "u32", + "vrf_id" + ], + { + "crc": "0x03d6b03a" + } + ], + [ + "ip_source_and_port_range_check_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip_source_and_port_range_check_interface_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "is_add" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u32", + "tcp_in_vrf_id" + ], + [ + "u32", + "tcp_out_vrf_id" + ], + [ + "u32", + "udp_in_vrf_id" + ], + [ + "u32", + "udp_out_vrf_id" + ], + { + "crc": "0x6966bc44" + } + ], + [ + "ip_source_and_port_range_check_interface_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_ip4_arp_events", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "enable_disable" + ], + [ + "u32", + "pid" + ], + [ + "u32", + "address" + ], + { + "crc": "0x77e06379" + } + ], + [ + "want_ip4_arp_events_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip4_arp_event", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "address" + ], + [ + "u32", + "pid" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "new_mac", + 6 + ], + [ + "u8", + "mac_ip" + ], + { + "crc": "0xef7235f7" + } + ], + [ + "want_ip6_nd_events", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "enable_disable" + ], + [ + "u32", + "pid" + ], + [ + "u8", + "address", + 16 + ], + { + "crc": "0x1cf65fbb" + } + ], + [ + "want_ip6_nd_events_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ip6_nd_event", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "pid" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "address", + 16 + ], + [ + "u8", + "new_mac", + 6 + ], + [ + "u8", + "mac_ip" + ], + { + "crc": "0x96ab2fdd" + } + ], + [ + "proxy_arp_add_del", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "vrf_id" + ], + [ + "u8", + "is_add" + ], + [ + "u8", + "low_address", + 4 + ], + [ + "u8", + "hi_address", + 4 + ], + { + "crc": "0xc2442918" + } + ], + [ + "proxy_arp_add_del_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "proxy_arp_intfc_enable_disable", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "enable_disable" + ], + { + "crc": "0x69d24598" + } + ], + [ + "proxy_arp_intfc_enable_disable_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "reset_fib", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "vrf_id" + ], + [ + "u8", + "is_ipv6" + ], + { + "crc": "0x8553ebd9" + } + ], + [ + "reset_fib_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "set_arp_neighbor_limit", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "is_ipv6" + ], + [ + "u32", + "arp_neighbor_limit" + ], + { + "crc": "0x97d01fd6" + } + ], + [ + "set_arp_neighbor_limit_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ioam_enable", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u16", + "id" + ], + [ + "u8", + "seqno" + ], + [ + "u8", + "analyse" + ], + [ + "u8", + "pot_enable" + ], + [ + "u8", + "trace_enable" + ], + [ + "u32", + "node_id" + ], + { + "crc": "0x9392e032" + } + ], + [ + "ioam_enable_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "ioam_disable", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u16", + "id" + ], + { + "crc": "0x6b16a45e" + } + ], + [ + "ioam_disable_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } ] ], -"vl_api_version" :"0x50fe2434" + "types": [ + [ + "fib_path", + [ + "u32", + "sw_if_index" + ], + [ + "u32", + "table_id" + ], + [ + "u8", + "weight" + ], + [ + "u8", + "preference" + ], + [ + "u8", + "is_local" + ], + [ + "u8", + "is_drop" + ], + [ + "u8", + "is_unreach" + ], + [ + "u8", + "is_prohibit" + ], + [ + "u8", + "afi" + ], + [ + "u8", + "next_hop", + 16 + ], + { + "crc": "0xcd899e0a" + } + ] + ] } diff --git a/examples/bin_api/ip/ip.go b/examples/bin_api/ip/ip.go index cea5053..7a72629 100644 --- a/examples/bin_api/ip/ip.go +++ b/examples/bin_api/ip/ip.go @@ -6,26 +6,62 @@ package ip import "git.fd.io/govpp.git/api" // VlApiVersion contains version of the API. -const VlAPIVersion = 0x50fe2434 +const VlAPIVersion = 0xb395c625 // FibPath represents the VPP binary API data type 'fib_path'. -// Generated from '../../bin_api/ip.api.json', line 3: -// -// ["fib_path", -// ["u32", "sw_if_index"], -// ["u32", "weight"], -// ["u8", "is_local"], -// ["u8", "is_drop"], -// ["u8", "is_unreach"], -// ["u8", "is_prohibit"], -// ["u8", "afi"], -// ["u8", "next_hop", 16], -// {"crc" : "0x315b1889"} -// ] +// Generated from '../../bin_api/ip.api.json', line 2199: +// +// "fib_path", +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "weight" +// ], +// [ +// "u8", +// "preference" +// ], +// [ +// "u8", +// "is_local" +// ], +// [ +// "u8", +// "is_drop" +// ], +// [ +// "u8", +// "is_unreach" +// ], +// [ +// "u8", +// "is_prohibit" +// ], +// [ +// "u8", +// "afi" +// ], +// [ +// "u8", +// "next_hop", +// 16 +// ], +// { +// "crc": "0xcd899e0a" +// } // type FibPath struct { SwIfIndex uint32 - Weight uint32 + TableID uint32 + Weight uint8 + Preference uint8 IsLocal uint8 IsDrop uint8 IsUnreach uint8 @@ -38,18 +74,122 @@ func (*FibPath) GetTypeName() string { return "fib_path" } func (*FibPath) GetCrcString() string { - return "315b1889" + return "cd899e0a" +} + +// IPTableAddDel represents the VPP binary API message 'ip_table_add_del'. +// Generated from '../../bin_api/ip.api.json', line 187: +// +// "ip_table_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "name", +// 64 +// ], +// { +// "crc": "0x0240c89d" +// } +// +type IPTableAddDel struct { + TableID uint32 + IsIpv6 uint8 + IsAdd uint8 + Name []byte `struc:"[64]byte"` +} + +func (*IPTableAddDel) GetMessageName() string { + return "ip_table_add_del" +} +func (*IPTableAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*IPTableAddDel) GetCrcString() string { + return "0240c89d" +} +func NewIPTableAddDel() api.Message { + return &IPTableAddDel{} +} + +// IPTableAddDelReply represents the VPP binary API message 'ip_table_add_del_reply'. +// Generated from '../../bin_api/ip.api.json', line 222: +// +// "ip_table_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPTableAddDelReply struct { + Retval int32 +} + +func (*IPTableAddDelReply) GetMessageName() string { + return "ip_table_add_del_reply" +} +func (*IPTableAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*IPTableAddDelReply) GetCrcString() string { + return "e8d4e804" +} +func NewIPTableAddDelReply() api.Message { + return &IPTableAddDelReply{} } // IPFibDump represents the VPP binary API message 'ip_fib_dump'. -// Generated from '../../bin_api/ip.api.json', line 16: -// -// ["ip_fib_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0x5fe56ca3"} -// ], +// Generated from '../../bin_api/ip.api.json', line 240: +// +// "ip_fib_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type IPFibDump struct { } @@ -61,28 +201,59 @@ func (*IPFibDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*IPFibDump) GetCrcString() string { - return "5fe56ca3" + return "51077d14" } func NewIPFibDump() api.Message { return &IPFibDump{} } // IPFibDetails represents the VPP binary API message 'ip_fib_details'. -// Generated from '../../bin_api/ip.api.json', line 22: -// -// ["ip_fib_details", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "table_id"], -// ["u8", "address_length"], -// ["u8", "address", 4], -// ["u32", "count"], -// ["vl_api_fib_path_t", "path", 0, "count"], -// {"crc" : "0xfd8c6584"} -// ], +// Generated from '../../bin_api/ip.api.json', line 258: +// +// "ip_fib_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "table_name", +// 64 +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "address", +// 4 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_fib_path_t", +// "path", +// 0, +// "count" +// ], +// { +// "crc": "0x99dfd73b" +// } // type IPFibDetails struct { TableID uint32 + TableName []byte `struc:"[64]byte"` AddressLength uint8 Address []byte `struc:"[4]byte"` Count uint32 `struc:"sizeof=Path"` @@ -96,21 +267,31 @@ func (*IPFibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*IPFibDetails) GetCrcString() string { - return "fd8c6584" + return "99dfd73b" } func NewIPFibDetails() api.Message { return &IPFibDetails{} } // IP6FibDump represents the VPP binary API message 'ip6_fib_dump'. -// Generated from '../../bin_api/ip.api.json', line 32: -// -// ["ip6_fib_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0x25c89676"} -// ], +// Generated from '../../bin_api/ip.api.json', line 300: +// +// "ip6_fib_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type IP6FibDump struct { } @@ -122,28 +303,59 @@ func (*IP6FibDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*IP6FibDump) GetCrcString() string { - return "25c89676" + return "51077d14" } func NewIP6FibDump() api.Message { return &IP6FibDump{} } // IP6FibDetails represents the VPP binary API message 'ip6_fib_details'. -// Generated from '../../bin_api/ip.api.json', line 38: -// -// ["ip6_fib_details", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "table_id"], -// ["u8", "address_length"], -// ["u8", "address", 16], -// ["u32", "count"], -// ["vl_api_fib_path_t", "path", 0, "count"], -// {"crc" : "0xe0825cb5"} -// ], +// Generated from '../../bin_api/ip.api.json', line 318: +// +// "ip6_fib_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "table_name", +// 64 +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_fib_path_t", +// "path", +// 0, +// "count" +// ], +// { +// "crc": "0xabd0060e" +// } // type IP6FibDetails struct { TableID uint32 + TableName []byte `struc:"[64]byte"` AddressLength uint8 Address []byte `struc:"[16]byte"` Count uint32 `struc:"sizeof=Path"` @@ -157,23 +369,39 @@ func (*IP6FibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*IP6FibDetails) GetCrcString() string { - return "e0825cb5" + return "abd0060e" } func NewIP6FibDetails() api.Message { return &IP6FibDetails{} } // IPNeighborDump represents the VPP binary API message 'ip_neighbor_dump'. -// Generated from '../../bin_api/ip.api.json', line 48: -// -// ["ip_neighbor_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "is_ipv6"], -// {"crc" : "0x3289e160"} -// ], +// Generated from '../../bin_api/ip.api.json', line 360: +// +// "ip_neighbor_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x6b7bcd0a" +// } // type IPNeighborDump struct { SwIfIndex uint32 @@ -187,26 +415,52 @@ func (*IPNeighborDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*IPNeighborDump) GetCrcString() string { - return "3289e160" + return "6b7bcd0a" } func NewIPNeighborDump() api.Message { return &IPNeighborDump{} } // IPNeighborDetails represents the VPP binary API message 'ip_neighbor_details'. -// Generated from '../../bin_api/ip.api.json', line 56: -// -// ["ip_neighbor_details", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u8", "is_static"], -// ["u8", "is_ipv6"], -// ["u8", "mac_address", 6], -// ["u8", "ip_address", 16], -// {"crc" : "0x3a00e32a"} -// ], +// Generated from '../../bin_api/ip.api.json', line 386: +// +// "ip_neighbor_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_static" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "ip_address", +// 16 +// ], +// { +// "crc": "0x85e32a72" +// } // type IPNeighborDetails struct { + SwIfIndex uint32 IsStatic uint8 IsIpv6 uint8 MacAddress []byte `struc:"[6]byte"` @@ -220,28 +474,61 @@ func (*IPNeighborDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*IPNeighborDetails) GetCrcString() string { - return "3a00e32a" + return "85e32a72" } func NewIPNeighborDetails() api.Message { return &IPNeighborDetails{} } // IPNeighborAddDel represents the VPP binary API message 'ip_neighbor_add_del'. -// Generated from '../../bin_api/ip.api.json', line 65: -// -// ["ip_neighbor_add_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "is_add"], -// ["u8", "is_ipv6"], -// ["u8", "is_static"], -// ["u8", "is_no_adj_fib"], -// ["u8", "mac_address", 6], -// ["u8", "dst_address", 16], -// {"crc" : "0x5a0d070b"} -// ], +// Generated from '../../bin_api/ip.api.json', line 422: +// +// "ip_neighbor_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "is_static" +// ], +// [ +// "u8", +// "is_no_adj_fib" +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "dst_address", +// 16 +// ], +// { +// "crc": "0x4711eb25" +// } // type IPNeighborAddDel struct { SwIfIndex uint32 @@ -260,21 +547,31 @@ func (*IPNeighborAddDel) GetMessageType() api.MessageType { return api.RequestMessage } func (*IPNeighborAddDel) GetCrcString() string { - return "5a0d070b" + return "4711eb25" } func NewIPNeighborAddDel() api.Message { return &IPNeighborAddDel{} } // IPNeighborAddDelReply represents the VPP binary API message 'ip_neighbor_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 78: -// -// ["ip_neighbor_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xe5b0f318"} -// ], +// Generated from '../../bin_api/ip.api.json', line 470: +// +// "ip_neighbor_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPNeighborAddDelReply struct { Retval int32 @@ -287,29 +584,63 @@ func (*IPNeighborAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*IPNeighborAddDelReply) GetCrcString() string { - return "e5b0f318" + return "e8d4e804" } func NewIPNeighborAddDelReply() api.Message { return &IPNeighborAddDelReply{} } // SetIPFlowHash represents the VPP binary API message 'set_ip_flow_hash'. -// Generated from '../../bin_api/ip.api.json', line 84: -// -// ["set_ip_flow_hash", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "vrf_id"], -// ["u8", "is_ipv6"], -// ["u8", "src"], -// ["u8", "dst"], -// ["u8", "sport"], -// ["u8", "dport"], -// ["u8", "proto"], -// ["u8", "reverse"], -// {"crc" : "0x92ad3798"} -// ], +// Generated from '../../bin_api/ip.api.json', line 488: +// +// "set_ip_flow_hash", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "src" +// ], +// [ +// "u8", +// "dst" +// ], +// [ +// "u8", +// "sport" +// ], +// [ +// "u8", +// "dport" +// ], +// [ +// "u8", +// "proto" +// ], +// [ +// "u8", +// "reverse" +// ], +// { +// "crc": "0x32ebf737" +// } // type SetIPFlowHash struct { VrfID uint32 @@ -329,21 +660,31 @@ func (*SetIPFlowHash) GetMessageType() api.MessageType { return api.RequestMessage } func (*SetIPFlowHash) GetCrcString() string { - return "92ad3798" + return "32ebf737" } func NewSetIPFlowHash() api.Message { return &SetIPFlowHash{} } // SetIPFlowHashReply represents the VPP binary API message 'set_ip_flow_hash_reply'. -// Generated from '../../bin_api/ip.api.json', line 98: -// -// ["set_ip_flow_hash_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x35a9e5eb"} -// ], +// Generated from '../../bin_api/ip.api.json', line 538: +// +// "set_ip_flow_hash_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SetIPFlowHashReply struct { Retval int32 @@ -356,35 +697,87 @@ func (*SetIPFlowHashReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SetIPFlowHashReply) GetCrcString() string { - return "35a9e5eb" + return "e8d4e804" } func NewSetIPFlowHashReply() api.Message { return &SetIPFlowHashReply{} } // SwInterfaceIP6ndRaConfig represents the VPP binary API message 'sw_interface_ip6nd_ra_config'. -// Generated from '../../bin_api/ip.api.json', line 104: -// -// ["sw_interface_ip6nd_ra_config", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "suppress"], -// ["u8", "managed"], -// ["u8", "other"], -// ["u8", "ll_option"], -// ["u8", "send_unicast"], -// ["u8", "cease"], -// ["u8", "is_no"], -// ["u8", "default_router"], -// ["u32", "max_interval"], -// ["u32", "min_interval"], -// ["u32", "lifetime"], -// ["u32", "initial_count"], -// ["u32", "initial_interval"], -// {"crc" : "0xec4a29f6"} -// ], +// Generated from '../../bin_api/ip.api.json', line 556: +// +// "sw_interface_ip6nd_ra_config", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "suppress" +// ], +// [ +// "u8", +// "managed" +// ], +// [ +// "u8", +// "other" +// ], +// [ +// "u8", +// "ll_option" +// ], +// [ +// "u8", +// "send_unicast" +// ], +// [ +// "u8", +// "cease" +// ], +// [ +// "u8", +// "is_no" +// ], +// [ +// "u8", +// "default_router" +// ], +// [ +// "u32", +// "max_interval" +// ], +// [ +// "u32", +// "min_interval" +// ], +// [ +// "u32", +// "lifetime" +// ], +// [ +// "u32", +// "initial_count" +// ], +// [ +// "u32", +// "initial_interval" +// ], +// { +// "crc": "0xc3f02daa" +// } // type SwInterfaceIP6ndRaConfig struct { SwIfIndex uint32 @@ -410,21 +803,31 @@ func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceIP6ndRaConfig) GetCrcString() string { - return "ec4a29f6" + return "c3f02daa" } func NewSwInterfaceIP6ndRaConfig() api.Message { return &SwInterfaceIP6ndRaConfig{} } // SwInterfaceIP6ndRaConfigReply represents the VPP binary API message 'sw_interface_ip6nd_ra_config_reply'. -// Generated from '../../bin_api/ip.api.json', line 124: -// -// ["sw_interface_ip6nd_ra_config_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x16e25c5b"} -// ], +// Generated from '../../bin_api/ip.api.json', line 630: +// +// "sw_interface_ip6nd_ra_config_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceIP6ndRaConfigReply struct { Retval int32 @@ -437,32 +840,76 @@ func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string { - return "16e25c5b" + return "e8d4e804" } func NewSwInterfaceIP6ndRaConfigReply() api.Message { return &SwInterfaceIP6ndRaConfigReply{} } // SwInterfaceIP6ndRaPrefix represents the VPP binary API message 'sw_interface_ip6nd_ra_prefix'. -// Generated from '../../bin_api/ip.api.json', line 130: -// -// ["sw_interface_ip6nd_ra_prefix", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "address", 16], -// ["u8", "address_length"], -// ["u8", "use_default"], -// ["u8", "no_advertise"], -// ["u8", "off_link"], -// ["u8", "no_autoconfig"], -// ["u8", "no_onlink"], -// ["u8", "is_no"], -// ["u32", "val_lifetime"], -// ["u32", "pref_lifetime"], -// {"crc" : "0x5db6555c"} -// ], +// Generated from '../../bin_api/ip.api.json', line 648: +// +// "sw_interface_ip6nd_ra_prefix", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "use_default" +// ], +// [ +// "u8", +// "no_advertise" +// ], +// [ +// "u8", +// "off_link" +// ], +// [ +// "u8", +// "no_autoconfig" +// ], +// [ +// "u8", +// "no_onlink" +// ], +// [ +// "u8", +// "is_no" +// ], +// [ +// "u32", +// "val_lifetime" +// ], +// [ +// "u32", +// "pref_lifetime" +// ], +// { +// "crc": "0xca763c9a" +// } // type SwInterfaceIP6ndRaPrefix struct { SwIfIndex uint32 @@ -485,21 +932,31 @@ func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string { - return "5db6555c" + return "ca763c9a" } func NewSwInterfaceIP6ndRaPrefix() api.Message { return &SwInterfaceIP6ndRaPrefix{} } // SwInterfaceIP6ndRaPrefixReply represents the VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply'. -// Generated from '../../bin_api/ip.api.json', line 147: -// -// ["sw_interface_ip6nd_ra_prefix_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x8050adb3"} -// ], +// Generated from '../../bin_api/ip.api.json', line 711: +// +// "sw_interface_ip6nd_ra_prefix_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceIP6ndRaPrefixReply struct { Retval int32 @@ -512,24 +969,44 @@ func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string { - return "8050adb3" + return "e8d4e804" } func NewSwInterfaceIP6ndRaPrefixReply() api.Message { return &SwInterfaceIP6ndRaPrefixReply{} } // IP6ndProxyAddDel represents the VPP binary API message 'ip6nd_proxy_add_del'. -// Generated from '../../bin_api/ip.api.json', line 153: -// -// ["ip6nd_proxy_add_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "is_del"], -// ["u8", "address", 16], -// {"crc" : "0xc56f802d"} -// ], +// Generated from '../../bin_api/ip.api.json', line 729: +// +// "ip6nd_proxy_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_del" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// { +// "crc": "0xd95f0fa0" +// } // type IP6ndProxyAddDel struct { SwIfIndex uint32 @@ -544,21 +1021,31 @@ func (*IP6ndProxyAddDel) GetMessageType() api.MessageType { return api.RequestMessage } func (*IP6ndProxyAddDel) GetCrcString() string { - return "c56f802d" + return "d95f0fa0" } func NewIP6ndProxyAddDel() api.Message { return &IP6ndProxyAddDel{} } // IP6ndProxyAddDelReply represents the VPP binary API message 'ip6nd_proxy_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 162: -// -// ["ip6nd_proxy_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x00ddc2d5"} -// ], +// Generated from '../../bin_api/ip.api.json', line 760: +// +// "ip6nd_proxy_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IP6ndProxyAddDelReply struct { Retval int32 @@ -571,23 +1058,40 @@ func (*IP6ndProxyAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*IP6ndProxyAddDelReply) GetCrcString() string { - return "00ddc2d5" + return "e8d4e804" } func NewIP6ndProxyAddDelReply() api.Message { return &IP6ndProxyAddDelReply{} } // IP6ndProxyDetails represents the VPP binary API message 'ip6nd_proxy_details'. -// Generated from '../../bin_api/ip.api.json', line 168: -// -// ["ip6nd_proxy_details", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "address", 16], -// {"crc" : "0xf805ccc1"} -// ], +// Generated from '../../bin_api/ip.api.json', line 778: +// +// "ip6nd_proxy_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// { +// "crc": "0xd73bf1ab" +// } // type IP6ndProxyDetails struct { SwIfIndex uint32 @@ -601,21 +1105,31 @@ func (*IP6ndProxyDetails) GetMessageType() api.MessageType { return api.RequestMessage } func (*IP6ndProxyDetails) GetCrcString() string { - return "f805ccc1" + return "d73bf1ab" } func NewIP6ndProxyDetails() api.Message { return &IP6ndProxyDetails{} } // IP6ndProxyDump represents the VPP binary API message 'ip6nd_proxy_dump'. -// Generated from '../../bin_api/ip.api.json', line 176: -// -// ["ip6nd_proxy_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0x21597d88"} -// ], +// Generated from '../../bin_api/ip.api.json', line 805: +// +// "ip6nd_proxy_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type IP6ndProxyDump struct { } @@ -627,23 +1141,39 @@ func (*IP6ndProxyDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*IP6ndProxyDump) GetCrcString() string { - return "21597d88" + return "51077d14" } func NewIP6ndProxyDump() api.Message { return &IP6ndProxyDump{} } // SwInterfaceIP6EnableDisable represents the VPP binary API message 'sw_interface_ip6_enable_disable'. -// Generated from '../../bin_api/ip.api.json', line 182: -// -// ["sw_interface_ip6_enable_disable", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "enable"], -// {"crc" : "0x4a4e5405"} -// ], +// Generated from '../../bin_api/ip.api.json', line 823: +// +// "sw_interface_ip6_enable_disable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "enable" +// ], +// { +// "crc": "0xa36fadc0" +// } // type SwInterfaceIP6EnableDisable struct { SwIfIndex uint32 @@ -657,21 +1187,31 @@ func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceIP6EnableDisable) GetCrcString() string { - return "4a4e5405" + return "a36fadc0" } func NewSwInterfaceIP6EnableDisable() api.Message { return &SwInterfaceIP6EnableDisable{} } // SwInterfaceIP6EnableDisableReply represents the VPP binary API message 'sw_interface_ip6_enable_disable_reply'. -// Generated from '../../bin_api/ip.api.json', line 190: -// -// ["sw_interface_ip6_enable_disable_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xeb8b4a40"} -// ], +// Generated from '../../bin_api/ip.api.json', line 849: +// +// "sw_interface_ip6_enable_disable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceIP6EnableDisableReply struct { Retval int32 @@ -684,23 +1224,40 @@ func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string { - return "eb8b4a40" + return "e8d4e804" } func NewSwInterfaceIP6EnableDisableReply() api.Message { return &SwInterfaceIP6EnableDisableReply{} } // SwInterfaceIP6SetLinkLocalAddress represents the VPP binary API message 'sw_interface_ip6_set_link_local_address'. -// Generated from '../../bin_api/ip.api.json', line 196: -// -// ["sw_interface_ip6_set_link_local_address", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "address", 16], -// {"crc" : "0x3db6d52b"} -// ], +// Generated from '../../bin_api/ip.api.json', line 867: +// +// "sw_interface_ip6_set_link_local_address", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// { +// "crc": "0xd73bf1ab" +// } // type SwInterfaceIP6SetLinkLocalAddress struct { SwIfIndex uint32 @@ -714,21 +1271,31 @@ func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceIP6SetLinkLocalAddress) GetCrcString() string { - return "3db6d52b" + return "d73bf1ab" } func NewSwInterfaceIP6SetLinkLocalAddress() api.Message { return &SwInterfaceIP6SetLinkLocalAddress{} } // SwInterfaceIP6SetLinkLocalAddressReply represents the VPP binary API message 'sw_interface_ip6_set_link_local_address_reply'. -// Generated from '../../bin_api/ip.api.json', line 204: -// -// ["sw_interface_ip6_set_link_local_address_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x0a781e17"} -// ], +// Generated from '../../bin_api/ip.api.json', line 894: +// +// "sw_interface_ip6_set_link_local_address_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type SwInterfaceIP6SetLinkLocalAddressReply struct { Retval int32 @@ -741,51 +1308,150 @@ func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType return api.ReplyMessage } func (*SwInterfaceIP6SetLinkLocalAddressReply) GetCrcString() string { - return "0a781e17" + return "e8d4e804" } func NewSwInterfaceIP6SetLinkLocalAddressReply() api.Message { return &SwInterfaceIP6SetLinkLocalAddressReply{} } // IPAddDelRoute represents the VPP binary API message 'ip_add_del_route'. -// Generated from '../../bin_api/ip.api.json', line 210: -// -// ["ip_add_del_route", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "next_hop_sw_if_index"], -// ["u32", "table_id"], -// ["u32", "classify_table_index"], -// ["u32", "next_hop_table_id"], -// ["u8", "create_vrf_if_needed"], -// ["u8", "is_add"], -// ["u8", "is_drop"], -// ["u8", "is_unreach"], -// ["u8", "is_prohibit"], -// ["u8", "is_ipv6"], -// ["u8", "is_local"], -// ["u8", "is_classify"], -// ["u8", "is_multipath"], -// ["u8", "is_resolve_host"], -// ["u8", "is_resolve_attached"], -// ["u8", "not_last"], -// ["u8", "next_hop_weight"], -// ["u8", "dst_address_length"], -// ["u8", "dst_address", 16], -// ["u8", "next_hop_address", 16], -// ["u8", "next_hop_n_out_labels"], -// ["u32", "next_hop_via_label"], -// ["u32", "next_hop_out_label_stack", 0, "next_hop_n_out_labels"], -// {"crc" : "0xa0ab24bf"} -// ], +// Generated from '../../bin_api/ip.api.json', line 912: +// +// "ip_add_del_route", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "next_hop_sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u32", +// "classify_table_index" +// ], +// [ +// "u32", +// "next_hop_table_id" +// ], +// [ +// "u32", +// "next_hop_id" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_drop" +// ], +// [ +// "u8", +// "is_unreach" +// ], +// [ +// "u8", +// "is_prohibit" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "is_local" +// ], +// [ +// "u8", +// "is_classify" +// ], +// [ +// "u8", +// "is_multipath" +// ], +// [ +// "u8", +// "is_resolve_host" +// ], +// [ +// "u8", +// "is_resolve_attached" +// ], +// [ +// "u8", +// "is_dvr" +// ], +// [ +// "u8", +// "is_source_lookup" +// ], +// [ +// "u8", +// "is_udp_encap" +// ], +// [ +// "u8", +// "next_hop_weight" +// ], +// [ +// "u8", +// "next_hop_preference" +// ], +// [ +// "u8", +// "next_hop_proto" +// ], +// [ +// "u8", +// "dst_address_length" +// ], +// [ +// "u8", +// "dst_address", +// 16 +// ], +// [ +// "u8", +// "next_hop_address", +// 16 +// ], +// [ +// "u8", +// "next_hop_n_out_labels" +// ], +// [ +// "u32", +// "next_hop_via_label" +// ], +// [ +// "u32", +// "next_hop_out_label_stack", +// 0, +// "next_hop_n_out_labels" +// ], +// { +// "crc": "0xc85f8290" +// } // type IPAddDelRoute struct { NextHopSwIfIndex uint32 TableID uint32 ClassifyTableIndex uint32 NextHopTableID uint32 - CreateVrfIfNeeded uint8 + NextHopID uint32 IsAdd uint8 IsDrop uint8 IsUnreach uint8 @@ -796,8 +1462,12 @@ type IPAddDelRoute struct { IsMultipath uint8 IsResolveHost uint8 IsResolveAttached uint8 - NotLast uint8 + IsDvr uint8 + IsSourceLookup uint8 + IsUDPEncap uint8 NextHopWeight uint8 + NextHopPreference uint8 + NextHopProto uint8 DstAddressLength uint8 DstAddress []byte `struc:"[16]byte"` NextHopAddress []byte `struc:"[16]byte"` @@ -813,21 +1483,31 @@ func (*IPAddDelRoute) GetMessageType() api.MessageType { return api.RequestMessage } func (*IPAddDelRoute) GetCrcString() string { - return "a0ab24bf" + return "c85f8290" } func NewIPAddDelRoute() api.Message { return &IPAddDelRoute{} } // IPAddDelRouteReply represents the VPP binary API message 'ip_add_del_route_reply'. -// Generated from '../../bin_api/ip.api.json', line 239: -// -// ["ip_add_del_route_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0xea57492b"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1042: +// +// "ip_add_del_route_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPAddDelRouteReply struct { Retval int32 @@ -840,47 +1520,100 @@ func (*IPAddDelRouteReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*IPAddDelRouteReply) GetCrcString() string { - return "ea57492b" + return "e8d4e804" } func NewIPAddDelRouteReply() api.Message { return &IPAddDelRouteReply{} } // IPMrouteAddDel represents the VPP binary API message 'ip_mroute_add_del'. -// Generated from '../../bin_api/ip.api.json', line 245: -// -// ["ip_mroute_add_del", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "next_hop_sw_if_index"], -// ["u32", "table_id"], -// ["u32", "entry_flags"], -// ["u32", "itf_flags"], -// ["u32", "rpf_id"], -// ["u16", "grp_address_length"], -// ["u8", "create_vrf_if_needed"], -// ["u8", "is_add"], -// ["u8", "is_ipv6"], -// ["u8", "is_local"], -// ["u8", "grp_address", 16], -// ["u8", "src_address", 16], -// {"crc" : "0x8f5f21a8"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1060: +// +// "ip_mroute_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "next_hop_sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u32", +// "entry_flags" +// ], +// [ +// "u32", +// "itf_flags" +// ], +// [ +// "u32", +// "rpf_id" +// ], +// [ +// "u32", +// "bier_imp" +// ], +// [ +// "u16", +// "grp_address_length" +// ], +// [ +// "u8", +// "next_hop_afi" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "is_local" +// ], +// [ +// "u8", +// "grp_address", +// 16 +// ], +// [ +// "u8", +// "src_address", +// 16 +// ], +// { +// "crc": "0xc37112f7" +// } // type IPMrouteAddDel struct { - NextHopSwIfIndex uint32 - TableID uint32 - EntryFlags uint32 - ItfFlags uint32 - RpfID uint32 - GrpAddressLength uint16 - CreateVrfIfNeeded uint8 - IsAdd uint8 - IsIpv6 uint8 - IsLocal uint8 - GrpAddress []byte `struc:"[16]byte"` - SrcAddress []byte `struc:"[16]byte"` + NextHopSwIfIndex uint32 + TableID uint32 + EntryFlags uint32 + ItfFlags uint32 + RpfID uint32 + BierImp uint32 + GrpAddressLength uint16 + NextHopAfi uint8 + IsAdd uint8 + IsIpv6 uint8 + IsLocal uint8 + GrpAddress []byte `struc:"[16]byte"` + SrcAddress []byte `struc:"[16]byte"` } func (*IPMrouteAddDel) GetMessageName() string { @@ -890,21 +1623,31 @@ func (*IPMrouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage } func (*IPMrouteAddDel) GetCrcString() string { - return "8f5f21a8" + return "c37112f7" } func NewIPMrouteAddDel() api.Message { return &IPMrouteAddDel{} } // IPMrouteAddDelReply represents the VPP binary API message 'ip_mroute_add_del_reply'. -// Generated from '../../bin_api/ip.api.json', line 263: -// -// ["ip_mroute_add_del_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x8cabe02c"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1132: +// +// "ip_mroute_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type IPMrouteAddDelReply struct { Retval int32 @@ -917,21 +1660,31 @@ func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*IPMrouteAddDelReply) GetCrcString() string { - return "8cabe02c" + return "e8d4e804" } func NewIPMrouteAddDelReply() api.Message { return &IPMrouteAddDelReply{} } // IPMfibDump represents the VPP binary API message 'ip_mfib_dump'. -// Generated from '../../bin_api/ip.api.json', line 269: -// -// ["ip_mfib_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0xee61390e"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1150: +// +// "ip_mfib_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type IPMfibDump struct { } @@ -943,28 +1696,63 @@ func (*IPMfibDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*IPMfibDump) GetCrcString() string { - return "ee61390e" + return "51077d14" } func NewIPMfibDump() api.Message { return &IPMfibDump{} } // IPMfibDetails represents the VPP binary API message 'ip_mfib_details'. -// Generated from '../../bin_api/ip.api.json', line 275: -// -// ["ip_mfib_details", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "table_id"], -// ["u32", "entry_flags"], -// ["u32", "rpf_id"], -// ["u8", "address_length"], -// ["u8", "grp_address", 4], -// ["u8", "src_address", 4], -// ["u32", "count"], -// ["vl_api_fib_path_t", "path", 0, "count"], -// {"crc" : "0x395e5699"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1168: +// +// "ip_mfib_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u32", +// "entry_flags" +// ], +// [ +// "u32", +// "rpf_id" +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "grp_address", +// 4 +// ], +// [ +// "u8", +// "src_address", +// 4 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_fib_path_t", +// "path", +// 0, +// "count" +// ], +// { +// "crc": "0x5e530d5e" +// } // type IPMfibDetails struct { TableID uint32 @@ -984,21 +1772,31 @@ func (*IPMfibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*IPMfibDetails) GetCrcString() string { - return "395e5699" + return "5e530d5e" } func NewIPMfibDetails() api.Message { return &IPMfibDetails{} } // IP6MfibDump represents the VPP binary API message 'ip6_mfib_dump'. -// Generated from '../../bin_api/ip.api.json', line 288: -// -// ["ip6_mfib_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0x0839e143"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1218: +// +// "ip6_mfib_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type IP6MfibDump struct { } @@ -1010,26 +1808,55 @@ func (*IP6MfibDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*IP6MfibDump) GetCrcString() string { - return "0839e143" + return "51077d14" } func NewIP6MfibDump() api.Message { return &IP6MfibDump{} } // IP6MfibDetails represents the VPP binary API message 'ip6_mfib_details'. -// Generated from '../../bin_api/ip.api.json', line 294: -// -// ["ip6_mfib_details", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "table_id"], -// ["u8", "address_length"], -// ["u8", "grp_address", 16], -// ["u8", "src_address", 16], -// ["u32", "count"], -// ["vl_api_fib_path_t", "path", 0, "count"], -// {"crc" : "0x921b153f"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1236: +// +// "ip6_mfib_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u8", +// "grp_address", +// 16 +// ], +// [ +// "u8", +// "src_address", +// 16 +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_fib_path_t", +// "path", +// 0, +// "count" +// ], +// { +// "crc": "0xe02dcb4b" +// } // type IP6MfibDetails struct { TableID uint32 @@ -1047,25 +1874,48 @@ func (*IP6MfibDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*IP6MfibDetails) GetCrcString() string { - return "921b153f" + return "e02dcb4b" } func NewIP6MfibDetails() api.Message { return &IP6MfibDetails{} } // IPAddressDetails represents the VPP binary API message 'ip_address_details'. -// Generated from '../../bin_api/ip.api.json', line 305: -// -// ["ip_address_details", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "ip", 16], -// ["u8", "prefix_length"], -// ["u32", "sw_if_index"], -// ["u8", "is_ipv6"], -// {"crc" : "0x190d4266"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1278: +// +// "ip_address_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "ip", +// 16 +// ], +// [ +// "u8", +// "prefix_length" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0xbc7442f2" +// } // type IPAddressDetails struct { IP []byte `struc:"[16]byte"` @@ -1081,23 +1931,39 @@ func (*IPAddressDetails) GetMessageType() api.MessageType { return api.RequestMessage } func (*IPAddressDetails) GetCrcString() string { - return "190d4266" + return "bc7442f2" } func NewIPAddressDetails() api.Message { return &IPAddressDetails{} } // IPAddressDump represents the VPP binary API message 'ip_address_dump'. -// Generated from '../../bin_api/ip.api.json', line 315: -// -// ["ip_address_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "is_ipv6"], -// {"crc" : "0x632e859a"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1313: +// +// "ip_address_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x6b7bcd0a" +// } // type IPAddressDump struct { SwIfIndex uint32 @@ -1111,22 +1977,35 @@ func (*IPAddressDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*IPAddressDump) GetCrcString() string { - return "632e859a" + return "6b7bcd0a" } func NewIPAddressDump() api.Message { return &IPAddressDump{} } // IPDetails represents the VPP binary API message 'ip_details'. -// Generated from '../../bin_api/ip.api.json', line 323: -// -// ["ip_details", -// ["u16", "_vl_msg_id"], -// ["u32", "sw_if_index"], -// ["u32", "context"], -// ["u8", "is_ipv6"], -// {"crc" : "0x695c8227"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1339: +// +// "ip_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x452ffc5a" +// } // type IPDetails struct { SwIfIndex uint32 @@ -1141,22 +2020,35 @@ func (*IPDetails) GetMessageType() api.MessageType { return api.OtherMessage } func (*IPDetails) GetCrcString() string { - return "695c8227" + return "452ffc5a" } func NewIPDetails() api.Message { return &IPDetails{} } // IPDump represents the VPP binary API message 'ip_dump'. -// Generated from '../../bin_api/ip.api.json', line 330: -// -// ["ip_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "is_ipv6"], -// {"crc" : "0x3c1e33e0"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1361: +// +// "ip_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0xde883da4" +// } // type IPDump struct { IsIpv6 uint8 @@ -1169,21 +2061,31 @@ func (*IPDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*IPDump) GetCrcString() string { - return "3c1e33e0" + return "de883da4" } func NewIPDump() api.Message { return &IPDump{} } // MfibSignalDump represents the VPP binary API message 'mfib_signal_dump'. -// Generated from '../../bin_api/ip.api.json', line 337: -// -// ["mfib_signal_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0xbbbbd40d"} -// ], +// Generated from '../../bin_api/ip.api.json', line 1383: +// +// "mfib_signal_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type MfibSignalDump struct { } @@ -1195,28 +2097,62 @@ func (*MfibSignalDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*MfibSignalDump) GetCrcString() string { - return "bbbbd40d" + return "51077d14" } func NewMfibSignalDump() api.Message { return &MfibSignalDump{} } // MfibSignalDetails represents the VPP binary API message 'mfib_signal_details'. -// Generated from '../../bin_api/ip.api.json', line 343: -// -// ["mfib_signal_details", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u32", "table_id"], -// ["u16", "grp_address_len"], -// ["u8", "grp_address", 16], -// ["u8", "src_address", 16], -// ["u16", "ip_packet_len"], -// ["u8", "ip_packet_data", 256], -// {"crc" : "0x6ba92c72"} -// ] +// Generated from '../../bin_api/ip.api.json', line 1401: +// +// "mfib_signal_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "table_id" +// ], +// [ +// "u16", +// "grp_address_len" +// ], +// [ +// "u8", +// "grp_address", +// 16 +// ], +// [ +// "u8", +// "src_address", +// 16 +// ], +// [ +// "u16", +// "ip_packet_len" +// ], +// [ +// "u8", +// "ip_packet_data", +// 256 +// ], +// { +// "crc": "0x791bbeab" +// } // type MfibSignalDetails struct { SwIfIndex uint32 @@ -1235,8 +2171,1332 @@ func (*MfibSignalDetails) GetMessageType() api.MessageType { return api.RequestMessage } func (*MfibSignalDetails) GetCrcString() string { - return "6ba92c72" + return "791bbeab" } func NewMfibSignalDetails() api.Message { return &MfibSignalDetails{} } + +// IPPuntPolice represents the VPP binary API message 'ip_punt_police'. +// Generated from '../../bin_api/ip.api.json', line 1450: +// +// "ip_punt_police", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "policer_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_ip6" +// ], +// { +// "crc": "0x38691592" +// } +// +type IPPuntPolice struct { + PolicerIndex uint32 + IsAdd uint8 + IsIP6 uint8 +} + +func (*IPPuntPolice) GetMessageName() string { + return "ip_punt_police" +} +func (*IPPuntPolice) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*IPPuntPolice) GetCrcString() string { + return "38691592" +} +func NewIPPuntPolice() api.Message { + return &IPPuntPolice{} +} + +// IPPuntPoliceReply represents the VPP binary API message 'ip_punt_police_reply'. +// Generated from '../../bin_api/ip.api.json', line 1480: +// +// "ip_punt_police_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPPuntPoliceReply struct { + Retval int32 +} + +func (*IPPuntPoliceReply) GetMessageName() string { + return "ip_punt_police_reply" +} +func (*IPPuntPoliceReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*IPPuntPoliceReply) GetCrcString() string { + return "e8d4e804" +} +func NewIPPuntPoliceReply() api.Message { + return &IPPuntPoliceReply{} +} + +// IPPuntRedirect represents the VPP binary API message 'ip_punt_redirect'. +// Generated from '../../bin_api/ip.api.json', line 1498: +// +// "ip_punt_redirect", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "rx_sw_if_index" +// ], +// [ +// "u32", +// "tx_sw_if_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "is_ip6" +// ], +// [ +// "u8", +// "nh", +// 16 +// ], +// { +// "crc": "0x996b6603" +// } +// +type IPPuntRedirect struct { + RxSwIfIndex uint32 + TxSwIfIndex uint32 + IsAdd uint8 + IsIP6 uint8 + Nh []byte `struc:"[16]byte"` +} + +func (*IPPuntRedirect) GetMessageName() string { + return "ip_punt_redirect" +} +func (*IPPuntRedirect) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*IPPuntRedirect) GetCrcString() string { + return "996b6603" +} +func NewIPPuntRedirect() api.Message { + return &IPPuntRedirect{} +} + +// IPPuntRedirectReply represents the VPP binary API message 'ip_punt_redirect_reply'. +// Generated from '../../bin_api/ip.api.json', line 1537: +// +// "ip_punt_redirect_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPPuntRedirectReply struct { + Retval int32 +} + +func (*IPPuntRedirectReply) GetMessageName() string { + return "ip_punt_redirect_reply" +} +func (*IPPuntRedirectReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*IPPuntRedirectReply) GetCrcString() string { + return "e8d4e804" +} +func NewIPPuntRedirectReply() api.Message { + return &IPPuntRedirectReply{} +} + +// IPContainerProxyAddDel represents the VPP binary API message 'ip_container_proxy_add_del'. +// Generated from '../../bin_api/ip.api.json', line 1555: +// +// "ip_container_proxy_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "ip", +// 16 +// ], +// [ +// "u8", +// "is_ip4" +// ], +// [ +// "u8", +// "plen" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "is_add" +// ], +// { +// "crc": "0x0a355d39" +// } +// +type IPContainerProxyAddDel struct { + IP []byte `struc:"[16]byte"` + IsIP4 uint8 + Plen uint8 + SwIfIndex uint32 + IsAdd uint8 +} + +func (*IPContainerProxyAddDel) GetMessageName() string { + return "ip_container_proxy_add_del" +} +func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*IPContainerProxyAddDel) GetCrcString() string { + return "0a355d39" +} +func NewIPContainerProxyAddDel() api.Message { + return &IPContainerProxyAddDel{} +} + +// IPContainerProxyAddDelReply represents the VPP binary API message 'ip_container_proxy_add_del_reply'. +// Generated from '../../bin_api/ip.api.json', line 1594: +// +// "ip_container_proxy_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPContainerProxyAddDelReply struct { + Retval int32 +} + +func (*IPContainerProxyAddDelReply) GetMessageName() string { + return "ip_container_proxy_add_del_reply" +} +func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*IPContainerProxyAddDelReply) GetCrcString() string { + return "e8d4e804" +} +func NewIPContainerProxyAddDelReply() api.Message { + return &IPContainerProxyAddDelReply{} +} + +// IPSourceAndPortRangeCheckAddDel represents the VPP binary API message 'ip_source_and_port_range_check_add_del'. +// Generated from '../../bin_api/ip.api.json', line 1612: +// +// "ip_source_and_port_range_check_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "mask_length" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// [ +// "u8", +// "number_of_ranges" +// ], +// [ +// "u16", +// "low_ports", +// 32 +// ], +// [ +// "u16", +// "high_ports", +// 32 +// ], +// [ +// "u32", +// "vrf_id" +// ], +// { +// "crc": "0x03d6b03a" +// } +// +type IPSourceAndPortRangeCheckAddDel struct { + IsIpv6 uint8 + IsAdd uint8 + MaskLength uint8 + Address []byte `struc:"[16]byte"` + NumberOfRanges uint8 + LowPorts []uint16 `struc:"[32]uint16"` + HighPorts []uint16 `struc:"[32]uint16"` + VrfID uint32 +} + +func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string { + return "ip_source_and_port_range_check_add_del" +} +func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string { + return "03d6b03a" +} +func NewIPSourceAndPortRangeCheckAddDel() api.Message { + return &IPSourceAndPortRangeCheckAddDel{} +} + +// IPSourceAndPortRangeCheckAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_add_del_reply'. +// Generated from '../../bin_api/ip.api.json', line 1665: +// +// "ip_source_and_port_range_check_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPSourceAndPortRangeCheckAddDelReply struct { + Retval int32 +} + +func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string { + return "ip_source_and_port_range_check_add_del_reply" +} +func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string { + return "e8d4e804" +} +func NewIPSourceAndPortRangeCheckAddDelReply() api.Message { + return &IPSourceAndPortRangeCheckAddDelReply{} +} + +// IPSourceAndPortRangeCheckInterfaceAddDel represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del'. +// Generated from '../../bin_api/ip.api.json', line 1683: +// +// "ip_source_and_port_range_check_interface_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u32", +// "tcp_in_vrf_id" +// ], +// [ +// "u32", +// "tcp_out_vrf_id" +// ], +// [ +// "u32", +// "udp_in_vrf_id" +// ], +// [ +// "u32", +// "udp_out_vrf_id" +// ], +// { +// "crc": "0x6966bc44" +// } +// +type IPSourceAndPortRangeCheckInterfaceAddDel struct { + IsAdd uint8 + SwIfIndex uint32 + TCPInVrfID uint32 + TCPOutVrfID uint32 + UDPInVrfID uint32 + UDPOutVrfID uint32 +} + +func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string { + return "ip_source_and_port_range_check_interface_add_del" +} +func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string { + return "6966bc44" +} +func NewIPSourceAndPortRangeCheckInterfaceAddDel() api.Message { + return &IPSourceAndPortRangeCheckInterfaceAddDel{} +} + +// IPSourceAndPortRangeCheckInterfaceAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'. +// Generated from '../../bin_api/ip.api.json', line 1725: +// +// "ip_source_and_port_range_check_interface_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IPSourceAndPortRangeCheckInterfaceAddDelReply struct { + Retval int32 +} + +func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string { + return "ip_source_and_port_range_check_interface_add_del_reply" +} +func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string { + return "e8d4e804" +} +func NewIPSourceAndPortRangeCheckInterfaceAddDelReply() api.Message { + return &IPSourceAndPortRangeCheckInterfaceAddDelReply{} +} + +// WantIP4ArpEvents represents the VPP binary API message 'want_ip4_arp_events'. +// Generated from '../../bin_api/ip.api.json', line 1743: +// +// "want_ip4_arp_events", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "address" +// ], +// { +// "crc": "0x77e06379" +// } +// +type WantIP4ArpEvents struct { + EnableDisable uint8 + Pid uint32 + Address uint32 +} + +func (*WantIP4ArpEvents) GetMessageName() string { + return "want_ip4_arp_events" +} +func (*WantIP4ArpEvents) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantIP4ArpEvents) GetCrcString() string { + return "77e06379" +} +func NewWantIP4ArpEvents() api.Message { + return &WantIP4ArpEvents{} +} + +// WantIP4ArpEventsReply represents the VPP binary API message 'want_ip4_arp_events_reply'. +// Generated from '../../bin_api/ip.api.json', line 1773: +// +// "want_ip4_arp_events_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantIP4ArpEventsReply struct { + Retval int32 +} + +func (*WantIP4ArpEventsReply) GetMessageName() string { + return "want_ip4_arp_events_reply" +} +func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantIP4ArpEventsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantIP4ArpEventsReply() api.Message { + return &WantIP4ArpEventsReply{} +} + +// IP4ArpEvent represents the VPP binary API message 'ip4_arp_event'. +// Generated from '../../bin_api/ip.api.json', line 1791: +// +// "ip4_arp_event", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "address" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "new_mac", +// 6 +// ], +// [ +// "u8", +// "mac_ip" +// ], +// { +// "crc": "0xef7235f7" +// } +// +type IP4ArpEvent struct { + Address uint32 + Pid uint32 + SwIfIndex uint32 + NewMac []byte `struc:"[6]byte"` + MacIP uint8 +} + +func (*IP4ArpEvent) GetMessageName() string { + return "ip4_arp_event" +} +func (*IP4ArpEvent) GetMessageType() api.MessageType { + return api.EventMessage +} +func (*IP4ArpEvent) GetCrcString() string { + return "ef7235f7" +} +func NewIP4ArpEvent() api.Message { + return &IP4ArpEvent{} +} + +// WantIP6NdEvents represents the VPP binary API message 'want_ip6_nd_events'. +// Generated from '../../bin_api/ip.api.json', line 1826: +// +// "want_ip6_nd_events", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// { +// "crc": "0x1cf65fbb" +// } +// +type WantIP6NdEvents struct { + EnableDisable uint8 + Pid uint32 + Address []byte `struc:"[16]byte"` +} + +func (*WantIP6NdEvents) GetMessageName() string { + return "want_ip6_nd_events" +} +func (*WantIP6NdEvents) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantIP6NdEvents) GetCrcString() string { + return "1cf65fbb" +} +func NewWantIP6NdEvents() api.Message { + return &WantIP6NdEvents{} +} + +// WantIP6NdEventsReply represents the VPP binary API message 'want_ip6_nd_events_reply'. +// Generated from '../../bin_api/ip.api.json', line 1857: +// +// "want_ip6_nd_events_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantIP6NdEventsReply struct { + Retval int32 +} + +func (*WantIP6NdEventsReply) GetMessageName() string { + return "want_ip6_nd_events_reply" +} +func (*WantIP6NdEventsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantIP6NdEventsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantIP6NdEventsReply() api.Message { + return &WantIP6NdEventsReply{} +} + +// IP6NdEvent represents the VPP binary API message 'ip6_nd_event'. +// Generated from '../../bin_api/ip.api.json', line 1875: +// +// "ip6_nd_event", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "address", +// 16 +// ], +// [ +// "u8", +// "new_mac", +// 6 +// ], +// [ +// "u8", +// "mac_ip" +// ], +// { +// "crc": "0x96ab2fdd" +// } +// +type IP6NdEvent struct { + Pid uint32 + SwIfIndex uint32 + Address []byte `struc:"[16]byte"` + NewMac []byte `struc:"[6]byte"` + MacIP uint8 +} + +func (*IP6NdEvent) GetMessageName() string { + return "ip6_nd_event" +} +func (*IP6NdEvent) GetMessageType() api.MessageType { + return api.EventMessage +} +func (*IP6NdEvent) GetCrcString() string { + return "96ab2fdd" +} +func NewIP6NdEvent() api.Message { + return &IP6NdEvent{} +} + +// ProxyArpAddDel represents the VPP binary API message 'proxy_arp_add_del'. +// Generated from '../../bin_api/ip.api.json', line 1911: +// +// "proxy_arp_add_del", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u8", +// "is_add" +// ], +// [ +// "u8", +// "low_address", +// 4 +// ], +// [ +// "u8", +// "hi_address", +// 4 +// ], +// { +// "crc": "0xc2442918" +// } +// +type ProxyArpAddDel struct { + VrfID uint32 + IsAdd uint8 + LowAddress []byte `struc:"[4]byte"` + HiAddress []byte `struc:"[4]byte"` +} + +func (*ProxyArpAddDel) GetMessageName() string { + return "proxy_arp_add_del" +} +func (*ProxyArpAddDel) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*ProxyArpAddDel) GetCrcString() string { + return "c2442918" +} +func NewProxyArpAddDel() api.Message { + return &ProxyArpAddDel{} +} + +// ProxyArpAddDelReply represents the VPP binary API message 'proxy_arp_add_del_reply'. +// Generated from '../../bin_api/ip.api.json', line 1947: +// +// "proxy_arp_add_del_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type ProxyArpAddDelReply struct { + Retval int32 +} + +func (*ProxyArpAddDelReply) GetMessageName() string { + return "proxy_arp_add_del_reply" +} +func (*ProxyArpAddDelReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*ProxyArpAddDelReply) GetCrcString() string { + return "e8d4e804" +} +func NewProxyArpAddDelReply() api.Message { + return &ProxyArpAddDelReply{} +} + +// ProxyArpIntfcEnableDisable represents the VPP binary API message 'proxy_arp_intfc_enable_disable'. +// Generated from '../../bin_api/ip.api.json', line 1965: +// +// "proxy_arp_intfc_enable_disable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "enable_disable" +// ], +// { +// "crc": "0x69d24598" +// } +// +type ProxyArpIntfcEnableDisable struct { + SwIfIndex uint32 + EnableDisable uint8 +} + +func (*ProxyArpIntfcEnableDisable) GetMessageName() string { + return "proxy_arp_intfc_enable_disable" +} +func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*ProxyArpIntfcEnableDisable) GetCrcString() string { + return "69d24598" +} +func NewProxyArpIntfcEnableDisable() api.Message { + return &ProxyArpIntfcEnableDisable{} +} + +// ProxyArpIntfcEnableDisableReply represents the VPP binary API message 'proxy_arp_intfc_enable_disable_reply'. +// Generated from '../../bin_api/ip.api.json', line 1991: +// +// "proxy_arp_intfc_enable_disable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type ProxyArpIntfcEnableDisableReply struct { + Retval int32 +} + +func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string { + return "proxy_arp_intfc_enable_disable_reply" +} +func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string { + return "e8d4e804" +} +func NewProxyArpIntfcEnableDisableReply() api.Message { + return &ProxyArpIntfcEnableDisableReply{} +} + +// ResetFib represents the VPP binary API message 'reset_fib'. +// Generated from '../../bin_api/ip.api.json', line 2009: +// +// "reset_fib", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// { +// "crc": "0x8553ebd9" +// } +// +type ResetFib struct { + VrfID uint32 + IsIpv6 uint8 +} + +func (*ResetFib) GetMessageName() string { + return "reset_fib" +} +func (*ResetFib) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*ResetFib) GetCrcString() string { + return "8553ebd9" +} +func NewResetFib() api.Message { + return &ResetFib{} +} + +// ResetFibReply represents the VPP binary API message 'reset_fib_reply'. +// Generated from '../../bin_api/ip.api.json', line 2035: +// +// "reset_fib_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type ResetFibReply struct { + Retval int32 +} + +func (*ResetFibReply) GetMessageName() string { + return "reset_fib_reply" +} +func (*ResetFibReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*ResetFibReply) GetCrcString() string { + return "e8d4e804" +} +func NewResetFibReply() api.Message { + return &ResetFibReply{} +} + +// SetArpNeighborLimit represents the VPP binary API message 'set_arp_neighbor_limit'. +// Generated from '../../bin_api/ip.api.json', line 2053: +// +// "set_arp_neighbor_limit", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "is_ipv6" +// ], +// [ +// "u32", +// "arp_neighbor_limit" +// ], +// { +// "crc": "0x97d01fd6" +// } +// +type SetArpNeighborLimit struct { + IsIpv6 uint8 + ArpNeighborLimit uint32 +} + +func (*SetArpNeighborLimit) GetMessageName() string { + return "set_arp_neighbor_limit" +} +func (*SetArpNeighborLimit) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*SetArpNeighborLimit) GetCrcString() string { + return "97d01fd6" +} +func NewSetArpNeighborLimit() api.Message { + return &SetArpNeighborLimit{} +} + +// SetArpNeighborLimitReply represents the VPP binary API message 'set_arp_neighbor_limit_reply'. +// Generated from '../../bin_api/ip.api.json', line 2079: +// +// "set_arp_neighbor_limit_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type SetArpNeighborLimitReply struct { + Retval int32 +} + +func (*SetArpNeighborLimitReply) GetMessageName() string { + return "set_arp_neighbor_limit_reply" +} +func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*SetArpNeighborLimitReply) GetCrcString() string { + return "e8d4e804" +} +func NewSetArpNeighborLimitReply() api.Message { + return &SetArpNeighborLimitReply{} +} + +// IoamEnable represents the VPP binary API message 'ioam_enable'. +// Generated from '../../bin_api/ip.api.json', line 2097: +// +// "ioam_enable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u16", +// "id" +// ], +// [ +// "u8", +// "seqno" +// ], +// [ +// "u8", +// "analyse" +// ], +// [ +// "u8", +// "pot_enable" +// ], +// [ +// "u8", +// "trace_enable" +// ], +// [ +// "u32", +// "node_id" +// ], +// { +// "crc": "0x9392e032" +// } +// +type IoamEnable struct { + ID uint16 + Seqno uint8 + Analyse uint8 + PotEnable uint8 + TraceEnable uint8 + NodeID uint32 +} + +func (*IoamEnable) GetMessageName() string { + return "ioam_enable" +} +func (*IoamEnable) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*IoamEnable) GetCrcString() string { + return "9392e032" +} +func NewIoamEnable() api.Message { + return &IoamEnable{} +} + +// IoamEnableReply represents the VPP binary API message 'ioam_enable_reply'. +// Generated from '../../bin_api/ip.api.json', line 2139: +// +// "ioam_enable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IoamEnableReply struct { + Retval int32 +} + +func (*IoamEnableReply) GetMessageName() string { + return "ioam_enable_reply" +} +func (*IoamEnableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*IoamEnableReply) GetCrcString() string { + return "e8d4e804" +} +func NewIoamEnableReply() api.Message { + return &IoamEnableReply{} +} + +// IoamDisable represents the VPP binary API message 'ioam_disable'. +// Generated from '../../bin_api/ip.api.json', line 2157: +// +// "ioam_disable", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u16", +// "id" +// ], +// { +// "crc": "0x6b16a45e" +// } +// +type IoamDisable struct { + ID uint16 +} + +func (*IoamDisable) GetMessageName() string { + return "ioam_disable" +} +func (*IoamDisable) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*IoamDisable) GetCrcString() string { + return "6b16a45e" +} +func NewIoamDisable() api.Message { + return &IoamDisable{} +} + +// IoamDisableReply represents the VPP binary API message 'ioam_disable_reply'. +// Generated from '../../bin_api/ip.api.json', line 2179: +// +// "ioam_disable_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type IoamDisableReply struct { + Retval int32 +} + +func (*IoamDisableReply) GetMessageName() string { + return "ioam_disable_reply" +} +func (*IoamDisableReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*IoamDisableReply) GetCrcString() string { + return "e8d4e804" +} +func NewIoamDisableReply() api.Message { + return &IoamDisableReply{} +} diff --git a/examples/bin_api/memif.api.json b/examples/bin_api/memif.api.json index fd38316..dea1924 100644 --- a/examples/bin_api/memif.api.json +++ b/examples/bin_api/memif.api.json @@ -1,66 +1,227 @@ { - "types" : [ - + "services": [ + { + "memif_dump": { + "reply": "memif_details", + "stream": true + } + }, + { + "memif_create": { + "reply": "memif_create_reply" + } + }, + { + "memif_delete": { + "reply": "memif_delete_reply" + } + } ], - "messages" : [ - ["memif_create", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "role"], - ["u8", "mode"], - ["u8", "rx_queues"], - ["u8", "tx_queues"], - ["u32", "id"], - ["u8", "socket_filename", 128], - ["u8", "secret", 24], - ["u32", "ring_size"], - ["u16", "buffer_size"], - ["u8", "hw_addr", 6], - {"crc" : "0xc809c235"} + "vl_api_version": "0x824c4ae0", + "enums": [], + "messages": [ + [ + "memif_create", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "role" + ], + [ + "u8", + "mode" + ], + [ + "u8", + "rx_queues" + ], + [ + "u8", + "tx_queues" + ], + [ + "u32", + "id" + ], + [ + "u8", + "socket_filename", + 128 + ], + [ + "u8", + "secret", + 24 + ], + [ + "u32", + "ring_size" + ], + [ + "u16", + "buffer_size" + ], + [ + "u8", + "hw_addr", + 6 + ], + { + "crc": "0x3551c914" + } ], - ["memif_create_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x93d7498b"} + [ + "memif_create_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0xfda5941f" + } ], - ["memif_delete", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - {"crc" : "0x12814e3d"} + [ + "memif_delete", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0x529cb13f" + } ], - ["memif_delete_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x72c9fa3c"} + [ + "memif_delete_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } ], - ["memif_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "if_name", 64], - ["u8", "hw_addr", 6], - ["u32", "id"], - ["u8", "role"], - ["u8", "mode"], - ["u8", "socket_filename", 128], - ["u32", "ring_size"], - ["u16", "buffer_size"], - ["u8", "admin_up_down"], - ["u8", "link_up_down"], - {"crc" : "0x4d74fd96"} + [ + "memif_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "if_name", + 64 + ], + [ + "u8", + "hw_addr", + 6 + ], + [ + "u32", + "id" + ], + [ + "u8", + "role" + ], + [ + "u8", + "mode" + ], + [ + "u8", + "socket_filename", + 128 + ], + [ + "u32", + "ring_size" + ], + [ + "u16", + "buffer_size" + ], + [ + "u8", + "admin_up_down" + ], + [ + "u8", + "link_up_down" + ], + { + "crc": "0x0e1da928" + } ], - ["memif_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0x68d39e95"} + [ + "memif_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } ] ], -"vl_api_version" :"0xed3def5d" + "types": [] } diff --git a/examples/bin_api/memif/memif.go b/examples/bin_api/memif/memif.go index 6ff81de..3f6ad02 100644 --- a/examples/bin_api/memif/memif.go +++ b/examples/bin_api/memif/memif.go @@ -6,27 +6,70 @@ package memif import "git.fd.io/govpp.git/api" // VlApiVersion contains version of the API. -const VlAPIVersion = 0xed3def5d +const VlAPIVersion = 0x824c4ae0 // MemifCreate represents the VPP binary API message 'memif_create'. -// Generated from '../../bin_api/memif.api.json', line 6: +// Generated from '../../bin_api/memif.api.json', line 24: // -// ["memif_create", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "role"], -// ["u8", "mode"], -// ["u8", "rx_queues"], -// ["u8", "tx_queues"], -// ["u32", "id"], -// ["u8", "socket_filename", 128], -// ["u8", "secret", 24], -// ["u32", "ring_size"], -// ["u16", "buffer_size"], -// ["u8", "hw_addr", 6], -// {"crc" : "0xc809c235"} -// ], +// "memif_create", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "role" +// ], +// [ +// "u8", +// "mode" +// ], +// [ +// "u8", +// "rx_queues" +// ], +// [ +// "u8", +// "tx_queues" +// ], +// [ +// "u32", +// "id" +// ], +// [ +// "u8", +// "socket_filename", +// 128 +// ], +// [ +// "u8", +// "secret", +// 24 +// ], +// [ +// "u32", +// "ring_size" +// ], +// [ +// "u16", +// "buffer_size" +// ], +// [ +// "u8", +// "hw_addr", +// 6 +// ], +// { +// "crc": "0x3551c914" +// } // type MemifCreate struct { Role uint8 @@ -48,22 +91,35 @@ func (*MemifCreate) GetMessageType() api.MessageType { return api.RequestMessage } func (*MemifCreate) GetCrcString() string { - return "c809c235" + return "3551c914" } func NewMemifCreate() api.Message { return &MemifCreate{} } // MemifCreateReply represents the VPP binary API message 'memif_create_reply'. -// Generated from '../../bin_api/memif.api.json', line 22: +// Generated from '../../bin_api/memif.api.json', line 85: // -// ["memif_create_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0x93d7498b"} -// ], +// "memif_create_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type MemifCreateReply struct { Retval int32 @@ -77,22 +133,35 @@ func (*MemifCreateReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*MemifCreateReply) GetCrcString() string { - return "93d7498b" + return "fda5941f" } func NewMemifCreateReply() api.Message { return &MemifCreateReply{} } // MemifDelete represents the VPP binary API message 'memif_delete'. -// Generated from '../../bin_api/memif.api.json', line 29: +// Generated from '../../bin_api/memif.api.json', line 107: // -// ["memif_delete", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// {"crc" : "0x12814e3d"} -// ], +// "memif_delete", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type MemifDelete struct { SwIfIndex uint32 @@ -105,21 +174,31 @@ func (*MemifDelete) GetMessageType() api.MessageType { return api.RequestMessage } func (*MemifDelete) GetCrcString() string { - return "12814e3d" + return "529cb13f" } func NewMemifDelete() api.Message { return &MemifDelete{} } // MemifDeleteReply represents the VPP binary API message 'memif_delete_reply'. -// Generated from '../../bin_api/memif.api.json', line 36: +// Generated from '../../bin_api/memif.api.json', line 129: // -// ["memif_delete_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x72c9fa3c"} -// ], +// "memif_delete_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type MemifDeleteReply struct { Retval int32 @@ -132,31 +211,74 @@ func (*MemifDeleteReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*MemifDeleteReply) GetCrcString() string { - return "72c9fa3c" + return "e8d4e804" } func NewMemifDeleteReply() api.Message { return &MemifDeleteReply{} } // MemifDetails represents the VPP binary API message 'memif_details'. -// Generated from '../../bin_api/memif.api.json', line 42: +// Generated from '../../bin_api/memif.api.json', line 147: // -// ["memif_details", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "if_name", 64], -// ["u8", "hw_addr", 6], -// ["u32", "id"], -// ["u8", "role"], -// ["u8", "mode"], -// ["u8", "socket_filename", 128], -// ["u32", "ring_size"], -// ["u16", "buffer_size"], -// ["u8", "admin_up_down"], -// ["u8", "link_up_down"], -// {"crc" : "0x4d74fd96"} -// ], +// "memif_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "if_name", +// 64 +// ], +// [ +// "u8", +// "hw_addr", +// 6 +// ], +// [ +// "u32", +// "id" +// ], +// [ +// "u8", +// "role" +// ], +// [ +// "u8", +// "mode" +// ], +// [ +// "u8", +// "socket_filename", +// 128 +// ], +// [ +// "u32", +// "ring_size" +// ], +// [ +// "u16", +// "buffer_size" +// ], +// [ +// "u8", +// "admin_up_down" +// ], +// [ +// "u8", +// "link_up_down" +// ], +// { +// "crc": "0x0e1da928" +// } // type MemifDetails struct { SwIfIndex uint32 @@ -179,21 +301,31 @@ func (*MemifDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*MemifDetails) GetCrcString() string { - return "4d74fd96" + return "0e1da928" } func NewMemifDetails() api.Message { return &MemifDetails{} } // MemifDump represents the VPP binary API message 'memif_dump'. -// Generated from '../../bin_api/memif.api.json', line 58: +// Generated from '../../bin_api/memif.api.json', line 208: // -// ["memif_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0x68d39e95"} -// ] +// "memif_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type MemifDump struct { } @@ -205,7 +337,7 @@ func (*MemifDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*MemifDump) GetCrcString() string { - return "68d39e95" + return "51077d14" } func NewMemifDump() api.Message { return &MemifDump{} diff --git a/examples/bin_api/stats.api.json b/examples/bin_api/stats.api.json new file mode 100644 index 0000000..3275811 --- /dev/null +++ b/examples/bin_api/stats.api.json @@ -0,0 +1,922 @@ +{ + "services": [ + { + "want_ip4_fib_stats": { + "reply": "want_ip4_fib_stats_reply" + } + }, + { + "want_ip4_mfib_stats": { + "reply": "want_ip4_mfib_stats_reply" + } + }, + { + "want_interface_combined_stats": { + "reply": "want_interface_combined_stats_reply" + } + }, + { + "want_ip6_fib_stats": { + "reply": "want_ip6_fib_stats_reply" + } + }, + { + "want_stats": { + "reply": "want_stats_reply" + } + }, + { + "want_per_interface_simple_stats": { + "reply": "want_per_interface_simple_stats_reply" + } + }, + { + "want_per_interface_combined_stats": { + "reply": "want_per_interface_combined_stats_reply" + } + }, + { + "vnet_get_summary_stats": { + "reply": "vnet_get_summary_stats_reply" + } + }, + { + "want_ip6_mfib_stats": { + "reply": "want_ip6_mfib_stats_reply" + } + }, + { + "want_interface_simple_stats": { + "reply": "want_interface_simple_stats_reply" + } + }, + { + "want_ip4_nbr_stats": { + "reply": "want_ip4_nbr_stats_reply" + } + }, + { + "want_ip6_nbr_stats": { + "reply": "want_ip6_nbr_stats_reply" + } + } + ], + "vl_api_version": "0x50890812", + "enums": [], + "messages": [ + [ + "want_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + { + "crc": "0x476f5a08" + } + ], + [ + "want_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_interface_simple_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + { + "crc": "0x476f5a08" + } + ], + [ + "want_interface_simple_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_per_interface_simple_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + [ + "u32", + "num" + ], + [ + "u32", + "sw_ifs", + 0, + "num" + ], + { + "crc": "0x729d04f1" + } + ], + [ + "want_per_interface_simple_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_interface_combined_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + { + "crc": "0x476f5a08" + } + ], + [ + "want_interface_combined_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_per_interface_combined_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + [ + "u32", + "num" + ], + [ + "u32", + "sw_ifs", + 0, + "num" + ], + { + "crc": "0x729d04f1" + } + ], + [ + "want_per_interface_combined_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_ip4_fib_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + { + "crc": "0x476f5a08" + } + ], + [ + "want_ip4_fib_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_ip6_fib_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + { + "crc": "0x476f5a08" + } + ], + [ + "want_ip6_fib_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_ip4_mfib_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + { + "crc": "0x476f5a08" + } + ], + [ + "want_ip4_mfib_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_ip6_mfib_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + { + "crc": "0x476f5a08" + } + ], + [ + "want_ip6_mfib_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_ip4_nbr_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + { + "crc": "0x476f5a08" + } + ], + [ + "want_ip4_nbr_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "want_ip6_nbr_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "enable_disable" + ], + [ + "u32", + "pid" + ], + { + "crc": "0x476f5a08" + } + ], + [ + "want_ip6_nbr_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } + ], + [ + "vnet_ip4_fib_counters", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "vrf_id" + ], + [ + "u32", + "count" + ], + [ + "vl_api_ip4_fib_counter_t", + "c", + 0, + "count" + ], + { + "crc": "0x57e3feec" + } + ], + [ + "vnet_ip4_mfib_counters", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "vrf_id" + ], + [ + "u32", + "count" + ], + [ + "vl_api_ip4_mfib_counter_t", + "c", + 0, + "count" + ], + { + "crc": "0x946eb588" + } + ], + [ + "vnet_ip4_nbr_counters", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "count" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "begin" + ], + [ + "vl_api_ip4_nbr_counter_t", + "c", + 0, + "count" + ], + { + "crc": "0x214c4811" + } + ], + [ + "vnet_ip6_fib_counters", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "vrf_id" + ], + [ + "u32", + "count" + ], + [ + "vl_api_ip6_fib_counter_t", + "c", + 0, + "count" + ], + { + "crc": "0x13aed73d" + } + ], + [ + "vnet_ip6_mfib_counters", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "vrf_id" + ], + [ + "u32", + "count" + ], + [ + "vl_api_ip6_mfib_counter_t", + "c", + 0, + "count" + ], + { + "crc": "0x65fe1ae3" + } + ], + [ + "vnet_ip6_nbr_counters", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "count" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "begin" + ], + [ + "vl_api_ip6_nbr_counter_t", + "c", + 0, + "count" + ], + { + "crc": "0x650161c0" + } + ], + [ + "vnet_get_summary_stats", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } + ], + [ + "vnet_get_summary_stats_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u64", + "total_pkts", + 2 + ], + [ + "u64", + "total_bytes", + 2 + ], + [ + "f64", + "vector_rate" + ], + { + "crc": "0x32b87c56" + } + ] + ], + "types": [ + [ + "ip4_fib_counter", + [ + "u32", + "address" + ], + [ + "u8", + "address_length" + ], + [ + "u64", + "packets" + ], + [ + "u64", + "bytes" + ], + { + "crc": "0xa6ceb0c9" + } + ], + [ + "ip4_mfib_counter", + [ + "u8", + "source", + 4 + ], + [ + "u8", + "group", + 4 + ], + [ + "u8", + "group_length" + ], + [ + "u64", + "packets" + ], + [ + "u64", + "bytes" + ], + { + "crc": "0x2cee4721" + } + ], + [ + "ip4_nbr_counter", + [ + "u32", + "address" + ], + [ + "u8", + "link_type" + ], + [ + "u64", + "packets" + ], + [ + "u64", + "bytes" + ], + { + "crc": "0xb9f974d6" + } + ], + [ + "ip6_fib_counter", + [ + "u64", + "address", + 2 + ], + [ + "u8", + "address_length" + ], + [ + "u64", + "packets" + ], + [ + "u64", + "bytes" + ], + { + "crc": "0xf1197efb" + } + ], + [ + "ip6_mfib_counter", + [ + "u8", + "source", + 16 + ], + [ + "u8", + "group", + 16 + ], + [ + "u8", + "group_length" + ], + [ + "u64", + "packets" + ], + [ + "u64", + "bytes" + ], + { + "crc": "0x90a9590e" + } + ], + [ + "ip6_nbr_counter", + [ + "u64", + "address", + 2 + ], + [ + "u8", + "link_type" + ], + [ + "u64", + "packets" + ], + [ + "u64", + "bytes" + ], + { + "crc": "0x2d755474" + } + ] + ] +} diff --git a/examples/bin_api/stats/stats.go b/examples/bin_api/stats/stats.go new file mode 100644 index 0000000..0285698 --- /dev/null +++ b/examples/bin_api/stats/stats.go @@ -0,0 +1,1560 @@ +// Code generated by govpp binapi-generator DO NOT EDIT. +// Package stats represents the VPP binary API of the 'stats' VPP module. +// Generated from '../../bin_api/stats.api.json' +package stats + +import "git.fd.io/govpp.git/api" + +// VlApiVersion contains version of the API. +const VlAPIVersion = 0x50890812 + +// IP4FibCounter represents the VPP binary API data type 'ip4_fib_counter'. +// Generated from '../../bin_api/stats.api.json', line 776: +// +// "ip4_fib_counter", +// [ +// "u32", +// "address" +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u64", +// "packets" +// ], +// [ +// "u64", +// "bytes" +// ], +// { +// "crc": "0xa6ceb0c9" +// } +// +type IP4FibCounter struct { + Address uint32 + AddressLength uint8 + Packets uint64 + Bytes uint64 +} + +func (*IP4FibCounter) GetTypeName() string { + return "ip4_fib_counter" +} +func (*IP4FibCounter) GetCrcString() string { + return "a6ceb0c9" +} + +// IP4MfibCounter represents the VPP binary API data type 'ip4_mfib_counter'. +// Generated from '../../bin_api/stats.api.json', line 798: +// +// "ip4_mfib_counter", +// [ +// "u8", +// "source", +// 4 +// ], +// [ +// "u8", +// "group", +// 4 +// ], +// [ +// "u8", +// "group_length" +// ], +// [ +// "u64", +// "packets" +// ], +// [ +// "u64", +// "bytes" +// ], +// { +// "crc": "0x2cee4721" +// } +// +type IP4MfibCounter struct { + Source []byte `struc:"[4]byte"` + Group []byte `struc:"[4]byte"` + GroupLength uint8 + Packets uint64 + Bytes uint64 +} + +func (*IP4MfibCounter) GetTypeName() string { + return "ip4_mfib_counter" +} +func (*IP4MfibCounter) GetCrcString() string { + return "2cee4721" +} + +// IP4NbrCounter represents the VPP binary API data type 'ip4_nbr_counter'. +// Generated from '../../bin_api/stats.api.json', line 826: +// +// "ip4_nbr_counter", +// [ +// "u32", +// "address" +// ], +// [ +// "u8", +// "link_type" +// ], +// [ +// "u64", +// "packets" +// ], +// [ +// "u64", +// "bytes" +// ], +// { +// "crc": "0xb9f974d6" +// } +// +type IP4NbrCounter struct { + Address uint32 + LinkType uint8 + Packets uint64 + Bytes uint64 +} + +func (*IP4NbrCounter) GetTypeName() string { + return "ip4_nbr_counter" +} +func (*IP4NbrCounter) GetCrcString() string { + return "b9f974d6" +} + +// IP6FibCounter represents the VPP binary API data type 'ip6_fib_counter'. +// Generated from '../../bin_api/stats.api.json', line 848: +// +// "ip6_fib_counter", +// [ +// "u64", +// "address", +// 2 +// ], +// [ +// "u8", +// "address_length" +// ], +// [ +// "u64", +// "packets" +// ], +// [ +// "u64", +// "bytes" +// ], +// { +// "crc": "0xf1197efb" +// } +// +type IP6FibCounter struct { + Address []uint64 `struc:"[2]uint64"` + AddressLength uint8 + Packets uint64 + Bytes uint64 +} + +func (*IP6FibCounter) GetTypeName() string { + return "ip6_fib_counter" +} +func (*IP6FibCounter) GetCrcString() string { + return "f1197efb" +} + +// IP6MfibCounter represents the VPP binary API data type 'ip6_mfib_counter'. +// Generated from '../../bin_api/stats.api.json', line 871: +// +// "ip6_mfib_counter", +// [ +// "u8", +// "source", +// 16 +// ], +// [ +// "u8", +// "group", +// 16 +// ], +// [ +// "u8", +// "group_length" +// ], +// [ +// "u64", +// "packets" +// ], +// [ +// "u64", +// "bytes" +// ], +// { +// "crc": "0x90a9590e" +// } +// +type IP6MfibCounter struct { + Source []byte `struc:"[16]byte"` + Group []byte `struc:"[16]byte"` + GroupLength uint8 + Packets uint64 + Bytes uint64 +} + +func (*IP6MfibCounter) GetTypeName() string { + return "ip6_mfib_counter" +} +func (*IP6MfibCounter) GetCrcString() string { + return "90a9590e" +} + +// IP6NbrCounter represents the VPP binary API data type 'ip6_nbr_counter'. +// Generated from '../../bin_api/stats.api.json', line 899: +// +// "ip6_nbr_counter", +// [ +// "u64", +// "address", +// 2 +// ], +// [ +// "u8", +// "link_type" +// ], +// [ +// "u64", +// "packets" +// ], +// [ +// "u64", +// "bytes" +// ], +// { +// "crc": "0x2d755474" +// } +// +type IP6NbrCounter struct { + Address []uint64 `struc:"[2]uint64"` + LinkType uint8 + Packets uint64 + Bytes uint64 +} + +func (*IP6NbrCounter) GetTypeName() string { + return "ip6_nbr_counter" +} +func (*IP6NbrCounter) GetCrcString() string { + return "2d755474" +} + +// WantStats represents the VPP binary API message 'want_stats'. +// Generated from '../../bin_api/stats.api.json', line 68: +// +// "want_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } +// +type WantStats struct { + EnableDisable uint32 + Pid uint32 +} + +func (*WantStats) GetMessageName() string { + return "want_stats" +} +func (*WantStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantStats) GetCrcString() string { + return "476f5a08" +} +func NewWantStats() api.Message { + return &WantStats{} +} + +// WantStatsReply represents the VPP binary API message 'want_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 94: +// +// "want_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantStatsReply struct { + Retval int32 +} + +func (*WantStatsReply) GetMessageName() string { + return "want_stats_reply" +} +func (*WantStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantStatsReply() api.Message { + return &WantStatsReply{} +} + +// WantInterfaceSimpleStats represents the VPP binary API message 'want_interface_simple_stats'. +// Generated from '../../bin_api/stats.api.json', line 112: +// +// "want_interface_simple_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } +// +type WantInterfaceSimpleStats struct { + EnableDisable uint32 + Pid uint32 +} + +func (*WantInterfaceSimpleStats) GetMessageName() string { + return "want_interface_simple_stats" +} +func (*WantInterfaceSimpleStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantInterfaceSimpleStats) GetCrcString() string { + return "476f5a08" +} +func NewWantInterfaceSimpleStats() api.Message { + return &WantInterfaceSimpleStats{} +} + +// WantInterfaceSimpleStatsReply represents the VPP binary API message 'want_interface_simple_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 138: +// +// "want_interface_simple_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantInterfaceSimpleStatsReply struct { + Retval int32 +} + +func (*WantInterfaceSimpleStatsReply) GetMessageName() string { + return "want_interface_simple_stats_reply" +} +func (*WantInterfaceSimpleStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantInterfaceSimpleStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantInterfaceSimpleStatsReply() api.Message { + return &WantInterfaceSimpleStatsReply{} +} + +// WantPerInterfaceSimpleStats represents the VPP binary API message 'want_per_interface_simple_stats'. +// Generated from '../../bin_api/stats.api.json', line 156: +// +// "want_per_interface_simple_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "num" +// ], +// [ +// "u32", +// "sw_ifs", +// 0, +// "num" +// ], +// { +// "crc": "0x729d04f1" +// } +// +type WantPerInterfaceSimpleStats struct { + EnableDisable uint32 + Pid uint32 + Num uint32 `struc:"sizeof=SwIfs"` + SwIfs []uint32 +} + +func (*WantPerInterfaceSimpleStats) GetMessageName() string { + return "want_per_interface_simple_stats" +} +func (*WantPerInterfaceSimpleStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantPerInterfaceSimpleStats) GetCrcString() string { + return "729d04f1" +} +func NewWantPerInterfaceSimpleStats() api.Message { + return &WantPerInterfaceSimpleStats{} +} + +// WantPerInterfaceSimpleStatsReply represents the VPP binary API message 'want_per_interface_simple_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 192: +// +// "want_per_interface_simple_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantPerInterfaceSimpleStatsReply struct { + Retval int32 +} + +func (*WantPerInterfaceSimpleStatsReply) GetMessageName() string { + return "want_per_interface_simple_stats_reply" +} +func (*WantPerInterfaceSimpleStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantPerInterfaceSimpleStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantPerInterfaceSimpleStatsReply() api.Message { + return &WantPerInterfaceSimpleStatsReply{} +} + +// WantInterfaceCombinedStats represents the VPP binary API message 'want_interface_combined_stats'. +// Generated from '../../bin_api/stats.api.json', line 210: +// +// "want_interface_combined_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } +// +type WantInterfaceCombinedStats struct { + EnableDisable uint32 + Pid uint32 +} + +func (*WantInterfaceCombinedStats) GetMessageName() string { + return "want_interface_combined_stats" +} +func (*WantInterfaceCombinedStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantInterfaceCombinedStats) GetCrcString() string { + return "476f5a08" +} +func NewWantInterfaceCombinedStats() api.Message { + return &WantInterfaceCombinedStats{} +} + +// WantInterfaceCombinedStatsReply represents the VPP binary API message 'want_interface_combined_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 236: +// +// "want_interface_combined_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantInterfaceCombinedStatsReply struct { + Retval int32 +} + +func (*WantInterfaceCombinedStatsReply) GetMessageName() string { + return "want_interface_combined_stats_reply" +} +func (*WantInterfaceCombinedStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantInterfaceCombinedStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantInterfaceCombinedStatsReply() api.Message { + return &WantInterfaceCombinedStatsReply{} +} + +// WantPerInterfaceCombinedStats represents the VPP binary API message 'want_per_interface_combined_stats'. +// Generated from '../../bin_api/stats.api.json', line 254: +// +// "want_per_interface_combined_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// [ +// "u32", +// "num" +// ], +// [ +// "u32", +// "sw_ifs", +// 0, +// "num" +// ], +// { +// "crc": "0x729d04f1" +// } +// +type WantPerInterfaceCombinedStats struct { + EnableDisable uint32 + Pid uint32 + Num uint32 `struc:"sizeof=SwIfs"` + SwIfs []uint32 +} + +func (*WantPerInterfaceCombinedStats) GetMessageName() string { + return "want_per_interface_combined_stats" +} +func (*WantPerInterfaceCombinedStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantPerInterfaceCombinedStats) GetCrcString() string { + return "729d04f1" +} +func NewWantPerInterfaceCombinedStats() api.Message { + return &WantPerInterfaceCombinedStats{} +} + +// WantPerInterfaceCombinedStatsReply represents the VPP binary API message 'want_per_interface_combined_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 290: +// +// "want_per_interface_combined_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantPerInterfaceCombinedStatsReply struct { + Retval int32 +} + +func (*WantPerInterfaceCombinedStatsReply) GetMessageName() string { + return "want_per_interface_combined_stats_reply" +} +func (*WantPerInterfaceCombinedStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantPerInterfaceCombinedStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantPerInterfaceCombinedStatsReply() api.Message { + return &WantPerInterfaceCombinedStatsReply{} +} + +// WantIP4FibStats represents the VPP binary API message 'want_ip4_fib_stats'. +// Generated from '../../bin_api/stats.api.json', line 308: +// +// "want_ip4_fib_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } +// +type WantIP4FibStats struct { + EnableDisable uint32 + Pid uint32 +} + +func (*WantIP4FibStats) GetMessageName() string { + return "want_ip4_fib_stats" +} +func (*WantIP4FibStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantIP4FibStats) GetCrcString() string { + return "476f5a08" +} +func NewWantIP4FibStats() api.Message { + return &WantIP4FibStats{} +} + +// WantIP4FibStatsReply represents the VPP binary API message 'want_ip4_fib_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 334: +// +// "want_ip4_fib_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantIP4FibStatsReply struct { + Retval int32 +} + +func (*WantIP4FibStatsReply) GetMessageName() string { + return "want_ip4_fib_stats_reply" +} +func (*WantIP4FibStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantIP4FibStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantIP4FibStatsReply() api.Message { + return &WantIP4FibStatsReply{} +} + +// WantIP6FibStats represents the VPP binary API message 'want_ip6_fib_stats'. +// Generated from '../../bin_api/stats.api.json', line 352: +// +// "want_ip6_fib_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } +// +type WantIP6FibStats struct { + EnableDisable uint32 + Pid uint32 +} + +func (*WantIP6FibStats) GetMessageName() string { + return "want_ip6_fib_stats" +} +func (*WantIP6FibStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantIP6FibStats) GetCrcString() string { + return "476f5a08" +} +func NewWantIP6FibStats() api.Message { + return &WantIP6FibStats{} +} + +// WantIP6FibStatsReply represents the VPP binary API message 'want_ip6_fib_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 378: +// +// "want_ip6_fib_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantIP6FibStatsReply struct { + Retval int32 +} + +func (*WantIP6FibStatsReply) GetMessageName() string { + return "want_ip6_fib_stats_reply" +} +func (*WantIP6FibStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantIP6FibStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantIP6FibStatsReply() api.Message { + return &WantIP6FibStatsReply{} +} + +// WantIP4MfibStats represents the VPP binary API message 'want_ip4_mfib_stats'. +// Generated from '../../bin_api/stats.api.json', line 396: +// +// "want_ip4_mfib_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } +// +type WantIP4MfibStats struct { + EnableDisable uint32 + Pid uint32 +} + +func (*WantIP4MfibStats) GetMessageName() string { + return "want_ip4_mfib_stats" +} +func (*WantIP4MfibStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantIP4MfibStats) GetCrcString() string { + return "476f5a08" +} +func NewWantIP4MfibStats() api.Message { + return &WantIP4MfibStats{} +} + +// WantIP4MfibStatsReply represents the VPP binary API message 'want_ip4_mfib_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 422: +// +// "want_ip4_mfib_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantIP4MfibStatsReply struct { + Retval int32 +} + +func (*WantIP4MfibStatsReply) GetMessageName() string { + return "want_ip4_mfib_stats_reply" +} +func (*WantIP4MfibStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantIP4MfibStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantIP4MfibStatsReply() api.Message { + return &WantIP4MfibStatsReply{} +} + +// WantIP6MfibStats represents the VPP binary API message 'want_ip6_mfib_stats'. +// Generated from '../../bin_api/stats.api.json', line 440: +// +// "want_ip6_mfib_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } +// +type WantIP6MfibStats struct { + EnableDisable uint32 + Pid uint32 +} + +func (*WantIP6MfibStats) GetMessageName() string { + return "want_ip6_mfib_stats" +} +func (*WantIP6MfibStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantIP6MfibStats) GetCrcString() string { + return "476f5a08" +} +func NewWantIP6MfibStats() api.Message { + return &WantIP6MfibStats{} +} + +// WantIP6MfibStatsReply represents the VPP binary API message 'want_ip6_mfib_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 466: +// +// "want_ip6_mfib_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantIP6MfibStatsReply struct { + Retval int32 +} + +func (*WantIP6MfibStatsReply) GetMessageName() string { + return "want_ip6_mfib_stats_reply" +} +func (*WantIP6MfibStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantIP6MfibStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantIP6MfibStatsReply() api.Message { + return &WantIP6MfibStatsReply{} +} + +// WantIP4NbrStats represents the VPP binary API message 'want_ip4_nbr_stats'. +// Generated from '../../bin_api/stats.api.json', line 484: +// +// "want_ip4_nbr_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } +// +type WantIP4NbrStats struct { + EnableDisable uint32 + Pid uint32 +} + +func (*WantIP4NbrStats) GetMessageName() string { + return "want_ip4_nbr_stats" +} +func (*WantIP4NbrStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantIP4NbrStats) GetCrcString() string { + return "476f5a08" +} +func NewWantIP4NbrStats() api.Message { + return &WantIP4NbrStats{} +} + +// WantIP4NbrStatsReply represents the VPP binary API message 'want_ip4_nbr_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 510: +// +// "want_ip4_nbr_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantIP4NbrStatsReply struct { + Retval int32 +} + +func (*WantIP4NbrStatsReply) GetMessageName() string { + return "want_ip4_nbr_stats_reply" +} +func (*WantIP4NbrStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantIP4NbrStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantIP4NbrStatsReply() api.Message { + return &WantIP4NbrStatsReply{} +} + +// WantIP6NbrStats represents the VPP binary API message 'want_ip6_nbr_stats'. +// Generated from '../../bin_api/stats.api.json', line 528: +// +// "want_ip6_nbr_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "enable_disable" +// ], +// [ +// "u32", +// "pid" +// ], +// { +// "crc": "0x476f5a08" +// } +// +type WantIP6NbrStats struct { + EnableDisable uint32 + Pid uint32 +} + +func (*WantIP6NbrStats) GetMessageName() string { + return "want_ip6_nbr_stats" +} +func (*WantIP6NbrStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*WantIP6NbrStats) GetCrcString() string { + return "476f5a08" +} +func NewWantIP6NbrStats() api.Message { + return &WantIP6NbrStats{} +} + +// WantIP6NbrStatsReply represents the VPP binary API message 'want_ip6_nbr_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 554: +// +// "want_ip6_nbr_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } +// +type WantIP6NbrStatsReply struct { + Retval int32 +} + +func (*WantIP6NbrStatsReply) GetMessageName() string { + return "want_ip6_nbr_stats_reply" +} +func (*WantIP6NbrStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*WantIP6NbrStatsReply) GetCrcString() string { + return "e8d4e804" +} +func NewWantIP6NbrStatsReply() api.Message { + return &WantIP6NbrStatsReply{} +} + +// VnetIP4FibCounters represents the VPP binary API message 'vnet_ip4_fib_counters'. +// Generated from '../../bin_api/stats.api.json', line 572: +// +// "vnet_ip4_fib_counters", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_ip4_fib_counter_t", +// "c", +// 0, +// "count" +// ], +// { +// "crc": "0x57e3feec" +// } +// +type VnetIP4FibCounters struct { + VrfID uint32 + Count uint32 `struc:"sizeof=C"` + C []IP4FibCounter +} + +func (*VnetIP4FibCounters) GetMessageName() string { + return "vnet_ip4_fib_counters" +} +func (*VnetIP4FibCounters) GetMessageType() api.MessageType { + return api.OtherMessage +} +func (*VnetIP4FibCounters) GetCrcString() string { + return "57e3feec" +} +func NewVnetIP4FibCounters() api.Message { + return &VnetIP4FibCounters{} +} + +// VnetIP4MfibCounters represents the VPP binary API message 'vnet_ip4_mfib_counters'. +// Generated from '../../bin_api/stats.api.json', line 596: +// +// "vnet_ip4_mfib_counters", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_ip4_mfib_counter_t", +// "c", +// 0, +// "count" +// ], +// { +// "crc": "0x946eb588" +// } +// +type VnetIP4MfibCounters struct { + VrfID uint32 + Count uint32 `struc:"sizeof=C"` + C []IP4MfibCounter +} + +func (*VnetIP4MfibCounters) GetMessageName() string { + return "vnet_ip4_mfib_counters" +} +func (*VnetIP4MfibCounters) GetMessageType() api.MessageType { + return api.OtherMessage +} +func (*VnetIP4MfibCounters) GetCrcString() string { + return "946eb588" +} +func NewVnetIP4MfibCounters() api.Message { + return &VnetIP4MfibCounters{} +} + +// VnetIP4NbrCounters represents the VPP binary API message 'vnet_ip4_nbr_counters'. +// Generated from '../../bin_api/stats.api.json', line 620: +// +// "vnet_ip4_nbr_counters", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "begin" +// ], +// [ +// "vl_api_ip4_nbr_counter_t", +// "c", +// 0, +// "count" +// ], +// { +// "crc": "0x214c4811" +// } +// +type VnetIP4NbrCounters struct { + Count uint32 `struc:"sizeof=C"` + SwIfIndex uint32 + Begin uint8 + C []IP4NbrCounter +} + +func (*VnetIP4NbrCounters) GetMessageName() string { + return "vnet_ip4_nbr_counters" +} +func (*VnetIP4NbrCounters) GetMessageType() api.MessageType { + return api.OtherMessage +} +func (*VnetIP4NbrCounters) GetCrcString() string { + return "214c4811" +} +func NewVnetIP4NbrCounters() api.Message { + return &VnetIP4NbrCounters{} +} + +// VnetIP6FibCounters represents the VPP binary API message 'vnet_ip6_fib_counters'. +// Generated from '../../bin_api/stats.api.json', line 648: +// +// "vnet_ip6_fib_counters", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_ip6_fib_counter_t", +// "c", +// 0, +// "count" +// ], +// { +// "crc": "0x13aed73d" +// } +// +type VnetIP6FibCounters struct { + VrfID uint32 + Count uint32 `struc:"sizeof=C"` + C []IP6FibCounter +} + +func (*VnetIP6FibCounters) GetMessageName() string { + return "vnet_ip6_fib_counters" +} +func (*VnetIP6FibCounters) GetMessageType() api.MessageType { + return api.OtherMessage +} +func (*VnetIP6FibCounters) GetCrcString() string { + return "13aed73d" +} +func NewVnetIP6FibCounters() api.Message { + return &VnetIP6FibCounters{} +} + +// VnetIP6MfibCounters represents the VPP binary API message 'vnet_ip6_mfib_counters'. +// Generated from '../../bin_api/stats.api.json', line 672: +// +// "vnet_ip6_mfib_counters", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "vrf_id" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "vl_api_ip6_mfib_counter_t", +// "c", +// 0, +// "count" +// ], +// { +// "crc": "0x65fe1ae3" +// } +// +type VnetIP6MfibCounters struct { + VrfID uint32 + Count uint32 `struc:"sizeof=C"` + C []IP6MfibCounter +} + +func (*VnetIP6MfibCounters) GetMessageName() string { + return "vnet_ip6_mfib_counters" +} +func (*VnetIP6MfibCounters) GetMessageType() api.MessageType { + return api.OtherMessage +} +func (*VnetIP6MfibCounters) GetCrcString() string { + return "65fe1ae3" +} +func NewVnetIP6MfibCounters() api.Message { + return &VnetIP6MfibCounters{} +} + +// VnetIP6NbrCounters represents the VPP binary API message 'vnet_ip6_nbr_counters'. +// Generated from '../../bin_api/stats.api.json', line 696: +// +// "vnet_ip6_nbr_counters", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "count" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "begin" +// ], +// [ +// "vl_api_ip6_nbr_counter_t", +// "c", +// 0, +// "count" +// ], +// { +// "crc": "0x650161c0" +// } +// +type VnetIP6NbrCounters struct { + Count uint32 `struc:"sizeof=C"` + SwIfIndex uint32 + Begin uint8 + C []IP6NbrCounter +} + +func (*VnetIP6NbrCounters) GetMessageName() string { + return "vnet_ip6_nbr_counters" +} +func (*VnetIP6NbrCounters) GetMessageType() api.MessageType { + return api.OtherMessage +} +func (*VnetIP6NbrCounters) GetCrcString() string { + return "650161c0" +} +func NewVnetIP6NbrCounters() api.Message { + return &VnetIP6NbrCounters{} +} + +// VnetGetSummaryStats represents the VPP binary API message 'vnet_get_summary_stats'. +// Generated from '../../bin_api/stats.api.json', line 724: +// +// "vnet_get_summary_stats", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } +// +type VnetGetSummaryStats struct { +} + +func (*VnetGetSummaryStats) GetMessageName() string { + return "vnet_get_summary_stats" +} +func (*VnetGetSummaryStats) GetMessageType() api.MessageType { + return api.RequestMessage +} +func (*VnetGetSummaryStats) GetCrcString() string { + return "51077d14" +} +func NewVnetGetSummaryStats() api.Message { + return &VnetGetSummaryStats{} +} + +// VnetGetSummaryStatsReply represents the VPP binary API message 'vnet_get_summary_stats_reply'. +// Generated from '../../bin_api/stats.api.json', line 742: +// +// "vnet_get_summary_stats_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u64", +// "total_pkts", +// 2 +// ], +// [ +// "u64", +// "total_bytes", +// 2 +// ], +// [ +// "f64", +// "vector_rate" +// ], +// { +// "crc": "0x32b87c56" +// } +// +type VnetGetSummaryStatsReply struct { + Retval int32 + TotalPkts []uint64 `struc:"[2]uint64"` + TotalBytes []uint64 `struc:"[2]uint64"` + VectorRate float64 +} + +func (*VnetGetSummaryStatsReply) GetMessageName() string { + return "vnet_get_summary_stats_reply" +} +func (*VnetGetSummaryStatsReply) GetMessageType() api.MessageType { + return api.ReplyMessage +} +func (*VnetGetSummaryStatsReply) GetCrcString() string { + return "32b87c56" +} +func NewVnetGetSummaryStatsReply() api.Message { + return &VnetGetSummaryStatsReply{} +} diff --git a/examples/bin_api/tap.api.json b/examples/bin_api/tap.api.json index 43432c9..3b09caa 100644 --- a/examples/bin_api/tap.api.json +++ b/examples/bin_api/tap.api.json @@ -1,78 +1,270 @@ { - "types" : [ - + "services": [ + { + "sw_interface_tap_dump": { + "reply": "sw_interface_tap_details", + "stream": true + } + }, + { + "tap_connect": { + "reply": "tap_connect_reply" + } + }, + { + "tap_modify": { + "reply": "tap_modify_reply" + } + }, + { + "tap_delete": { + "reply": "tap_delete_reply" + } + } ], - "messages" : [ - ["tap_connect", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u8", "use_random_mac"], - ["u8", "tap_name", 64], - ["u8", "mac_address", 6], - ["u8", "renumber"], - ["u32", "custom_dev_instance"], - ["u8", "ip4_address_set"], - ["u8", "ip4_address", 4], - ["u8", "ip4_mask_width"], - ["u8", "ip6_address_set"], - ["u8", "ip6_address", 16], - ["u8", "ip6_mask_width"], - ["u8", "tag", 64], - {"crc" : "0x91720de3"} + "vl_api_version": "0x3a0725de", + "enums": [], + "messages": [ + [ + "tap_connect", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u8", + "use_random_mac" + ], + [ + "u8", + "tap_name", + 64 + ], + [ + "u8", + "mac_address", + 6 + ], + [ + "u8", + "renumber" + ], + [ + "u32", + "custom_dev_instance" + ], + [ + "u8", + "ip4_address_set" + ], + [ + "u8", + "ip4_address", + 4 + ], + [ + "u8", + "ip4_mask_width" + ], + [ + "u8", + "ip6_address_set" + ], + [ + "u8", + "ip6_address", + 16 + ], + [ + "u8", + "ip6_mask_width" + ], + [ + "u8", + "tag", + 64 + ], + { + "crc": "0x9b9c396f" + } ], - ["tap_connect_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0xf47feac1"} + [ + "tap_connect_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0xfda5941f" + } ], - ["tap_modify", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "use_random_mac"], - ["u8", "tap_name", 64], - ["u8", "mac_address", 6], - ["u8", "renumber"], - ["u32", "custom_dev_instance"], - {"crc" : "0x8abcd5f3"} + [ + "tap_modify", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "use_random_mac" + ], + [ + "u8", + "tap_name", + 64 + ], + [ + "u8", + "mac_address", + 6 + ], + [ + "u8", + "renumber" + ], + [ + "u32", + "custom_dev_instance" + ], + { + "crc": "0x8047ae5c" + } ], - ["tap_modify_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - ["u32", "sw_if_index"], - {"crc" : "0x00aaf940"} + [ + "tap_modify_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0xfda5941f" + } ], - ["tap_delete", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - ["u32", "sw_if_index"], - {"crc" : "0xe99d41c1"} + [ + "tap_delete", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + { + "crc": "0x529cb13f" + } ], - ["tap_delete_reply", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["i32", "retval"], - {"crc" : "0x0e47d140"} + [ + "tap_delete_reply", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "i32", + "retval" + ], + { + "crc": "0xe8d4e804" + } ], - ["sw_interface_tap_dump", - ["u16", "_vl_msg_id"], - ["u32", "client_index"], - ["u32", "context"], - {"crc" : "0xbc6ddbe2"} + [ + "sw_interface_tap_dump", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "client_index" + ], + [ + "u32", + "context" + ], + { + "crc": "0x51077d14" + } ], - ["sw_interface_tap_details", - ["u16", "_vl_msg_id"], - ["u32", "context"], - ["u32", "sw_if_index"], - ["u8", "dev_name", 64], - {"crc" : "0x0df07bc3"} + [ + "sw_interface_tap_details", + [ + "u16", + "_vl_msg_id" + ], + [ + "u32", + "context" + ], + [ + "u32", + "sw_if_index" + ], + [ + "u8", + "dev_name", + 64 + ], + { + "crc": "0x76229a57" + } ] ], -"vl_api_version" :"0x4eaa2b5a" + "types": [] } diff --git a/examples/bin_api/tap/tap.go b/examples/bin_api/tap/tap.go index 3bb6d4c..f7d6745 100644 --- a/examples/bin_api/tap/tap.go +++ b/examples/bin_api/tap/tap.go @@ -6,29 +6,80 @@ package tap import "git.fd.io/govpp.git/api" // VlApiVersion contains version of the API. -const VlAPIVersion = 0x4eaa2b5a +const VlAPIVersion = 0x3a0725de // TapConnect represents the VPP binary API message 'tap_connect'. -// Generated from '../../bin_api/tap.api.json', line 6: +// Generated from '../../bin_api/tap.api.json', line 29: // -// ["tap_connect", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u8", "use_random_mac"], -// ["u8", "tap_name", 64], -// ["u8", "mac_address", 6], -// ["u8", "renumber"], -// ["u32", "custom_dev_instance"], -// ["u8", "ip4_address_set"], -// ["u8", "ip4_address", 4], -// ["u8", "ip4_mask_width"], -// ["u8", "ip6_address_set"], -// ["u8", "ip6_address", 16], -// ["u8", "ip6_mask_width"], -// ["u8", "tag", 64], -// {"crc" : "0x91720de3"} -// ], +// "tap_connect", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u8", +// "use_random_mac" +// ], +// [ +// "u8", +// "tap_name", +// 64 +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "renumber" +// ], +// [ +// "u32", +// "custom_dev_instance" +// ], +// [ +// "u8", +// "ip4_address_set" +// ], +// [ +// "u8", +// "ip4_address", +// 4 +// ], +// [ +// "u8", +// "ip4_mask_width" +// ], +// [ +// "u8", +// "ip6_address_set" +// ], +// [ +// "u8", +// "ip6_address", +// 16 +// ], +// [ +// "u8", +// "ip6_mask_width" +// ], +// [ +// "u8", +// "tag", +// 64 +// ], +// { +// "crc": "0x9b9c396f" +// } // type TapConnect struct { UseRandomMac uint8 @@ -52,22 +103,35 @@ func (*TapConnect) GetMessageType() api.MessageType { return api.RequestMessage } func (*TapConnect) GetCrcString() string { - return "91720de3" + return "9b9c396f" } func NewTapConnect() api.Message { return &TapConnect{} } // TapConnectReply represents the VPP binary API message 'tap_connect_reply'. -// Generated from '../../bin_api/tap.api.json', line 24: +// Generated from '../../bin_api/tap.api.json', line 100: // -// ["tap_connect_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0xf47feac1"} -// ], +// "tap_connect_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type TapConnectReply struct { Retval int32 @@ -81,27 +145,57 @@ func (*TapConnectReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*TapConnectReply) GetCrcString() string { - return "f47feac1" + return "fda5941f" } func NewTapConnectReply() api.Message { return &TapConnectReply{} } // TapModify represents the VPP binary API message 'tap_modify'. -// Generated from '../../bin_api/tap.api.json', line 31: +// Generated from '../../bin_api/tap.api.json', line 122: // -// ["tap_modify", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "use_random_mac"], -// ["u8", "tap_name", 64], -// ["u8", "mac_address", 6], -// ["u8", "renumber"], -// ["u32", "custom_dev_instance"], -// {"crc" : "0x8abcd5f3"} -// ], +// "tap_modify", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "use_random_mac" +// ], +// [ +// "u8", +// "tap_name", +// 64 +// ], +// [ +// "u8", +// "mac_address", +// 6 +// ], +// [ +// "u8", +// "renumber" +// ], +// [ +// "u32", +// "custom_dev_instance" +// ], +// { +// "crc": "0x8047ae5c" +// } // type TapModify struct { SwIfIndex uint32 @@ -119,22 +213,35 @@ func (*TapModify) GetMessageType() api.MessageType { return api.RequestMessage } func (*TapModify) GetCrcString() string { - return "8abcd5f3" + return "8047ae5c" } func NewTapModify() api.Message { return &TapModify{} } // TapModifyReply represents the VPP binary API message 'tap_modify_reply'. -// Generated from '../../bin_api/tap.api.json', line 43: +// Generated from '../../bin_api/tap.api.json', line 166: // -// ["tap_modify_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// ["u32", "sw_if_index"], -// {"crc" : "0x00aaf940"} -// ], +// "tap_modify_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0xfda5941f" +// } // type TapModifyReply struct { Retval int32 @@ -148,22 +255,35 @@ func (*TapModifyReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*TapModifyReply) GetCrcString() string { - return "00aaf940" + return "fda5941f" } func NewTapModifyReply() api.Message { return &TapModifyReply{} } // TapDelete represents the VPP binary API message 'tap_delete'. -// Generated from '../../bin_api/tap.api.json', line 50: +// Generated from '../../bin_api/tap.api.json', line 188: // -// ["tap_delete", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// {"crc" : "0xe99d41c1"} -// ], +// "tap_delete", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// { +// "crc": "0x529cb13f" +// } // type TapDelete struct { SwIfIndex uint32 @@ -176,21 +296,31 @@ func (*TapDelete) GetMessageType() api.MessageType { return api.RequestMessage } func (*TapDelete) GetCrcString() string { - return "e99d41c1" + return "529cb13f" } func NewTapDelete() api.Message { return &TapDelete{} } // TapDeleteReply represents the VPP binary API message 'tap_delete_reply'. -// Generated from '../../bin_api/tap.api.json', line 57: +// Generated from '../../bin_api/tap.api.json', line 210: // -// ["tap_delete_reply", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["i32", "retval"], -// {"crc" : "0x0e47d140"} -// ], +// "tap_delete_reply", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "i32", +// "retval" +// ], +// { +// "crc": "0xe8d4e804" +// } // type TapDeleteReply struct { Retval int32 @@ -203,21 +333,31 @@ func (*TapDeleteReply) GetMessageType() api.MessageType { return api.ReplyMessage } func (*TapDeleteReply) GetCrcString() string { - return "0e47d140" + return "e8d4e804" } func NewTapDeleteReply() api.Message { return &TapDeleteReply{} } // SwInterfaceTapDump represents the VPP binary API message 'sw_interface_tap_dump'. -// Generated from '../../bin_api/tap.api.json', line 63: +// Generated from '../../bin_api/tap.api.json', line 228: // -// ["sw_interface_tap_dump", -// ["u16", "_vl_msg_id"], -// ["u32", "client_index"], -// ["u32", "context"], -// {"crc" : "0xbc6ddbe2"} -// ], +// "sw_interface_tap_dump", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "client_index" +// ], +// [ +// "u32", +// "context" +// ], +// { +// "crc": "0x51077d14" +// } // type SwInterfaceTapDump struct { } @@ -229,22 +369,36 @@ func (*SwInterfaceTapDump) GetMessageType() api.MessageType { return api.RequestMessage } func (*SwInterfaceTapDump) GetCrcString() string { - return "bc6ddbe2" + return "51077d14" } func NewSwInterfaceTapDump() api.Message { return &SwInterfaceTapDump{} } // SwInterfaceTapDetails represents the VPP binary API message 'sw_interface_tap_details'. -// Generated from '../../bin_api/tap.api.json', line 69: +// Generated from '../../bin_api/tap.api.json', line 246: // -// ["sw_interface_tap_details", -// ["u16", "_vl_msg_id"], -// ["u32", "context"], -// ["u32", "sw_if_index"], -// ["u8", "dev_name", 64], -// {"crc" : "0x0df07bc3"} -// ] +// "sw_interface_tap_details", +// [ +// "u16", +// "_vl_msg_id" +// ], +// [ +// "u32", +// "context" +// ], +// [ +// "u32", +// "sw_if_index" +// ], +// [ +// "u8", +// "dev_name", +// 64 +// ], +// { +// "crc": "0x76229a57" +// } // type SwInterfaceTapDetails struct { SwIfIndex uint32 @@ -258,7 +412,7 @@ func (*SwInterfaceTapDetails) GetMessageType() api.MessageType { return api.ReplyMessage } func (*SwInterfaceTapDetails) GetCrcString() string { - return "0df07bc3" + return "76229a57" } func NewSwInterfaceTapDetails() api.Message { return &SwInterfaceTapDetails{} diff --git a/examples/cmd/stats-client/stats_client.go b/examples/cmd/stats-client/stats_client.go index e0c4463..458da21 100644 --- a/examples/cmd/stats-client/stats_client.go +++ b/examples/cmd/stats-client/stats_client.go @@ -27,8 +27,8 @@ import ( "git.fd.io/govpp.git" "git.fd.io/govpp.git/api" "git.fd.io/govpp.git/core" - "git.fd.io/govpp.git/core/bin_api/vpe" "git.fd.io/govpp.git/examples/bin_api/interfaces" + "git.fd.io/govpp.git/examples/bin_api/stats" ) func main() { @@ -112,10 +112,10 @@ func subscribeNotifications(ch *api.Channel) (*api.NotifSubscription, *api.Notif // requestStatistics requests interface counters notifications from VPP. func requestStatistics(ch *api.Channel) { - ch.SendRequest(&vpe.WantStats{ + ch.SendRequest(&stats.WantStats{ Pid: uint32(os.Getpid()), EnableDisable: 1, - }).ReceiveReply(&vpe.WantStatsReply{}) + }).ReceiveReply(&stats.WantStatsReply{}) } // processSimpleCounters processes simple counters received from VPP. |