summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMilan Lenco <milan.lenco@pantheon.tech>2018-01-25 10:15:48 +0100
committerMilan Lenco <milan.lenco@pantheon.tech>2018-01-25 10:15:48 +0100
commit8ca20507d15703412c18b07d4f4ce6b4de989de6 (patch)
treeaef60a5ef4dd150b62958b757e706f8c3311c68c /examples
parent545eaea1c41c800794bb910a47de281e7e8df492 (diff)
Update examples, tests and testdata after binapi-generator update.
Change-Id: I738d501cbbb6673010a32847df3f1c87050b8d36 Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Diffstat (limited to 'examples')
-rw-r--r--examples/bin_api/acl.api.json1145
-rw-r--r--examples/bin_api/acl/acl.go1217
-rw-r--r--examples/bin_api/af_packet.api.json184
-rw-r--r--examples/bin_api/af_packet/af_packet.go217
-rw-r--r--examples/bin_api/interface.api.json1761
-rw-r--r--examples/bin_api/interfaces/interfaces.go1837
-rw-r--r--examples/bin_api/ip.api.json2594
-rw-r--r--examples/bin_api/ip/ip.go3216
-rw-r--r--examples/bin_api/memif.api.json273
-rw-r--r--examples/bin_api/memif/memif.go274
-rw-r--r--examples/bin_api/stats.api.json922
-rw-r--r--examples/bin_api/stats/stats.go1560
-rw-r--r--examples/bin_api/tap.api.json324
-rw-r--r--examples/bin_api/tap/tap.go328
-rw-r--r--examples/cmd/stats-client/stats_client.go6
15 files changed, 13267 insertions, 2591 deletions
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.