aboutsummaryrefslogtreecommitdiffstats
path: root/internal/testbinapi/binapi2001/.vppapi/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'internal/testbinapi/binapi2001/.vppapi/plugins')
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/abf.api.json1161
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/acl.api.json1095
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/acl_types.api.json98
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/avf.api.json277
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/builtinurl.api.json53
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/cdp.api.json57
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/ct6.api.json222
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/dhcp.api.json1581
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/dhcp6_ia_na_client_cp.api.json218
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/dhcp6_pd_client_cp.api.json563
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/dns.api.json224
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/flowprobe.api.json309
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/gbp.api.json1930
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/gtpu.api.json645
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/http_static.api.json79
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/igmp.api.json969
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/ikev2.api.json1187
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/ioam_cache.api.json57
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/ioam_export.api.json351
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/ioam_vxlan_gpe.api.json594
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/l2e.api.json218
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/l3xc.api.json841
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/lacp.api.json289
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/lb.api.json1090
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/lb_types.api.json437
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/mactime.api.json424
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/map.api.json1283
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/mdata.api.json214
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/memif.api.json516
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/nat.api.json4157
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/nsh.api.json499
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/nsim.api.json324
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/oddbuf.api.json218
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/pot.api.json258
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/pppoe.api.json590
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/rdma.api.json313
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/sctp.api.json175
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/stn.api.json550
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/svs.api.json707
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/tls_openssl.api.json72
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/trace.api.json171
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/udp_ping.api.json423
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/vmxnet3.api.json418
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/plugins/vxlan_gpe_ioam_export.api.json351
44 files changed, 26208 insertions, 0 deletions
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/abf.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/abf.api.json
new file mode 100644
index 0000000..3f6f1e2
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/abf.api.json
@@ -0,0 +1,1161 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ],
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ],
+ [
+ "fib_mpls_label",
+ [
+ "u8",
+ "is_uniform"
+ ],
+ [
+ "u32",
+ "label"
+ ],
+ [
+ "u8",
+ "ttl"
+ ],
+ [
+ "u8",
+ "exp"
+ ]
+ ],
+ [
+ "fib_path_nh",
+ [
+ "vl_api_address_union_t",
+ "address"
+ ],
+ [
+ "u32",
+ "via_label"
+ ],
+ [
+ "u32",
+ "obj_id"
+ ],
+ [
+ "u32",
+ "classify_table_index"
+ ]
+ ],
+ [
+ "fib_path",
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u32",
+ "rpf_id"
+ ],
+ [
+ "u8",
+ "weight"
+ ],
+ [
+ "u8",
+ "preference"
+ ],
+ [
+ "vl_api_fib_path_type_t",
+ "type"
+ ],
+ [
+ "vl_api_fib_path_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_fib_path_nh_proto_t",
+ "proto"
+ ],
+ [
+ "vl_api_fib_path_nh_t",
+ "nh"
+ ],
+ [
+ "u8",
+ "n_labels"
+ ],
+ [
+ "vl_api_fib_mpls_label_t",
+ "label_stack",
+ 16
+ ]
+ ],
+ [
+ "abf_policy",
+ [
+ "u32",
+ "policy_id"
+ ],
+ [
+ "u32",
+ "acl_index"
+ ],
+ [
+ "u8",
+ "n_paths"
+ ],
+ [
+ "vl_api_fib_path_t",
+ "paths",
+ 0,
+ "n_paths"
+ ]
+ ],
+ [
+ "abf_itf_attach",
+ [
+ "u32",
+ "policy_id"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "priority"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "abf_plugin_get_version",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "abf_plugin_get_version_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "major"
+ ],
+ [
+ "u32",
+ "minor"
+ ],
+ {
+ "crc": "0x9b32cf86"
+ }
+ ],
+ [
+ "abf_policy_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_abf_policy_t",
+ "policy"
+ ],
+ {
+ "crc": "0xee66f93e"
+ }
+ ],
+ [
+ "abf_policy_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "abf_policy_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_abf_policy_t",
+ "policy"
+ ],
+ {
+ "crc": "0x6769e504"
+ }
+ ],
+ [
+ "abf_policy_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "abf_itf_attach_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_abf_itf_attach_t",
+ "attach"
+ ],
+ {
+ "crc": "0x25c8621b"
+ }
+ ],
+ [
+ "abf_itf_attach_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "abf_itf_attach_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_abf_itf_attach_t",
+ "attach"
+ ],
+ {
+ "crc": "0x7819523e"
+ }
+ ],
+ [
+ "abf_itf_attach_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ],
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "fib_path_nh_proto",
+ [
+ "FIB_API_PATH_NH_PROTO_IP4",
+ 0
+ ],
+ [
+ "FIB_API_PATH_NH_PROTO_IP6",
+ 1
+ ],
+ [
+ "FIB_API_PATH_NH_PROTO_MPLS",
+ 2
+ ],
+ [
+ "FIB_API_PATH_NH_PROTO_ETHERNET",
+ 3
+ ],
+ [
+ "FIB_API_PATH_NH_PROTO_BIER",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "fib_path_flags",
+ [
+ "FIB_API_PATH_FLAG_NONE",
+ 0
+ ],
+ [
+ "FIB_API_PATH_FLAG_RESOLVE_VIA_ATTACHED",
+ 1
+ ],
+ [
+ "FIB_API_PATH_FLAG_RESOLVE_VIA_HOST",
+ 2
+ ],
+ [
+ "FIB_API_PATH_FLAG_POP_PW_CW",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "fib_path_type",
+ [
+ "FIB_API_PATH_TYPE_NORMAL",
+ 0
+ ],
+ [
+ "FIB_API_PATH_TYPE_LOCAL",
+ 1
+ ],
+ [
+ "FIB_API_PATH_TYPE_DROP",
+ 2
+ ],
+ [
+ "FIB_API_PATH_TYPE_UDP_ENCAP",
+ 3
+ ],
+ [
+ "FIB_API_PATH_TYPE_BIER_IMP",
+ 4
+ ],
+ [
+ "FIB_API_PATH_TYPE_ICMP_UNREACH",
+ 5
+ ],
+ [
+ "FIB_API_PATH_TYPE_ICMP_PROHIBIT",
+ 6
+ ],
+ [
+ "FIB_API_PATH_TYPE_SOURCE_LOOKUP",
+ 7
+ ],
+ [
+ "FIB_API_PATH_TYPE_DVR",
+ 8
+ ],
+ [
+ "FIB_API_PATH_TYPE_INTERFACE_RX",
+ 9
+ ],
+ [
+ "FIB_API_PATH_TYPE_CLASSIFY",
+ 10
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "abf_plugin_get_version": {
+ "reply": "abf_plugin_get_version_reply"
+ },
+ "abf_policy_add_del": {
+ "reply": "abf_policy_add_del_reply"
+ },
+ "abf_policy_dump": {
+ "reply": "abf_policy_details",
+ "stream": true
+ },
+ "abf_itf_attach_add_del": {
+ "reply": "abf_itf_attach_add_del_reply"
+ },
+ "abf_itf_attach_dump": {
+ "reply": "abf_itf_attach_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xc2e5c644"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/acl.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/acl.api.json
new file mode 100644
index 0000000..eeb7f10
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/acl.api.json
@@ -0,0 +1,1095 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "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"
+ ]
+ ]
+ ],
+ "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_plugin_get_conn_table_max_entries",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "acl_plugin_get_conn_table_max_entries_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "conn_table_max_entries"
+ ],
+ {
+ "crc": "0x7a096d3d"
+ }
+ ],
+ [
+ "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": "0x13bc8539"
+ }
+ ],
+ [
+ "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": "0xf89d7a88"
+ }
+ ],
+ [
+ "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": "0x0c680ca5"
+ }
+ ],
+ [
+ "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": "0xd3d313e7"
+ }
+ ],
+ [
+ "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": "0xe164e69a"
+ }
+ ],
+ [
+ "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"
+ }
+ ],
+ [
+ "acl_interface_set_etype_whitelist",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "count"
+ ],
+ [
+ "u8",
+ "n_input"
+ ],
+ [
+ "u16",
+ "whitelist",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0xf515efc5"
+ }
+ ],
+ [
+ "acl_interface_set_etype_whitelist_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "acl_interface_etype_whitelist_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x529cb13f"
+ }
+ ],
+ [
+ "acl_interface_etype_whitelist_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "count"
+ ],
+ [
+ "u8",
+ "n_input"
+ ],
+ [
+ "u16",
+ "whitelist",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0x6a5d4e81"
+ }
+ ],
+ [
+ "acl_stats_intf_counters_enable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0xb3e225d2"
+ }
+ ],
+ [
+ "acl_stats_intf_counters_enable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "acl_plugin_get_version": {
+ "reply": "acl_plugin_get_version_reply"
+ },
+ "acl_plugin_control_ping": {
+ "reply": "acl_plugin_control_ping_reply"
+ },
+ "acl_plugin_get_conn_table_max_entries": {
+ "reply": "acl_plugin_get_conn_table_max_entries_reply"
+ },
+ "acl_add_replace": {
+ "reply": "acl_add_replace_reply"
+ },
+ "acl_del": {
+ "reply": "acl_del_reply"
+ },
+ "acl_interface_add_del": {
+ "reply": "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_add": {
+ "reply": "macip_acl_add_reply"
+ },
+ "macip_acl_add_replace": {
+ "reply": "macip_acl_add_replace_reply"
+ },
+ "macip_acl_del": {
+ "reply": "macip_acl_del_reply"
+ },
+ "macip_acl_interface_add_del": {
+ "reply": "macip_acl_interface_add_del_reply"
+ },
+ "macip_acl_dump": {
+ "reply": "macip_acl_details",
+ "stream": true
+ },
+ "macip_acl_interface_get": {
+ "reply": "macip_acl_interface_get_reply"
+ },
+ "macip_acl_interface_list_dump": {
+ "reply": "macip_acl_interface_list_details",
+ "stream": true
+ },
+ "acl_interface_set_etype_whitelist": {
+ "reply": "acl_interface_set_etype_whitelist_reply"
+ },
+ "acl_interface_etype_whitelist_dump": {
+ "reply": "acl_interface_etype_whitelist_details",
+ "stream": true
+ },
+ "acl_stats_intf_counters_enable": {
+ "reply": "acl_stats_intf_counters_enable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.1"
+ },
+ "aliases": {},
+ "vl_api_version": "0x11c5c1e5"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/acl_types.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/acl_types.api.json
new file mode 100644
index 0000000..b82a43e
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/acl_types.api.json
@@ -0,0 +1,98 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "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"
+ ]
+ ]
+ ],
+ "messages": [],
+ "unions": [],
+ "enums": [],
+ "services": {},
+ "options": {},
+ "aliases": {},
+ "vl_api_version": "0x1803336d"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/avf.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/avf.api.json
new file mode 100644
index 0000000..f741f29
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/avf.api.json
@@ -0,0 +1,277 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "avf_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "pci_addr"
+ ],
+ [
+ "i32",
+ "enable_elog"
+ ],
+ [
+ "u16",
+ "rxq_num"
+ ],
+ [
+ "u16",
+ "rxq_size"
+ ],
+ [
+ "u16",
+ "txq_size"
+ ],
+ {
+ "crc": "0xdaab8ae2"
+ }
+ ],
+ [
+ "avf_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "avf_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "avf_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "avf_create": {
+ "reply": "avf_create_reply"
+ },
+ "avf_delete": {
+ "reply": "avf_delete_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xb7c68e1d"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/builtinurl.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/builtinurl.api.json
new file mode 100644
index 0000000..355a7d7
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/builtinurl.api.json
@@ -0,0 +1,53 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "builtinurl_enable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "builtinurl_enable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "builtinurl_enable": {
+ "reply": "builtinurl_enable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x25045d63"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/cdp.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/cdp.api.json
new file mode 100644
index 0000000..30f861f
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/cdp.api.json
@@ -0,0 +1,57 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "cdp_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ {
+ "crc": "0x2e7b47df"
+ }
+ ],
+ [
+ "cdp_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "cdp_enable_disable": {
+ "reply": "cdp_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x8cfa825e"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/ct6.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/ct6.api.json
new file mode 100644
index 0000000..77bcc69
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/ct6.api.json
@@ -0,0 +1,222 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "ct6_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ [
+ "bool",
+ "is_inside"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5d02ac02"
+ }
+ ],
+ [
+ "ct6_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "ct6_enable_disable": {
+ "reply": "ct6_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xb294742c"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/dhcp.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/dhcp.api.json
new file mode 100644
index 0000000..6f74182
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/dhcp.api.json
@@ -0,0 +1,1581 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ],
+ [
+ "dhcp_client",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "string",
+ "hostname",
+ 64
+ ],
+ [
+ "u8",
+ "id",
+ 64
+ ],
+ [
+ "bool",
+ "want_dhcp_event"
+ ],
+ [
+ "bool",
+ "set_broadcast_flag"
+ ],
+ [
+ "vl_api_ip_dscp_t",
+ "dscp"
+ ],
+ [
+ "u32",
+ "pid"
+ ]
+ ],
+ [
+ "domain_server",
+ [
+ "vl_api_address_t",
+ "address"
+ ]
+ ],
+ [
+ "dhcp_lease",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_dhcp_client_state_t",
+ "state"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ [
+ "string",
+ "hostname",
+ 64
+ ],
+ [
+ "u8",
+ "mask_width"
+ ],
+ [
+ "vl_api_address_t",
+ "host_address"
+ ],
+ [
+ "vl_api_address_t",
+ "router_address"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "host_mac"
+ ],
+ [
+ "u8",
+ "count"
+ ],
+ [
+ "vl_api_domain_server_t",
+ "domain_server",
+ 0,
+ "count"
+ ]
+ ],
+ [
+ "dhcp_server",
+ [
+ "u32",
+ "server_vrf_id"
+ ],
+ [
+ "vl_api_address_t",
+ "dhcp_server"
+ ]
+ ],
+ [
+ "dhcp6_address_info",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u32",
+ "valid_time"
+ ],
+ [
+ "u32",
+ "preferred_time"
+ ]
+ ],
+ [
+ "dhcp6_pd_prefix_info",
+ [
+ "vl_api_ip6_prefix_t",
+ "prefix"
+ ],
+ [
+ "u32",
+ "valid_time"
+ ],
+ [
+ "u32",
+ "preferred_time"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "dhcp_plugin_get_version",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "dhcp_plugin_get_version_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "major"
+ ],
+ [
+ "u32",
+ "minor"
+ ],
+ {
+ "crc": "0x9b32cf86"
+ }
+ ],
+ [
+ "dhcp_plugin_control_ping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "dhcp_plugin_control_ping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "vpe_pid"
+ ],
+ {
+ "crc": "0xf6b0b8ca"
+ }
+ ],
+ [
+ "dhcp_proxy_config",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "rx_vrf_id"
+ ],
+ [
+ "u32",
+ "server_vrf_id"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_address_t",
+ "dhcp_server"
+ ],
+ [
+ "vl_api_address_t",
+ "dhcp_src_address"
+ ],
+ {
+ "crc": "0x6767230e"
+ }
+ ],
+ [
+ "dhcp_proxy_config_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dhcp_proxy_set_vss",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "tbl_id"
+ ],
+ [
+ "vl_api_vss_type_t",
+ "vss_type"
+ ],
+ [
+ "string",
+ "vpn_ascii_id",
+ 129
+ ],
+ [
+ "u32",
+ "oui"
+ ],
+ [
+ "u32",
+ "vpn_index"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0x50537301"
+ }
+ ],
+ [
+ "dhcp_proxy_set_vss_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dhcp_client_config",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_dhcp_client_t",
+ "client"
+ ],
+ {
+ "crc": "0x959b80a3"
+ }
+ ],
+ [
+ "dhcp_client_config_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dhcp_compl_event",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "vl_api_dhcp_lease_t",
+ "lease"
+ ],
+ {
+ "crc": "0xe908fd1d"
+ }
+ ],
+ [
+ "dhcp_client_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "dhcp_client_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_dhcp_client_t",
+ "client"
+ ],
+ [
+ "vl_api_dhcp_lease_t",
+ "lease"
+ ],
+ {
+ "crc": "0xacd82f5a"
+ }
+ ],
+ [
+ "dhcp_proxy_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_ip6"
+ ],
+ {
+ "crc": "0x5c5b063f"
+ }
+ ],
+ [
+ "dhcp_proxy_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "rx_vrf_id"
+ ],
+ [
+ "u32",
+ "vss_oui"
+ ],
+ [
+ "u32",
+ "vss_fib_id"
+ ],
+ [
+ "vl_api_vss_type_t",
+ "vss_type"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ [
+ "string",
+ "vss_vpn_ascii_id",
+ 129
+ ],
+ [
+ "vl_api_address_t",
+ "dhcp_src_address"
+ ],
+ [
+ "u8",
+ "count"
+ ],
+ [
+ "vl_api_dhcp_server_t",
+ "servers",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0xce16f044"
+ }
+ ],
+ [
+ "dhcp6_duid_ll_set",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "duid_ll",
+ 10
+ ],
+ {
+ "crc": "0x0f6ca323"
+ }
+ ],
+ [
+ "dhcp6_duid_ll_set_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dhcp6_clients_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0xb3e225d2"
+ }
+ ],
+ [
+ "dhcp6_clients_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dhcp6_send_client_message",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "server_index"
+ ],
+ [
+ "u32",
+ "irt"
+ ],
+ [
+ "u32",
+ "mrt"
+ ],
+ [
+ "u32",
+ "mrc"
+ ],
+ [
+ "u32",
+ "mrd"
+ ],
+ [
+ "bool",
+ "stop"
+ ],
+ [
+ "vl_api_dhcpv6_msg_type_t",
+ "msg_type"
+ ],
+ [
+ "u32",
+ "T1"
+ ],
+ [
+ "u32",
+ "T2"
+ ],
+ [
+ "u32",
+ "n_addresses"
+ ],
+ [
+ "vl_api_dhcp6_address_info_t",
+ "addresses",
+ 0,
+ "n_addresses"
+ ],
+ {
+ "crc": "0xf6f14ef0"
+ }
+ ],
+ [
+ "dhcp6_send_client_message_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dhcp6_pd_send_client_message",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "server_index"
+ ],
+ [
+ "u32",
+ "irt"
+ ],
+ [
+ "u32",
+ "mrt"
+ ],
+ [
+ "u32",
+ "mrc"
+ ],
+ [
+ "u32",
+ "mrd"
+ ],
+ [
+ "bool",
+ "stop"
+ ],
+ [
+ "vl_api_dhcpv6_msg_type_t",
+ "msg_type"
+ ],
+ [
+ "u32",
+ "T1"
+ ],
+ [
+ "u32",
+ "T2"
+ ],
+ [
+ "u32",
+ "n_prefixes"
+ ],
+ [
+ "vl_api_dhcp6_pd_prefix_info_t",
+ "prefixes",
+ 0,
+ "n_prefixes"
+ ],
+ {
+ "crc": "0x064badb8"
+ }
+ ],
+ [
+ "dhcp6_pd_send_client_message_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "want_dhcp6_reply_events",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "enable_disable"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ {
+ "crc": "0x05b454b5"
+ }
+ ],
+ [
+ "want_dhcp6_reply_events_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "want_dhcp6_pd_reply_events",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ {
+ "crc": "0xc5e2af94"
+ }
+ ],
+ [
+ "want_dhcp6_pd_reply_events_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dhcp6_reply_event",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "server_index"
+ ],
+ [
+ "vl_api_dhcpv6_msg_type_t",
+ "msg_type"
+ ],
+ [
+ "u32",
+ "T1"
+ ],
+ [
+ "u32",
+ "T2"
+ ],
+ [
+ "u16",
+ "inner_status_code"
+ ],
+ [
+ "u16",
+ "status_code"
+ ],
+ [
+ "u8",
+ "preference"
+ ],
+ [
+ "u32",
+ "n_addresses"
+ ],
+ [
+ "vl_api_dhcp6_address_info_t",
+ "addresses",
+ 0,
+ "n_addresses"
+ ],
+ {
+ "crc": "0x9f3af9e5"
+ }
+ ],
+ [
+ "dhcp6_pd_reply_event",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "server_index"
+ ],
+ [
+ "vl_api_dhcpv6_msg_type_t",
+ "msg_type"
+ ],
+ [
+ "u32",
+ "T1"
+ ],
+ [
+ "u32",
+ "T2"
+ ],
+ [
+ "u16",
+ "inner_status_code"
+ ],
+ [
+ "u16",
+ "status_code"
+ ],
+ [
+ "u8",
+ "preference"
+ ],
+ [
+ "u32",
+ "n_prefixes"
+ ],
+ [
+ "vl_api_dhcp6_pd_prefix_info_t",
+ "prefixes",
+ 0,
+ "n_prefixes"
+ ],
+ {
+ "crc": "0xcb3e462b"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "vss_type",
+ [
+ "VSS_TYPE_API_ASCII",
+ 0
+ ],
+ [
+ "VSS_TYPE_API_VPN_ID",
+ 1
+ ],
+ [
+ "VSS_TYPE_API_INVALID",
+ 123
+ ],
+ [
+ "VSS_TYPE_API_DEFAULT",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "dhcp_client_state",
+ [
+ "DHCP_CLIENT_STATE_API_DISCOVER",
+ 1
+ ],
+ [
+ "DHCP_CLIENT_STATE_API_REQUEST",
+ 2
+ ],
+ [
+ "DHCP_CLIENT_STATE_API_BOUND",
+ 3
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "dhcpv6_msg_type",
+ [
+ "DHCPV6_MSG_API_SOLICIT",
+ 1
+ ],
+ [
+ "DHCPV6_MSG_API_ADVERTISE",
+ 2
+ ],
+ [
+ "DHCPV6_MSG_API_REQUEST",
+ 3
+ ],
+ [
+ "DHCPV6_MSG_API_CONFIRM",
+ 4
+ ],
+ [
+ "DHCPV6_MSG_API_RENEW",
+ 5
+ ],
+ [
+ "DHCPV6_MSG_API_REBIND",
+ 6
+ ],
+ [
+ "DHCPV6_MSG_API_REPLY",
+ 7
+ ],
+ [
+ "DHCPV6_MSG_API_RELEASE",
+ 8
+ ],
+ [
+ "DHCPV6_MSG_API_DECLINE",
+ 9
+ ],
+ [
+ "DHCPV6_MSG_API_RECONFIGURE",
+ 10
+ ],
+ [
+ "DHCPV6_MSG_API_INFORMATION_REQUEST",
+ 11
+ ],
+ [
+ "DHCPV6_MSG_API_RELAY_FORW",
+ 12
+ ],
+ [
+ "DHCPV6_MSG_API_RELAY_REPL",
+ 13
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "dhcp_client_config": {
+ "reply": "dhcp_client_config_reply",
+ "events": [
+ "dhcp_compl_event"
+ ]
+ },
+ "want_dhcp6_reply_events": {
+ "reply": "want_dhcp6_reply_events_reply",
+ "events": [
+ "dhcp6_reply_event"
+ ]
+ },
+ "want_dhcp6_pd_reply_events": {
+ "reply": "want_dhcp6_pd_reply_events_reply",
+ "events": [
+ "dhcp6_pd_reply_event"
+ ]
+ },
+ "dhcp_plugin_get_version": {
+ "reply": "dhcp_plugin_get_version_reply"
+ },
+ "dhcp_plugin_control_ping": {
+ "reply": "dhcp_plugin_control_ping_reply"
+ },
+ "dhcp_proxy_config": {
+ "reply": "dhcp_proxy_config_reply"
+ },
+ "dhcp_proxy_set_vss": {
+ "reply": "dhcp_proxy_set_vss_reply"
+ },
+ "dhcp_client_dump": {
+ "reply": "dhcp_client_details",
+ "stream": true
+ },
+ "dhcp_proxy_dump": {
+ "reply": "dhcp_proxy_details",
+ "stream": true
+ },
+ "dhcp6_duid_ll_set": {
+ "reply": "dhcp6_duid_ll_set_reply"
+ },
+ "dhcp6_clients_enable_disable": {
+ "reply": "dhcp6_clients_enable_disable_reply"
+ },
+ "dhcp6_send_client_message": {
+ "reply": "dhcp6_send_client_message_reply"
+ },
+ "dhcp6_pd_send_client_message": {
+ "reply": "dhcp6_pd_send_client_message_reply"
+ }
+ },
+ "options": {
+ "version": "3.0.1"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ }
+ },
+ "vl_api_version": "0x96a5f046"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/dhcp6_ia_na_client_cp.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/dhcp6_ia_na_client_cp.api.json
new file mode 100644
index 0000000..00fdbe5
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/dhcp6_ia_na_client_cp.api.json
@@ -0,0 +1,218 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "dhcp6_client_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0xae6cfcfb"
+ }
+ ],
+ [
+ "dhcp6_client_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "dhcp6_client_enable_disable": {
+ "reply": "dhcp6_client_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.1"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x541d3edd"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/dhcp6_pd_client_cp.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/dhcp6_pd_client_cp.api.json
new file mode 100644
index 0000000..e4dcc62
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/dhcp6_pd_client_cp.api.json
@@ -0,0 +1,563 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "dhcp6_pd_client_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "string",
+ "prefix_group",
+ 64
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0xa75a0772"
+ }
+ ],
+ [
+ "dhcp6_pd_client_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip6_add_del_address_using_prefix",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "string",
+ "prefix_group",
+ 64
+ ],
+ [
+ "vl_api_ip6_address_with_prefix_t",
+ "address_with_prefix"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0x9b3d11e0"
+ }
+ ],
+ [
+ "ip6_add_del_address_using_prefix_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "dhcp6_pd_client_enable_disable": {
+ "reply": "dhcp6_pd_client_enable_disable_reply"
+ },
+ "ip6_add_del_address_using_prefix": {
+ "reply": "ip6_add_del_address_using_prefix_reply"
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ }
+ },
+ "vl_api_version": "0xb44ae848"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/dns.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/dns.api.json
new file mode 100644
index 0000000..493a07b
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/dns.api.json
@@ -0,0 +1,224 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "dns_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "enable"
+ ],
+ {
+ "crc": "0x8050327d"
+ }
+ ],
+ [
+ "dns_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dns_name_server_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ip6"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "server_address",
+ 16
+ ],
+ {
+ "crc": "0x3bb05d8c"
+ }
+ ],
+ [
+ "dns_name_server_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dns_resolve_name",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "name",
+ 256
+ ],
+ {
+ "crc": "0xc6566676"
+ }
+ ],
+ [
+ "dns_resolve_name_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "ip4_set"
+ ],
+ [
+ "u8",
+ "ip6_set"
+ ],
+ [
+ "u8",
+ "ip4_address",
+ 4
+ ],
+ [
+ "u8",
+ "ip6_address",
+ 16
+ ],
+ {
+ "crc": "0xc2d758c3"
+ }
+ ],
+ [
+ "dns_resolve_ip",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ip6"
+ ],
+ [
+ "u8",
+ "address",
+ 16
+ ],
+ {
+ "crc": "0xae96a1a3"
+ }
+ ],
+ [
+ "dns_resolve_ip_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "name",
+ 256
+ ],
+ {
+ "crc": "0x49ed78d6"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "dns_enable_disable": {
+ "reply": "dns_enable_disable_reply"
+ },
+ "dns_name_server_add_del": {
+ "reply": "dns_name_server_add_del_reply"
+ },
+ "dns_resolve_name": {
+ "reply": "dns_resolve_name_reply"
+ },
+ "dns_resolve_ip": {
+ "reply": "dns_resolve_ip_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x269575cd"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/flowprobe.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/flowprobe.api.json
new file mode 100644
index 0000000..f23376f
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/flowprobe.api.json
@@ -0,0 +1,309 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "flowprobe_tx_interface_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_flowprobe_which_flags_t",
+ "which"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xb782c976"
+ }
+ ],
+ [
+ "flowprobe_tx_interface_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "flowprobe_params",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_flowprobe_record_flags_t",
+ "record_flags"
+ ],
+ [
+ "u32",
+ "active_timer"
+ ],
+ [
+ "u32",
+ "passive_timer"
+ ],
+ {
+ "crc": "0xbaa46c09"
+ }
+ ],
+ [
+ "flowprobe_params_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "flowprobe_which_flags",
+ [
+ "FLOWPROBE_WHICH_FLAG_IP4",
+ 1
+ ],
+ [
+ "FLOWPROBE_WHICH_FLAG_L2",
+ 2
+ ],
+ [
+ "FLOWPROBE_WHICH_FLAG_IP6",
+ 4
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "flowprobe_record_flags",
+ [
+ "FLOWPROBE_RECORD_FLAG_L2",
+ 1
+ ],
+ [
+ "FLOWPROBE_RECORD_FLAG_L3",
+ 2
+ ],
+ [
+ "FLOWPROBE_RECORD_FLAG_L4",
+ 4
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ]
+ ],
+ "services": {
+ "flowprobe_tx_interface_add_del": {
+ "reply": "flowprobe_tx_interface_add_del_reply"
+ },
+ "flowprobe_params": {
+ "reply": "flowprobe_params_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xbb4dfc0d"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/gbp.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/gbp.api.json
new file mode 100644
index 0000000..455cfa2
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/gbp.api.json
@@ -0,0 +1,1930 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ],
+ [
+ "gbp_bridge_domain",
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "u32",
+ "rd_id"
+ ],
+ [
+ "vl_api_gbp_bridge_domain_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "bvi_sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "uu_fwd_sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "bm_flood_sw_if_index"
+ ]
+ ],
+ [
+ "gbp_route_domain",
+ [
+ "u32",
+ "rd_id"
+ ],
+ [
+ "u32",
+ "ip4_table_id"
+ ],
+ [
+ "u32",
+ "ip6_table_id"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "ip4_uu_sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "ip6_uu_sw_if_index"
+ ],
+ [
+ "vl_api_gbp_scope_t",
+ "scope"
+ ]
+ ],
+ [
+ "gbp_endpoint_tun",
+ [
+ "vl_api_address_t",
+ "src"
+ ],
+ [
+ "vl_api_address_t",
+ "dst"
+ ]
+ ],
+ [
+ "gbp_endpoint",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u16",
+ "sclass"
+ ],
+ [
+ "vl_api_gbp_endpoint_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac"
+ ],
+ [
+ "vl_api_gbp_endpoint_tun_t",
+ "tun"
+ ],
+ [
+ "u8",
+ "n_ips"
+ ],
+ [
+ "vl_api_address_t",
+ "ips",
+ 0,
+ "n_ips"
+ ]
+ ],
+ [
+ "gbp_endpoint_retention",
+ [
+ "u32",
+ "remote_ep_timeout"
+ ]
+ ],
+ [
+ "gbp_endpoint_group",
+ [
+ "u32",
+ "vnid"
+ ],
+ [
+ "u16",
+ "sclass"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "u32",
+ "rd_id"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "uplink_sw_if_index"
+ ],
+ [
+ "vl_api_gbp_endpoint_retention_t",
+ "retention"
+ ]
+ ],
+ [
+ "gbp_recirc",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u16",
+ "sclass"
+ ],
+ [
+ "bool",
+ "is_ext"
+ ]
+ ],
+ [
+ "gbp_subnet",
+ [
+ "u32",
+ "rd_id"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u16",
+ "sclass"
+ ],
+ [
+ "vl_api_gbp_subnet_type_t",
+ "type"
+ ],
+ [
+ "vl_api_prefix_t",
+ "prefix"
+ ]
+ ],
+ [
+ "gbp_next_hop",
+ [
+ "vl_api_address_t",
+ "ip"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "u32",
+ "rd_id"
+ ]
+ ],
+ [
+ "gbp_next_hop_set",
+ [
+ "vl_api_gbp_hash_mode_t",
+ "hash_mode"
+ ],
+ [
+ "u8",
+ "n_nhs"
+ ],
+ [
+ "vl_api_gbp_next_hop_t",
+ "nhs",
+ 8
+ ]
+ ],
+ [
+ "gbp_rule",
+ [
+ "vl_api_gbp_rule_action_t",
+ "action"
+ ],
+ [
+ "vl_api_gbp_next_hop_set_t",
+ "nh_set"
+ ]
+ ],
+ [
+ "gbp_contract",
+ [
+ "vl_api_gbp_scope_t",
+ "scope"
+ ],
+ [
+ "u16",
+ "sclass"
+ ],
+ [
+ "u16",
+ "dclass"
+ ],
+ [
+ "u32",
+ "acl_index"
+ ],
+ [
+ "u8",
+ "n_ether_types"
+ ],
+ [
+ "u16",
+ "allowed_ethertypes",
+ 16
+ ],
+ [
+ "u8",
+ "n_rules"
+ ],
+ [
+ "vl_api_gbp_rule_t",
+ "rules",
+ 0,
+ "n_rules"
+ ]
+ ],
+ [
+ "gbp_vxlan_tunnel",
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "vl_api_gbp_vxlan_tunnel_mode_t",
+ "mode"
+ ],
+ [
+ "u32",
+ "bd_rd_id"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "src"
+ ]
+ ],
+ [
+ "gbp_ext_itf",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "u32",
+ "rd_id"
+ ],
+ [
+ "vl_api_gbp_ext_itf_flags_t",
+ "flags"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "gbp_bridge_domain_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_bridge_domain_t",
+ "bd"
+ ],
+ {
+ "crc": "0x8454bfdf"
+ }
+ ],
+ [
+ "gbp_bridge_domain_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_bridge_domain_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ {
+ "crc": "0xc25fdce6"
+ }
+ ],
+ [
+ "gbp_bridge_domain_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_bridge_domain_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gbp_bridge_domain_dump_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_bridge_domain_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_bridge_domain_t",
+ "bd"
+ ],
+ {
+ "crc": "0x2acd15f9"
+ }
+ ],
+ [
+ "gbp_route_domain_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_route_domain_t",
+ "rd"
+ ],
+ {
+ "crc": "0x2d0afe38"
+ }
+ ],
+ [
+ "gbp_route_domain_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_route_domain_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "rd_id"
+ ],
+ {
+ "crc": "0xbee4edcd"
+ }
+ ],
+ [
+ "gbp_route_domain_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_route_domain_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gbp_route_domain_dump_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_route_domain_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_route_domain_t",
+ "rd"
+ ],
+ {
+ "crc": "0x8ab11375"
+ }
+ ],
+ [
+ "gbp_endpoint_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_endpoint_t",
+ "endpoint"
+ ],
+ {
+ "crc": "0x9ce16d5a"
+ }
+ ],
+ [
+ "gbp_endpoint_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "handle"
+ ],
+ {
+ "crc": "0x1dd3ff3e"
+ }
+ ],
+ [
+ "gbp_endpoint_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "handle"
+ ],
+ {
+ "crc": "0xb93cd566"
+ }
+ ],
+ [
+ "gbp_endpoint_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_endpoint_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gbp_endpoint_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "f64",
+ "age"
+ ],
+ [
+ "u32",
+ "handle"
+ ],
+ [
+ "vl_api_gbp_endpoint_t",
+ "endpoint"
+ ],
+ {
+ "crc": "0x08aecb60"
+ }
+ ],
+ [
+ "gbp_endpoint_group_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_endpoint_group_t",
+ "epg"
+ ],
+ {
+ "crc": "0x8e0f4054"
+ }
+ ],
+ [
+ "gbp_endpoint_group_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_endpoint_group_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "sclass"
+ ],
+ {
+ "crc": "0x3436b8b7"
+ }
+ ],
+ [
+ "gbp_endpoint_group_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_endpoint_group_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gbp_endpoint_group_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_endpoint_group_t",
+ "epg"
+ ],
+ {
+ "crc": "0x8f38292c"
+ }
+ ],
+ [
+ "gbp_recirc_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_gbp_recirc_t",
+ "recirc"
+ ],
+ {
+ "crc": "0x718c69c3"
+ }
+ ],
+ [
+ "gbp_recirc_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_recirc_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gbp_recirc_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_recirc_t",
+ "recirc"
+ ],
+ {
+ "crc": "0x66ecc42e"
+ }
+ ],
+ [
+ "gbp_subnet_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_gbp_subnet_t",
+ "subnet"
+ ],
+ {
+ "crc": "0x888aca35"
+ }
+ ],
+ [
+ "gbp_subnet_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_subnet_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gbp_subnet_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_subnet_t",
+ "subnet"
+ ],
+ {
+ "crc": "0x4ed84156"
+ }
+ ],
+ [
+ "gbp_contract_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_gbp_contract_t",
+ "contract"
+ ],
+ {
+ "crc": "0x553e275b"
+ }
+ ],
+ [
+ "gbp_contract_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "stats_index"
+ ],
+ {
+ "crc": "0x1992deab"
+ }
+ ],
+ [
+ "gbp_contract_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gbp_contract_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_contract_t",
+ "contract"
+ ],
+ {
+ "crc": "0x2a18db6e"
+ }
+ ],
+ [
+ "gbp_vxlan_tunnel_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_vxlan_tunnel_t",
+ "tunnel"
+ ],
+ {
+ "crc": "0x3e070b35"
+ }
+ ],
+ [
+ "gbp_vxlan_tunnel_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "gbp_vxlan_tunnel_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ {
+ "crc": "0x8d1f2fe9"
+ }
+ ],
+ [
+ "gbp_vxlan_tunnel_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_vxlan_tunnel_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gbp_vxlan_tunnel_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_vxlan_tunnel_t",
+ "tunnel"
+ ],
+ {
+ "crc": "0x65c6c818"
+ }
+ ],
+ [
+ "gbp_ext_itf_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_gbp_ext_itf_t",
+ "ext_itf"
+ ],
+ {
+ "crc": "0x12ed5700"
+ }
+ ],
+ [
+ "gbp_ext_itf_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gbp_ext_itf_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gbp_ext_itf_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gbp_ext_itf_t",
+ "ext_itf"
+ ],
+ {
+ "crc": "0x408a45c0"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "gbp_bridge_domain_flags",
+ [
+ "GBP_BD_API_FLAG_NONE",
+ 0
+ ],
+ [
+ "GBP_BD_API_FLAG_DO_NOT_LEARN",
+ 1
+ ],
+ [
+ "GBP_BD_API_FLAG_UU_FWD_DROP",
+ 2
+ ],
+ [
+ "GBP_BD_API_FLAG_MCAST_DROP",
+ 4
+ ],
+ [
+ "GBP_BD_API_FLAG_UCAST_ARP",
+ 8
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "gbp_endpoint_flags",
+ [
+ "GBP_API_ENDPOINT_FLAG_NONE",
+ 0
+ ],
+ [
+ "GBP_API_ENDPOINT_FLAG_BOUNCE",
+ 1
+ ],
+ [
+ "GBP_API_ENDPOINT_FLAG_REMOTE",
+ 2
+ ],
+ [
+ "GBP_API_ENDPOINT_FLAG_LEARNT",
+ 4
+ ],
+ [
+ "GBP_API_ENDPOINT_FLAG_EXTERNAL",
+ 8
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "gbp_subnet_type",
+ [
+ "GBP_API_SUBNET_TRANSPORT",
+ 1
+ ],
+ [
+ "GBP_API_SUBNET_STITCHED_INTERNAL",
+ 2
+ ],
+ [
+ "GBP_API_SUBNET_STITCHED_EXTERNAL",
+ 3
+ ],
+ [
+ "GBP_API_SUBNET_L3_OUT",
+ 4
+ ],
+ [
+ "GBP_API_SUBNET_ANON_L3_OUT",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "gbp_hash_mode",
+ [
+ "GBP_API_HASH_MODE_SRC_IP",
+ 1
+ ],
+ [
+ "GBP_API_HASH_MODE_DST_IP",
+ 2
+ ],
+ [
+ "GBP_API_HASH_MODE_SYMMETRIC",
+ 3
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "gbp_rule_action",
+ [
+ "GBP_API_RULE_PERMIT",
+ 1
+ ],
+ [
+ "GBP_API_RULE_DENY",
+ 2
+ ],
+ [
+ "GBP_API_RULE_REDIRECT",
+ 3
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "gbp_vxlan_tunnel_mode",
+ [
+ "GBP_VXLAN_TUNNEL_MODE_L2",
+ 1
+ ],
+ [
+ "GBP_VXLAN_TUNNEL_MODE_L3",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "gbp_ext_itf_flags",
+ [
+ "GBP_API_EXT_ITF_F_NONE",
+ 0
+ ],
+ [
+ "GBP_API_EXT_ITF_F_ANON",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "gbp_bridge_domain_add": {
+ "reply": "gbp_bridge_domain_add_reply"
+ },
+ "gbp_bridge_domain_del": {
+ "reply": "gbp_bridge_domain_del_reply"
+ },
+ "gbp_bridge_domain_dump": {
+ "reply": "gbp_bridge_domain_details",
+ "stream": true
+ },
+ "gbp_route_domain_add": {
+ "reply": "gbp_route_domain_add_reply"
+ },
+ "gbp_route_domain_del": {
+ "reply": "gbp_route_domain_del_reply"
+ },
+ "gbp_route_domain_dump": {
+ "reply": "gbp_route_domain_details",
+ "stream": true
+ },
+ "gbp_endpoint_add": {
+ "reply": "gbp_endpoint_add_reply"
+ },
+ "gbp_endpoint_del": {
+ "reply": "gbp_endpoint_del_reply"
+ },
+ "gbp_endpoint_dump": {
+ "reply": "gbp_endpoint_details",
+ "stream": true
+ },
+ "gbp_endpoint_group_add": {
+ "reply": "gbp_endpoint_group_add_reply"
+ },
+ "gbp_endpoint_group_del": {
+ "reply": "gbp_endpoint_group_del_reply"
+ },
+ "gbp_endpoint_group_dump": {
+ "reply": "gbp_endpoint_group_details",
+ "stream": true
+ },
+ "gbp_recirc_add_del": {
+ "reply": "gbp_recirc_add_del_reply"
+ },
+ "gbp_recirc_dump": {
+ "reply": "gbp_recirc_details",
+ "stream": true
+ },
+ "gbp_subnet_add_del": {
+ "reply": "gbp_subnet_add_del_reply"
+ },
+ "gbp_subnet_dump": {
+ "reply": "gbp_subnet_details",
+ "stream": true
+ },
+ "gbp_contract_add_del": {
+ "reply": "gbp_contract_add_del_reply"
+ },
+ "gbp_contract_dump": {
+ "reply": "gbp_contract_details",
+ "stream": true
+ },
+ "gbp_vxlan_tunnel_add": {
+ "reply": "gbp_vxlan_tunnel_add_reply"
+ },
+ "gbp_vxlan_tunnel_del": {
+ "reply": "gbp_vxlan_tunnel_del_reply"
+ },
+ "gbp_vxlan_tunnel_dump": {
+ "reply": "gbp_vxlan_tunnel_details",
+ "stream": true
+ },
+ "gbp_ext_itf_add_del": {
+ "reply": "gbp_ext_itf_add_del_reply"
+ },
+ "gbp_ext_itf_dump": {
+ "reply": "gbp_ext_itf_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ },
+ "interface_index": {
+ "type": "u32"
+ },
+ "gbp_scope": {
+ "type": "u16"
+ }
+ },
+ "vl_api_version": "0xa891d6ff"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/gtpu.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/gtpu.api.json
new file mode 100644
index 0000000..63cee32
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/gtpu.api.json
@@ -0,0 +1,645 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "gtpu_add_del_tunnel",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_address_t",
+ "src_address"
+ ],
+ [
+ "vl_api_address_t",
+ "dst_address"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "mcast_sw_if_index"
+ ],
+ [
+ "u32",
+ "encap_vrf_id"
+ ],
+ [
+ "u32",
+ "decap_next_index"
+ ],
+ [
+ "u32",
+ "teid"
+ ],
+ {
+ "crc": "0x9a26a51c"
+ }
+ ],
+ [
+ "gtpu_add_del_tunnel_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "gtpu_tunnel_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "gtpu_tunnel_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_address_t",
+ "src_address"
+ ],
+ [
+ "vl_api_address_t",
+ "dst_address"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "mcast_sw_if_index"
+ ],
+ [
+ "u32",
+ "encap_vrf_id"
+ ],
+ [
+ "u32",
+ "decap_next_index"
+ ],
+ [
+ "u32",
+ "teid"
+ ],
+ {
+ "crc": "0xa4d81a09"
+ }
+ ],
+ [
+ "sw_interface_set_gtpu_bypass",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0x65247409"
+ }
+ ],
+ [
+ "sw_interface_set_gtpu_bypass_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "gtpu_add_del_tunnel": {
+ "reply": "gtpu_add_del_tunnel_reply"
+ },
+ "gtpu_tunnel_dump": {
+ "reply": "gtpu_tunnel_details",
+ "stream": true
+ },
+ "sw_interface_set_gtpu_bypass": {
+ "reply": "sw_interface_set_gtpu_bypass_reply"
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ }
+ },
+ "vl_api_version": "0x6305cc01"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/http_static.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/http_static.api.json
new file mode 100644
index 0000000..5bd9315
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/http_static.api.json
@@ -0,0 +1,79 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "http_static_enable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "fifo_size"
+ ],
+ [
+ "u32",
+ "cache_size_limit"
+ ],
+ [
+ "u32",
+ "prealloc_fifos"
+ ],
+ [
+ "u32",
+ "private_segment_size"
+ ],
+ [
+ "string",
+ "www_root",
+ 256
+ ],
+ [
+ "string",
+ "uri",
+ 256
+ ],
+ {
+ "crc": "0x075f8292"
+ }
+ ],
+ [
+ "http_static_enable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "http_static_enable": {
+ "reply": "http_static_enable_reply"
+ }
+ },
+ "options": {
+ "version": "2.1.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0xd29e72e9"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/igmp.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/igmp.api.json
new file mode 100644
index 0000000..80a5120
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/igmp.api.json
@@ -0,0 +1,969 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ],
+ [
+ "igmp_group",
+ [
+ "vl_api_filter_mode_t",
+ "filter"
+ ],
+ [
+ "u8",
+ "n_srcs"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "gaddr"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "saddrs",
+ 0,
+ "n_srcs"
+ ]
+ ],
+ [
+ "group_prefix",
+ [
+ "vl_api_group_prefix_type_t",
+ "type"
+ ],
+ [
+ "vl_api_prefix_t",
+ "prefix"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "igmp_listen",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_igmp_group_t",
+ "group"
+ ],
+ {
+ "crc": "0x3f93a51a"
+ }
+ ],
+ [
+ "igmp_listen_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "igmp_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ [
+ "u8",
+ "mode"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xb1edfb96"
+ }
+ ],
+ [
+ "igmp_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "igmp_proxy_device_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "add"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x0b9be9ce"
+ }
+ ],
+ [
+ "igmp_proxy_device_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "igmp_proxy_device_add_del_interface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "add"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x1a9ec24a"
+ }
+ ],
+ [
+ "igmp_proxy_device_add_del_interface_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "igmp_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "igmp_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "saddr"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "gaddr"
+ ],
+ {
+ "crc": "0x52f12a89"
+ }
+ ],
+ [
+ "igmp_clear_interface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "igmp_clear_interface_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "want_igmp_events",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "enable"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ {
+ "crc": "0xcfaccc1f"
+ }
+ ],
+ [
+ "want_igmp_events_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "igmp_event",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_filter_mode_t",
+ "filter"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "saddr"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "gaddr"
+ ],
+ {
+ "crc": "0xd7696eaf"
+ }
+ ],
+ [
+ "igmp_group_prefix_set",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_group_prefix_t",
+ "gp"
+ ],
+ {
+ "crc": "0xd4f20ac5"
+ }
+ ],
+ [
+ "igmp_group_prefix_set_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "igmp_group_prefix_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "igmp_group_prefix_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_group_prefix_t",
+ "gp"
+ ],
+ {
+ "crc": "0xc3b3c526"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "filter_mode",
+ [
+ "EXCLUDE",
+ 0
+ ],
+ [
+ "INCLUDE",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "group_prefix_type",
+ [
+ "ASM",
+ 0
+ ],
+ [
+ "SSM",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "want_igmp_events": {
+ "reply": "want_igmp_events_reply",
+ "events": [
+ "igmp_event"
+ ]
+ },
+ "igmp_listen": {
+ "reply": "igmp_listen_reply"
+ },
+ "igmp_enable_disable": {
+ "reply": "igmp_enable_disable_reply"
+ },
+ "igmp_proxy_device_add_del": {
+ "reply": "igmp_proxy_device_add_del_reply"
+ },
+ "igmp_proxy_device_add_del_interface": {
+ "reply": "igmp_proxy_device_add_del_interface_reply"
+ },
+ "igmp_dump": {
+ "reply": "igmp_details",
+ "stream": true
+ },
+ "igmp_clear_interface": {
+ "reply": "igmp_clear_interface_reply"
+ },
+ "igmp_group_prefix_set": {
+ "reply": "igmp_group_prefix_set_reply"
+ },
+ "igmp_group_prefix_dump": {
+ "reply": "igmp_group_prefix_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xfd1fef7b"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/ikev2.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/ikev2.api.json
new file mode 100644
index 0000000..84c8259
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/ikev2.api.json
@@ -0,0 +1,1187 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "ikev2_plugin_get_version",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ikev2_plugin_get_version_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "major"
+ ],
+ [
+ "u32",
+ "minor"
+ ],
+ {
+ "crc": "0x9b32cf86"
+ }
+ ],
+ [
+ "ikev2_profile_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0x2c925b55"
+ }
+ ],
+ [
+ "ikev2_profile_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_profile_set_auth",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ [
+ "u8",
+ "auth_method"
+ ],
+ [
+ "bool",
+ "is_hex"
+ ],
+ [
+ "u32",
+ "data_len"
+ ],
+ [
+ "u8",
+ "data",
+ 0,
+ "data_len"
+ ],
+ {
+ "crc": "0x642c97cd"
+ }
+ ],
+ [
+ "ikev2_profile_set_auth_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_profile_set_id",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ [
+ "bool",
+ "is_local"
+ ],
+ [
+ "u8",
+ "id_type"
+ ],
+ [
+ "u32",
+ "data_len"
+ ],
+ [
+ "u8",
+ "data",
+ 0,
+ "data_len"
+ ],
+ {
+ "crc": "0x4d7e2418"
+ }
+ ],
+ [
+ "ikev2_profile_set_id_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_profile_set_ts",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ [
+ "bool",
+ "is_local"
+ ],
+ [
+ "u8",
+ "proto"
+ ],
+ [
+ "u16",
+ "start_port"
+ ],
+ [
+ "u16",
+ "end_port"
+ ],
+ [
+ "u32",
+ "start_addr"
+ ],
+ [
+ "u32",
+ "end_addr"
+ ],
+ {
+ "crc": "0x64d55c16"
+ }
+ ],
+ [
+ "ikev2_profile_set_ts_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_set_local_key",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "key_file",
+ 256
+ ],
+ {
+ "crc": "0xe4996cd5"
+ }
+ ],
+ [
+ "ikev2_set_local_key_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_set_responder",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ {
+ "crc": "0xf0d3dc80"
+ }
+ ],
+ [
+ "ikev2_set_responder_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_set_ike_transforms",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ [
+ "u32",
+ "crypto_alg"
+ ],
+ [
+ "u32",
+ "crypto_key_size"
+ ],
+ [
+ "u32",
+ "integ_alg"
+ ],
+ [
+ "u32",
+ "dh_group"
+ ],
+ {
+ "crc": "0x936a1a37"
+ }
+ ],
+ [
+ "ikev2_set_ike_transforms_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_set_esp_transforms",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ [
+ "u32",
+ "crypto_alg"
+ ],
+ [
+ "u32",
+ "crypto_key_size"
+ ],
+ [
+ "u32",
+ "integ_alg"
+ ],
+ [
+ "u32",
+ "dh_group"
+ ],
+ {
+ "crc": "0x936a1a37"
+ }
+ ],
+ [
+ "ikev2_set_esp_transforms_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_set_sa_lifetime",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ [
+ "u64",
+ "lifetime"
+ ],
+ [
+ "u32",
+ "lifetime_jitter"
+ ],
+ [
+ "u32",
+ "handover"
+ ],
+ [
+ "u64",
+ "lifetime_maxdata"
+ ],
+ {
+ "crc": "0x7039feaa"
+ }
+ ],
+ [
+ "ikev2_set_sa_lifetime_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_initiate_sa_init",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ {
+ "crc": "0xebf79a66"
+ }
+ ],
+ [
+ "ikev2_initiate_sa_init_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_initiate_del_ike_sa",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "ispi"
+ ],
+ {
+ "crc": "0x8d125bdd"
+ }
+ ],
+ [
+ "ikev2_initiate_del_ike_sa_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_initiate_del_child_sa",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "ispi"
+ ],
+ {
+ "crc": "0x7f004d2e"
+ }
+ ],
+ [
+ "ikev2_initiate_del_child_sa_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ikev2_initiate_rekey_child_sa",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "ispi"
+ ],
+ {
+ "crc": "0x7f004d2e"
+ }
+ ],
+ [
+ "ikev2_initiate_rekey_child_sa_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "ikev2_plugin_get_version": {
+ "reply": "ikev2_plugin_get_version_reply"
+ },
+ "ikev2_profile_add_del": {
+ "reply": "ikev2_profile_add_del_reply"
+ },
+ "ikev2_profile_set_auth": {
+ "reply": "ikev2_profile_set_auth_reply"
+ },
+ "ikev2_profile_set_id": {
+ "reply": "ikev2_profile_set_id_reply"
+ },
+ "ikev2_profile_set_ts": {
+ "reply": "ikev2_profile_set_ts_reply"
+ },
+ "ikev2_set_local_key": {
+ "reply": "ikev2_set_local_key_reply"
+ },
+ "ikev2_set_responder": {
+ "reply": "ikev2_set_responder_reply"
+ },
+ "ikev2_set_ike_transforms": {
+ "reply": "ikev2_set_ike_transforms_reply"
+ },
+ "ikev2_set_esp_transforms": {
+ "reply": "ikev2_set_esp_transforms_reply"
+ },
+ "ikev2_set_sa_lifetime": {
+ "reply": "ikev2_set_sa_lifetime_reply"
+ },
+ "ikev2_initiate_sa_init": {
+ "reply": "ikev2_initiate_sa_init_reply"
+ },
+ "ikev2_initiate_del_ike_sa": {
+ "reply": "ikev2_initiate_del_ike_sa_reply"
+ },
+ "ikev2_initiate_del_child_sa": {
+ "reply": "ikev2_initiate_del_child_sa_reply"
+ },
+ "ikev2_initiate_rekey_child_sa": {
+ "reply": "ikev2_initiate_rekey_child_sa_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.1"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x4eab5d22"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/ioam_cache.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/ioam_cache.api.json
new file mode 100644
index 0000000..bf9bdeb
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/ioam_cache.api.json
@@ -0,0 +1,57 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "ioam_cache_ip6_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_disable"
+ ],
+ {
+ "crc": "0x47705c03"
+ }
+ ],
+ [
+ "ioam_cache_ip6_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "ioam_cache_ip6_enable_disable": {
+ "reply": "ioam_cache_ip6_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0xd0a0cf20"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/ioam_export.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/ioam_export.api.json
new file mode 100644
index 0000000..aedd65d
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/ioam_export.api.json
@@ -0,0 +1,351 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "ioam_export_ip6_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_disable"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "collector_address"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "src_address"
+ ],
+ {
+ "crc": "0xe4d4ebfa"
+ }
+ ],
+ [
+ "ioam_export_ip6_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "ioam_export_ip6_enable_disable": {
+ "reply": "ioam_export_ip6_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ }
+ },
+ "vl_api_version": "0xc6fdb83f"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/ioam_vxlan_gpe.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/ioam_vxlan_gpe.api.json
new file mode 100644
index 0000000..0bc2f0a
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/ioam_vxlan_gpe.api.json
@@ -0,0 +1,594 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "vxlan_gpe_ioam_enable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "id"
+ ],
+ [
+ "u8",
+ "trace_ppc"
+ ],
+ [
+ "bool",
+ "pow_enable"
+ ],
+ [
+ "bool",
+ "trace_enable"
+ ],
+ {
+ "crc": "0x2481bef7"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_enable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "id"
+ ],
+ {
+ "crc": "0x6b16a45e"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_vni_enable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "vl_api_address_t",
+ "local"
+ ],
+ [
+ "vl_api_address_t",
+ "remote"
+ ],
+ {
+ "crc": "0x997161fb"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_vni_enable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_vni_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "vl_api_address_t",
+ "local"
+ ],
+ [
+ "vl_api_address_t",
+ "remote"
+ ],
+ {
+ "crc": "0x997161fb"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_vni_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_transit_enable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "outer_fib_index"
+ ],
+ [
+ "vl_api_address_t",
+ "dst_addr"
+ ],
+ {
+ "crc": "0x553f5b7b"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_transit_enable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_transit_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "outer_fib_index"
+ ],
+ [
+ "vl_api_address_t",
+ "dst_addr"
+ ],
+ {
+ "crc": "0x553f5b7b"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_transit_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "vxlan_gpe_ioam_enable": {
+ "reply": "vxlan_gpe_ioam_enable_reply"
+ },
+ "vxlan_gpe_ioam_disable": {
+ "reply": "vxlan_gpe_ioam_disable_reply"
+ },
+ "vxlan_gpe_ioam_vni_enable": {
+ "reply": "vxlan_gpe_ioam_vni_enable_reply"
+ },
+ "vxlan_gpe_ioam_vni_disable": {
+ "reply": "vxlan_gpe_ioam_vni_disable_reply"
+ },
+ "vxlan_gpe_ioam_transit_enable": {
+ "reply": "vxlan_gpe_ioam_transit_enable_reply"
+ },
+ "vxlan_gpe_ioam_transit_disable": {
+ "reply": "vxlan_gpe_ioam_transit_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ }
+ },
+ "vl_api_version": "0xf80eb923"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/l2e.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/l2e.api.json
new file mode 100644
index 0000000..b1168f7
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/l2e.api.json
@@ -0,0 +1,218 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "l2_emulation",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0xae6cfcfb"
+ }
+ ],
+ [
+ "l2_emulation_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "l2_emulation": {
+ "reply": "l2_emulation_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x541d3edd"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/l3xc.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/l3xc.api.json
new file mode 100644
index 0000000..bec72fb
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/l3xc.api.json
@@ -0,0 +1,841 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ],
+ [
+ "fib_mpls_label",
+ [
+ "u8",
+ "is_uniform"
+ ],
+ [
+ "u32",
+ "label"
+ ],
+ [
+ "u8",
+ "ttl"
+ ],
+ [
+ "u8",
+ "exp"
+ ]
+ ],
+ [
+ "fib_path_nh",
+ [
+ "vl_api_address_union_t",
+ "address"
+ ],
+ [
+ "u32",
+ "via_label"
+ ],
+ [
+ "u32",
+ "obj_id"
+ ],
+ [
+ "u32",
+ "classify_table_index"
+ ]
+ ],
+ [
+ "fib_path",
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u32",
+ "rpf_id"
+ ],
+ [
+ "u8",
+ "weight"
+ ],
+ [
+ "u8",
+ "preference"
+ ],
+ [
+ "vl_api_fib_path_type_t",
+ "type"
+ ],
+ [
+ "vl_api_fib_path_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_fib_path_nh_proto_t",
+ "proto"
+ ],
+ [
+ "vl_api_fib_path_nh_t",
+ "nh"
+ ],
+ [
+ "u8",
+ "n_labels"
+ ],
+ [
+ "vl_api_fib_mpls_label_t",
+ "label_stack",
+ 16
+ ]
+ ],
+ [
+ "l3xc",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_ip6"
+ ],
+ [
+ "u8",
+ "n_paths"
+ ],
+ [
+ "vl_api_fib_path_t",
+ "paths",
+ 0,
+ "n_paths"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "l3xc_plugin_get_version",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "l3xc_plugin_get_version_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "major"
+ ],
+ [
+ "u32",
+ "minor"
+ ],
+ {
+ "crc": "0x9b32cf86"
+ }
+ ],
+ [
+ "l3xc_update",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_l3xc_t",
+ "l3xc"
+ ],
+ {
+ "crc": "0x0787b1d3"
+ }
+ ],
+ [
+ "l3xc_update_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "stats_index"
+ ],
+ {
+ "crc": "0x1992deab"
+ }
+ ],
+ [
+ "l3xc_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_ip6"
+ ],
+ {
+ "crc": "0xe7dbef91"
+ }
+ ],
+ [
+ "l3xc_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "l3xc_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "l3xc_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_l3xc_t",
+ "l3xc"
+ ],
+ {
+ "crc": "0xd4f69627"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "fib_path_nh_proto",
+ [
+ "FIB_API_PATH_NH_PROTO_IP4",
+ 0
+ ],
+ [
+ "FIB_API_PATH_NH_PROTO_IP6",
+ 1
+ ],
+ [
+ "FIB_API_PATH_NH_PROTO_MPLS",
+ 2
+ ],
+ [
+ "FIB_API_PATH_NH_PROTO_ETHERNET",
+ 3
+ ],
+ [
+ "FIB_API_PATH_NH_PROTO_BIER",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "fib_path_flags",
+ [
+ "FIB_API_PATH_FLAG_NONE",
+ 0
+ ],
+ [
+ "FIB_API_PATH_FLAG_RESOLVE_VIA_ATTACHED",
+ 1
+ ],
+ [
+ "FIB_API_PATH_FLAG_RESOLVE_VIA_HOST",
+ 2
+ ],
+ [
+ "FIB_API_PATH_FLAG_POP_PW_CW",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "fib_path_type",
+ [
+ "FIB_API_PATH_TYPE_NORMAL",
+ 0
+ ],
+ [
+ "FIB_API_PATH_TYPE_LOCAL",
+ 1
+ ],
+ [
+ "FIB_API_PATH_TYPE_DROP",
+ 2
+ ],
+ [
+ "FIB_API_PATH_TYPE_UDP_ENCAP",
+ 3
+ ],
+ [
+ "FIB_API_PATH_TYPE_BIER_IMP",
+ 4
+ ],
+ [
+ "FIB_API_PATH_TYPE_ICMP_UNREACH",
+ 5
+ ],
+ [
+ "FIB_API_PATH_TYPE_ICMP_PROHIBIT",
+ 6
+ ],
+ [
+ "FIB_API_PATH_TYPE_SOURCE_LOOKUP",
+ 7
+ ],
+ [
+ "FIB_API_PATH_TYPE_DVR",
+ 8
+ ],
+ [
+ "FIB_API_PATH_TYPE_INTERFACE_RX",
+ 9
+ ],
+ [
+ "FIB_API_PATH_TYPE_CLASSIFY",
+ 10
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "l3xc_plugin_get_version": {
+ "reply": "l3xc_plugin_get_version_reply"
+ },
+ "l3xc_update": {
+ "reply": "l3xc_update_reply"
+ },
+ "l3xc_del": {
+ "reply": "l3xc_del_reply"
+ },
+ "l3xc_dump": {
+ "reply": "l3xc_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.0.1"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x80b00c99"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/lacp.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/lacp.api.json
new file mode 100644
index 0000000..ca7599b
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/lacp.api.json
@@ -0,0 +1,289 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "sw_interface_lacp_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "sw_interface_lacp_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "string",
+ "interface_name",
+ 64
+ ],
+ [
+ "u32",
+ "rx_state"
+ ],
+ [
+ "u32",
+ "tx_state"
+ ],
+ [
+ "u32",
+ "mux_state"
+ ],
+ [
+ "u32",
+ "ptx_state"
+ ],
+ [
+ "string",
+ "bond_interface_name",
+ 64
+ ],
+ [
+ "u16",
+ "actor_system_priority"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "actor_system"
+ ],
+ [
+ "u16",
+ "actor_key"
+ ],
+ [
+ "u16",
+ "actor_port_priority"
+ ],
+ [
+ "u16",
+ "actor_port_number"
+ ],
+ [
+ "u8",
+ "actor_state"
+ ],
+ [
+ "u16",
+ "partner_system_priority"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "partner_system"
+ ],
+ [
+ "u16",
+ "partner_key"
+ ],
+ [
+ "u16",
+ "partner_port_priority"
+ ],
+ [
+ "u16",
+ "partner_port_number"
+ ],
+ [
+ "u8",
+ "partner_state"
+ ],
+ {
+ "crc": "0x745ae0ba"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "sw_interface_lacp_dump": {
+ "reply": "sw_interface_lacp_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x930086a4"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/lb.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/lb.api.json
new file mode 100644
index 0000000..ae9b8d0
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/lb.api.json
@@ -0,0 +1,1090 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ],
+ [
+ "lb_vip",
+ [
+ "vl_api_address_with_prefix_t",
+ "pfx"
+ ],
+ [
+ "vl_api_ip_proto_t",
+ "protocol"
+ ],
+ [
+ "u16",
+ "port"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "lb_conf",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip4_src_address"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6_src_address"
+ ],
+ [
+ "u32",
+ "sticky_buckets_per_core"
+ ],
+ [
+ "u32",
+ "flow_timeout"
+ ],
+ {
+ "crc": "0x22ddb739"
+ }
+ ],
+ [
+ "lb_conf_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lb_add_del_vip",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_with_prefix_t",
+ "pfx"
+ ],
+ [
+ "u8",
+ "protocol",
+ {
+ "default": 255
+ }
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "vl_api_lb_encap_type_t",
+ "encap"
+ ],
+ [
+ "u8",
+ "dscp"
+ ],
+ [
+ "vl_api_lb_srv_type_t",
+ "type"
+ ],
+ [
+ "u16",
+ "target_port"
+ ],
+ [
+ "u16",
+ "node_port"
+ ],
+ [
+ "u32",
+ "new_flows_table_length",
+ {
+ "default": 1024
+ }
+ ],
+ [
+ "bool",
+ "is_del"
+ ],
+ {
+ "crc": "0xd15b7ddc"
+ }
+ ],
+ [
+ "lb_add_del_vip_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lb_add_del_as",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_with_prefix_t",
+ "pfx"
+ ],
+ [
+ "u8",
+ "protocol",
+ {
+ "default": 255
+ }
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "vl_api_address_t",
+ "as_address"
+ ],
+ [
+ "bool",
+ "is_del"
+ ],
+ [
+ "bool",
+ "is_flush"
+ ],
+ {
+ "crc": "0x78628987"
+ }
+ ],
+ [
+ "lb_add_del_as_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lb_flush_vip",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_with_prefix_t",
+ "pfx"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ {
+ "crc": "0x1063f819"
+ }
+ ],
+ [
+ "lb_flush_vip_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lb_vip_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_with_prefix_t",
+ "pfx"
+ ],
+ [
+ "vl_api_prefix_matcher_t",
+ "pfx_matcher"
+ ],
+ [
+ "u8",
+ "protocol",
+ {
+ "default": 255
+ }
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ {
+ "crc": "0xc7bcb124"
+ }
+ ],
+ [
+ "lb_vip_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_lb_vip_t",
+ "vip"
+ ],
+ [
+ "vl_api_lb_encap_type_t",
+ "encap"
+ ],
+ [
+ "vl_api_ip_dscp_t",
+ "dscp"
+ ],
+ [
+ "vl_api_lb_srv_type_t",
+ "srv_type"
+ ],
+ [
+ "u16",
+ "target_port"
+ ],
+ [
+ "u16",
+ "flow_table_length"
+ ],
+ {
+ "crc": "0x08f39bed"
+ }
+ ],
+ [
+ "lb_as_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_with_prefix_t",
+ "pfx"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ {
+ "crc": "0x1063f819"
+ }
+ ],
+ [
+ "lb_as_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_lb_vip_t",
+ "vip"
+ ],
+ [
+ "vl_api_address_t",
+ "app_srv"
+ ],
+ [
+ "u8",
+ "flags"
+ ],
+ [
+ "u32",
+ "in_use_since"
+ ],
+ {
+ "crc": "0x9c39f60e"
+ }
+ ],
+ [
+ "lb_add_del_intf_nat4",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x47d6e753"
+ }
+ ],
+ [
+ "lb_add_del_intf_nat4_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lb_add_del_intf_nat6",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x47d6e753"
+ }
+ ],
+ [
+ "lb_add_del_intf_nat6_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "lb_srv_type",
+ [
+ "LB_API_SRV_TYPE_CLUSTERIP",
+ 0
+ ],
+ [
+ "LB_API_SRV_TYPE_NODEPORT",
+ 1
+ ],
+ [
+ "LB_API_SRV_N_TYPES",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "lb_encap_type",
+ [
+ "LB_API_ENCAP_TYPE_GRE4",
+ 0
+ ],
+ [
+ "LB_API_ENCAP_TYPE_GRE6",
+ 1
+ ],
+ [
+ "LB_API_ENCAP_TYPE_L3DSR",
+ 2
+ ],
+ [
+ "LB_API_ENCAP_TYPE_NAT4",
+ 3
+ ],
+ [
+ "LB_API_ENCAP_TYPE_NAT6",
+ 4
+ ],
+ [
+ "LB_API_ENCAP_N_TYPES",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "lb_lkp_type_t",
+ [
+ "LB_API_LKP_SAME_IP_PORT",
+ 0
+ ],
+ [
+ "LB_API_LKP_DIFF_IP_PORT",
+ 1
+ ],
+ [
+ "LB_API_LKP_ALL_PORT_IP",
+ 2
+ ],
+ [
+ "LB_API_LKP_N_TYPES",
+ 3
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "lb_vip_type",
+ [
+ "LB_API_VIP_TYPE_IP6_GRE6",
+ 0
+ ],
+ [
+ "LB_API_VIP_TYPE_IP6_GRE4",
+ 1
+ ],
+ [
+ "LB_API_VIP_TYPE_IP4_GRE6",
+ 2
+ ],
+ [
+ "LB_API_VIP_TYPE_IP4_GRE4",
+ 3
+ ],
+ [
+ "LB_API_VIP_TYPE_IP4_L3DSR",
+ 4
+ ],
+ [
+ "LB_API_VIP_TYPE_IP4_NAT4",
+ 5
+ ],
+ [
+ "LB_API_VIP_TYPE_IP6_NAT6",
+ 6
+ ],
+ [
+ "LB_API_VIP_N_TYPES",
+ 7
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "lb_nat_protocol",
+ [
+ "LB_API_NAT_PROTOCOL_UDP",
+ 6
+ ],
+ [
+ "LB_API_NAT_PROTOCOL_TCP",
+ 23
+ ],
+ [
+ "LB_API_NAT_PROTOCOL_ANY",
+ 4294967295
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "lb_conf": {
+ "reply": "lb_conf_reply"
+ },
+ "lb_add_del_vip": {
+ "reply": "lb_add_del_vip_reply"
+ },
+ "lb_add_del_as": {
+ "reply": "lb_add_del_as_reply"
+ },
+ "lb_flush_vip": {
+ "reply": "lb_flush_vip_reply"
+ },
+ "lb_vip_dump": {
+ "reply": "lb_vip_details",
+ "stream": true
+ },
+ "lb_as_dump": {
+ "reply": "lb_as_details",
+ "stream": true
+ },
+ "lb_add_del_intf_nat4": {
+ "reply": "lb_add_del_intf_nat4_reply"
+ },
+ "lb_add_del_intf_nat6": {
+ "reply": "lb_add_del_intf_nat6_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x76c36b4c"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/lb_types.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/lb_types.api.json
new file mode 100644
index 0000000..0f7f714
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/lb_types.api.json
@@ -0,0 +1,437 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ],
+ [
+ "lb_vip",
+ [
+ "vl_api_address_with_prefix_t",
+ "pfx"
+ ],
+ [
+ "vl_api_ip_proto_t",
+ "protocol"
+ ],
+ [
+ "u16",
+ "port"
+ ]
+ ]
+ ],
+ "messages": [],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "lb_srv_type",
+ [
+ "LB_API_SRV_TYPE_CLUSTERIP",
+ 0
+ ],
+ [
+ "LB_API_SRV_TYPE_NODEPORT",
+ 1
+ ],
+ [
+ "LB_API_SRV_N_TYPES",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "lb_encap_type",
+ [
+ "LB_API_ENCAP_TYPE_GRE4",
+ 0
+ ],
+ [
+ "LB_API_ENCAP_TYPE_GRE6",
+ 1
+ ],
+ [
+ "LB_API_ENCAP_TYPE_L3DSR",
+ 2
+ ],
+ [
+ "LB_API_ENCAP_TYPE_NAT4",
+ 3
+ ],
+ [
+ "LB_API_ENCAP_TYPE_NAT6",
+ 4
+ ],
+ [
+ "LB_API_ENCAP_N_TYPES",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "lb_lkp_type_t",
+ [
+ "LB_API_LKP_SAME_IP_PORT",
+ 0
+ ],
+ [
+ "LB_API_LKP_DIFF_IP_PORT",
+ 1
+ ],
+ [
+ "LB_API_LKP_ALL_PORT_IP",
+ 2
+ ],
+ [
+ "LB_API_LKP_N_TYPES",
+ 3
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "lb_vip_type",
+ [
+ "LB_API_VIP_TYPE_IP6_GRE6",
+ 0
+ ],
+ [
+ "LB_API_VIP_TYPE_IP6_GRE4",
+ 1
+ ],
+ [
+ "LB_API_VIP_TYPE_IP4_GRE6",
+ 2
+ ],
+ [
+ "LB_API_VIP_TYPE_IP4_GRE4",
+ 3
+ ],
+ [
+ "LB_API_VIP_TYPE_IP4_L3DSR",
+ 4
+ ],
+ [
+ "LB_API_VIP_TYPE_IP4_NAT4",
+ 5
+ ],
+ [
+ "LB_API_VIP_TYPE_IP6_NAT6",
+ 6
+ ],
+ [
+ "LB_API_VIP_N_TYPES",
+ 7
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "lb_nat_protocol",
+ [
+ "LB_API_NAT_PROTOCOL_UDP",
+ 6
+ ],
+ [
+ "LB_API_NAT_PROTOCOL_TCP",
+ 23
+ ],
+ [
+ "LB_API_NAT_PROTOCOL_ANY",
+ 4294967295
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {},
+ "options": {},
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ }
+ },
+ "vl_api_version": "0xd04207f3"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/mactime.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/mactime.api.json
new file mode 100644
index 0000000..97c348f
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/mactime.api.json
@@ -0,0 +1,424 @@
+{
+ "types": [
+ [
+ "time_range",
+ [
+ "f64",
+ "start"
+ ],
+ [
+ "f64",
+ "end"
+ ]
+ ],
+ [
+ "mactime_time_range",
+ [
+ "f64",
+ "start"
+ ],
+ [
+ "f64",
+ "end"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "mactime_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x3865946c"
+ }
+ ],
+ [
+ "mactime_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "mactime_add_del_range",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "bool",
+ "drop"
+ ],
+ [
+ "bool",
+ "allow"
+ ],
+ [
+ "u8",
+ "allow_quota"
+ ],
+ [
+ "bool",
+ "no_udp_10001"
+ ],
+ [
+ "u64",
+ "data_quota"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ [
+ "string",
+ "device_name",
+ 64
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "vl_api_time_range_t",
+ "ranges",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0x101858ef"
+ }
+ ],
+ [
+ "mactime_add_del_range_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "mactime_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "my_table_epoch"
+ ],
+ {
+ "crc": "0x8f454e23"
+ }
+ ],
+ [
+ "mactime_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "pool_index"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ [
+ "u64",
+ "data_quota"
+ ],
+ [
+ "u64",
+ "data_used_in_range"
+ ],
+ [
+ "u32",
+ "flags"
+ ],
+ [
+ "string",
+ "device_name",
+ 64
+ ],
+ [
+ "u32",
+ "nranges"
+ ],
+ [
+ "vl_api_mactime_time_range_t",
+ "ranges",
+ 0,
+ "nranges"
+ ],
+ {
+ "crc": "0x44921c06"
+ }
+ ],
+ [
+ "mactime_dump_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "table_epoch"
+ ],
+ {
+ "crc": "0x49bcc753"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "mactime_enable_disable": {
+ "reply": "mactime_enable_disable_reply"
+ },
+ "mactime_add_del_range": {
+ "reply": "mactime_add_del_range_reply"
+ },
+ "mactime_dump": {
+ "reply": "mactime_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xd32f01e0"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/map.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/map.api.json
new file mode 100644
index 0000000..065092a
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/map.api.json
@@ -0,0 +1,1283 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "map_add_domain",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip6_prefix_t",
+ "ip6_prefix"
+ ],
+ [
+ "vl_api_ip4_prefix_t",
+ "ip4_prefix"
+ ],
+ [
+ "vl_api_ip6_prefix_t",
+ "ip6_src"
+ ],
+ [
+ "u8",
+ "ea_bits_len"
+ ],
+ [
+ "u8",
+ "psid_offset"
+ ],
+ [
+ "u8",
+ "psid_length"
+ ],
+ [
+ "u16",
+ "mtu"
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0x7a5a18c9"
+ }
+ ],
+ [
+ "map_add_domain_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "index"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0x3e6d4e2c"
+ }
+ ],
+ [
+ "map_del_domain",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "index"
+ ],
+ {
+ "crc": "0x8ac76db6"
+ }
+ ],
+ [
+ "map_del_domain_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_add_del_rule",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "index"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6_dst"
+ ],
+ [
+ "u16",
+ "psid"
+ ],
+ {
+ "crc": "0xc65b32f7"
+ }
+ ],
+ [
+ "map_add_del_rule_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_domain_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "map_domain_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "domain_index"
+ ],
+ [
+ "vl_api_ip6_prefix_t",
+ "ip6_prefix"
+ ],
+ [
+ "vl_api_ip4_prefix_t",
+ "ip4_prefix"
+ ],
+ [
+ "vl_api_ip6_prefix_t",
+ "ip6_src"
+ ],
+ [
+ "u8",
+ "ea_bits_len"
+ ],
+ [
+ "u8",
+ "psid_offset"
+ ],
+ [
+ "u8",
+ "psid_length"
+ ],
+ [
+ "u8",
+ "flags"
+ ],
+ [
+ "u16",
+ "mtu"
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0xfc1859dd"
+ }
+ ],
+ [
+ "map_rule_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "domain_index"
+ ],
+ {
+ "crc": "0xe43e6ff6"
+ }
+ ],
+ [
+ "map_rule_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6_dst"
+ ],
+ [
+ "u16",
+ "psid"
+ ],
+ {
+ "crc": "0xc7cbeea5"
+ }
+ ],
+ [
+ "map_if_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_enable"
+ ],
+ [
+ "bool",
+ "is_translation"
+ ],
+ {
+ "crc": "0x59bb32f4"
+ }
+ ],
+ [
+ "map_if_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_summary_stats",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "map_summary_stats_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u64",
+ "total_bindings"
+ ],
+ [
+ "u64",
+ "total_pkts",
+ 2
+ ],
+ [
+ "u64",
+ "total_bytes",
+ 2
+ ],
+ [
+ "u64",
+ "total_ip4_fragments"
+ ],
+ [
+ "u64",
+ "total_security_check",
+ 2
+ ],
+ {
+ "crc": "0x0e4ace0e"
+ }
+ ],
+ [
+ "map_param_set_fragmentation",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "inner"
+ ],
+ [
+ "bool",
+ "ignore_df"
+ ],
+ {
+ "crc": "0x9ff54d90"
+ }
+ ],
+ [
+ "map_param_set_fragmentation_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_param_set_icmp",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip4_err_relay_src"
+ ],
+ {
+ "crc": "0x58210cbf"
+ }
+ ],
+ [
+ "map_param_set_icmp_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_param_set_icmp6",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_unreachable"
+ ],
+ {
+ "crc": "0x5d01f8c1"
+ }
+ ],
+ [
+ "map_param_set_icmp6_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_param_add_del_pre_resolve",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip4_nh_address"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6_nh_address"
+ ],
+ {
+ "crc": "0x17008c66"
+ }
+ ],
+ [
+ "map_param_add_del_pre_resolve_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_param_set_security_check",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ [
+ "bool",
+ "fragments"
+ ],
+ {
+ "crc": "0x6abe9836"
+ }
+ ],
+ [
+ "map_param_set_security_check_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_param_set_traffic_class",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "copy"
+ ],
+ [
+ "u8",
+ "tc_class"
+ ],
+ {
+ "crc": "0x9cac455c"
+ }
+ ],
+ [
+ "map_param_set_traffic_class_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_param_set_tcp",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "tcp_mss"
+ ],
+ {
+ "crc": "0x87a825d9"
+ }
+ ],
+ [
+ "map_param_set_tcp_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_param_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "map_param_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "frag_inner"
+ ],
+ [
+ "u8",
+ "frag_ignore_df"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "icmp_ip4_err_relay_src"
+ ],
+ [
+ "bool",
+ "icmp6_enable_unreachable"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip4_nh_address"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6_nh_address"
+ ],
+ [
+ "u16",
+ "ip4_lifetime_ms"
+ ],
+ [
+ "u16",
+ "ip4_pool_size"
+ ],
+ [
+ "u32",
+ "ip4_buffers"
+ ],
+ [
+ "f64",
+ "ip4_ht_ratio"
+ ],
+ [
+ "bool",
+ "sec_check_enable"
+ ],
+ [
+ "bool",
+ "sec_check_fragments"
+ ],
+ [
+ "bool",
+ "tc_copy"
+ ],
+ [
+ "u8",
+ "tc_class"
+ ],
+ {
+ "crc": "0x28092156"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "map_add_domain": {
+ "reply": "map_add_domain_reply"
+ },
+ "map_del_domain": {
+ "reply": "map_del_domain_reply"
+ },
+ "map_add_del_rule": {
+ "reply": "map_add_del_rule_reply"
+ },
+ "map_domain_dump": {
+ "reply": "map_domain_details",
+ "stream": true
+ },
+ "map_rule_dump": {
+ "reply": "map_rule_details",
+ "stream": true
+ },
+ "map_if_enable_disable": {
+ "reply": "map_if_enable_disable_reply"
+ },
+ "map_summary_stats": {
+ "reply": "map_summary_stats_reply"
+ },
+ "map_param_set_fragmentation": {
+ "reply": "map_param_set_fragmentation_reply"
+ },
+ "map_param_set_icmp": {
+ "reply": "map_param_set_icmp_reply"
+ },
+ "map_param_set_icmp6": {
+ "reply": "map_param_set_icmp6_reply"
+ },
+ "map_param_add_del_pre_resolve": {
+ "reply": "map_param_add_del_pre_resolve_reply"
+ },
+ "map_param_set_security_check": {
+ "reply": "map_param_set_security_check_reply"
+ },
+ "map_param_set_traffic_class": {
+ "reply": "map_param_set_traffic_class_reply"
+ },
+ "map_param_set_tcp": {
+ "reply": "map_param_set_tcp_reply"
+ },
+ "map_param_get": {
+ "reply": "map_param_get_reply"
+ }
+ },
+ "options": {
+ "version": "4.1.1"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x42c84657"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/mdata.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/mdata.api.json
new file mode 100644
index 0000000..1f4b23e
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/mdata.api.json
@@ -0,0 +1,214 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "mdata_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ {
+ "crc": "0x2e7b47df"
+ }
+ ],
+ [
+ "mdata_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "mdata_enable_disable": {
+ "reply": "mdata_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "0.1.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x68055b0c"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/memif.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/memif.api.json
new file mode 100644
index 0000000..193e0a1
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/memif.api.json
@@ -0,0 +1,516 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "memif_socket_filename_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "u32",
+ "socket_id"
+ ],
+ [
+ "string",
+ "socket_filename",
+ 108
+ ],
+ {
+ "crc": "0xa2ce1a10"
+ }
+ ],
+ [
+ "memif_socket_filename_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "memif_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_memif_role_t",
+ "role"
+ ],
+ [
+ "vl_api_memif_mode_t",
+ "mode"
+ ],
+ [
+ "u8",
+ "rx_queues"
+ ],
+ [
+ "u8",
+ "tx_queues"
+ ],
+ [
+ "u32",
+ "id"
+ ],
+ [
+ "u32",
+ "socket_id"
+ ],
+ [
+ "u32",
+ "ring_size"
+ ],
+ [
+ "u16",
+ "buffer_size"
+ ],
+ [
+ "bool",
+ "no_zero_copy"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "hw_addr"
+ ],
+ [
+ "string",
+ "secret",
+ 24
+ ],
+ {
+ "crc": "0xb1b25061"
+ }
+ ],
+ [
+ "memif_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "memif_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "memif_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "memif_socket_filename_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "socket_id"
+ ],
+ [
+ "string",
+ "socket_filename",
+ 108
+ ],
+ {
+ "crc": "0x7ff326f7"
+ }
+ ],
+ [
+ "memif_socket_filename_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "memif_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "hw_addr"
+ ],
+ [
+ "u32",
+ "id"
+ ],
+ [
+ "vl_api_memif_role_t",
+ "role"
+ ],
+ [
+ "vl_api_memif_mode_t",
+ "mode"
+ ],
+ [
+ "bool",
+ "zero_copy"
+ ],
+ [
+ "u32",
+ "socket_id"
+ ],
+ [
+ "u32",
+ "ring_size"
+ ],
+ [
+ "u16",
+ "buffer_size"
+ ],
+ [
+ "vl_api_if_status_flags_t",
+ "flags"
+ ],
+ [
+ "string",
+ "if_name",
+ 64
+ ],
+ {
+ "crc": "0xd0382c4c"
+ }
+ ],
+ [
+ "memif_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "memif_role",
+ [
+ "MEMIF_ROLE_API_MASTER",
+ 0
+ ],
+ [
+ "MEMIF_ROLE_API_SLAVE",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "memif_mode",
+ [
+ "MEMIF_MODE_API_ETHERNET",
+ 0
+ ],
+ [
+ "MEMIF_MODE_API_IP",
+ 1
+ ],
+ [
+ "MEMIF_MODE_API_PUNT_INJECT",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "memif_socket_filename_add_del": {
+ "reply": "memif_socket_filename_add_del_reply"
+ },
+ "memif_create": {
+ "reply": "memif_create_reply"
+ },
+ "memif_delete": {
+ "reply": "memif_delete_reply"
+ },
+ "memif_socket_filename_dump": {
+ "reply": "memif_socket_filename_details",
+ "stream": true
+ },
+ "memif_dump": {
+ "reply": "memif_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "3.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ }
+ },
+ "vl_api_version": "0x88dc56c9"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/nat.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/nat.api.json
new file mode 100644
index 0000000..f3382b9
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/nat.api.json
@@ -0,0 +1,4157 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ],
+ [
+ "nat44_lb_addr_port",
+ [
+ "vl_api_ip4_address_t",
+ "addr"
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "u8",
+ "probability"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "nat_control_ping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat_control_ping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "vpe_pid"
+ ],
+ {
+ "crc": "0xf6b0b8ca"
+ }
+ ],
+ [
+ "nat_show_config",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat_show_config_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "bool",
+ "static_mapping_only"
+ ],
+ [
+ "bool",
+ "static_mapping_connection_tracking"
+ ],
+ [
+ "bool",
+ "deterministic"
+ ],
+ [
+ "bool",
+ "endpoint_dependent"
+ ],
+ [
+ "bool",
+ "out2in_dpo"
+ ],
+ [
+ "bool",
+ "dslite_ce"
+ ],
+ [
+ "u32",
+ "translation_buckets"
+ ],
+ [
+ "u32",
+ "translation_memory_size"
+ ],
+ [
+ "u32",
+ "user_buckets"
+ ],
+ [
+ "u32",
+ "user_memory_size"
+ ],
+ [
+ "u32",
+ "max_translations_per_user"
+ ],
+ [
+ "u32",
+ "outside_vrf_id"
+ ],
+ [
+ "u32",
+ "inside_vrf_id"
+ ],
+ [
+ "u32",
+ "nat64_bib_buckets"
+ ],
+ [
+ "u32",
+ "nat64_bib_memory_size"
+ ],
+ [
+ "u32",
+ "nat64_st_buckets"
+ ],
+ [
+ "u32",
+ "nat64_st_memory_size"
+ ],
+ {
+ "crc": "0x006a0786"
+ }
+ ],
+ [
+ "nat_set_log_level",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_nat_log_level_t",
+ "log_level"
+ ],
+ {
+ "crc": "0x70076bfe"
+ }
+ ],
+ [
+ "nat_set_log_level_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_set_workers",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "worker_mask"
+ ],
+ {
+ "crc": "0xda926638"
+ }
+ ],
+ [
+ "nat_set_workers_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_worker_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat_worker_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "worker_index"
+ ],
+ [
+ "u32",
+ "lcore_id"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ {
+ "crc": "0x84bf06fc"
+ }
+ ],
+ [
+ "nat_ipfix_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "domain_id"
+ ],
+ [
+ "u16",
+ "src_port"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0x9af4a2d2"
+ }
+ ],
+ [
+ "nat_ipfix_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_set_timeouts",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "udp"
+ ],
+ [
+ "u32",
+ "tcp_established"
+ ],
+ [
+ "u32",
+ "tcp_transitory"
+ ],
+ [
+ "u32",
+ "icmp"
+ ],
+ {
+ "crc": "0xd4746b16"
+ }
+ ],
+ [
+ "nat_set_timeouts_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_get_timeouts",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat_get_timeouts_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "udp"
+ ],
+ [
+ "u32",
+ "tcp_established"
+ ],
+ [
+ "u32",
+ "tcp_transitory"
+ ],
+ [
+ "u32",
+ "icmp"
+ ],
+ {
+ "crc": "0x3c4df4e1"
+ }
+ ],
+ [
+ "nat_set_addr_and_port_alloc_alg",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "alg"
+ ],
+ [
+ "u8",
+ "psid_offset"
+ ],
+ [
+ "u8",
+ "psid_length"
+ ],
+ [
+ "u16",
+ "psid"
+ ],
+ [
+ "u16",
+ "start_port"
+ ],
+ [
+ "u16",
+ "end_port"
+ ],
+ {
+ "crc": "0xdeeb746f"
+ }
+ ],
+ [
+ "nat_set_addr_and_port_alloc_alg_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_get_addr_and_port_alloc_alg",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat_get_addr_and_port_alloc_alg_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "alg"
+ ],
+ [
+ "u8",
+ "psid_offset"
+ ],
+ [
+ "u8",
+ "psid_length"
+ ],
+ [
+ "u16",
+ "psid"
+ ],
+ [
+ "u16",
+ "start_port"
+ ],
+ [
+ "u16",
+ "end_port"
+ ],
+ {
+ "crc": "0x3607a7d0"
+ }
+ ],
+ [
+ "nat_set_mss_clamping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "mss_value"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0x25e90abb"
+ }
+ ],
+ [
+ "nat_set_mss_clamping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_get_mss_clamping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat_get_mss_clamping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u16",
+ "mss_value"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0x1c0b2a78"
+ }
+ ],
+ [
+ "nat_ha_set_listener",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip_address"
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "u32",
+ "path_mtu"
+ ],
+ {
+ "crc": "0xe4a8cb4e"
+ }
+ ],
+ [
+ "nat_ha_set_listener_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_ha_set_failover",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip_address"
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "u32",
+ "session_refresh_interval"
+ ],
+ {
+ "crc": "0x718246af"
+ }
+ ],
+ [
+ "nat_ha_set_failover_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_ha_get_listener",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat_ha_get_listener_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip_address"
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "u32",
+ "path_mtu"
+ ],
+ {
+ "crc": "0x123ea41f"
+ }
+ ],
+ [
+ "nat_ha_get_failover",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat_ha_get_failover_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip_address"
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "u32",
+ "session_refresh_interval"
+ ],
+ {
+ "crc": "0xa67d8752"
+ }
+ ],
+ [
+ "nat_ha_flush",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat_ha_flush_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_ha_resync",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "want_resync_event"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ {
+ "crc": "0xc8ab9e03"
+ }
+ ],
+ [
+ "nat_ha_resync_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_ha_resync_completed_event",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "u32",
+ "missed_count"
+ ],
+ {
+ "crc": "0xfdc598fb"
+ }
+ ],
+ [
+ "nat44_add_del_address_range",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "first_ip_address"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "last_ip_address"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ {
+ "crc": "0xd4c7568c"
+ }
+ ],
+ [
+ "nat44_add_del_address_range_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat44_address_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat44_address_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip_address"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ {
+ "crc": "0x45410ac4"
+ }
+ ],
+ [
+ "nat44_interface_add_del_feature",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf3699b83"
+ }
+ ],
+ [
+ "nat44_interface_add_del_feature_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat44_interface_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat44_interface_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5d286289"
+ }
+ ],
+ [
+ "nat44_interface_add_del_output_feature",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf3699b83"
+ }
+ ],
+ [
+ "nat44_interface_add_del_output_feature_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat44_interface_output_feature_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat44_interface_output_feature_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5d286289"
+ }
+ ],
+ [
+ "nat44_add_del_static_mapping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "local_ip_address"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "external_ip_address"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "u16",
+ "local_port"
+ ],
+ [
+ "u16",
+ "external_port"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "external_sw_if_index"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0xe165e83b"
+ }
+ ],
+ [
+ "nat44_add_del_static_mapping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat44_static_mapping_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat44_static_mapping_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "local_ip_address"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "external_ip_address"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "u16",
+ "local_port"
+ ],
+ [
+ "u16",
+ "external_port"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "external_sw_if_index"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0x1a433ef7"
+ }
+ ],
+ [
+ "nat44_add_del_identity_mapping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip_address"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0x8e12743f"
+ }
+ ],
+ [
+ "nat44_add_del_identity_mapping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat44_identity_mapping_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat44_identity_mapping_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip_address"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0x36d21351"
+ }
+ ],
+ [
+ "nat44_add_del_interface_addr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ {
+ "crc": "0xfc835325"
+ }
+ ],
+ [
+ "nat44_add_del_interface_addr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat44_interface_addr_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat44_interface_addr_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ {
+ "crc": "0x3e687514"
+ }
+ ],
+ [
+ "nat44_user_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat44_user_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip_address"
+ ],
+ [
+ "u32",
+ "nsessions"
+ ],
+ [
+ "u32",
+ "nstaticsessions"
+ ],
+ {
+ "crc": "0x355896c2"
+ }
+ ],
+ [
+ "nat44_user_session_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip_address"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ {
+ "crc": "0xe1899c98"
+ }
+ ],
+ [
+ "nat44_user_session_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "outside_ip_address"
+ ],
+ [
+ "u16",
+ "outside_port"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "inside_ip_address"
+ ],
+ [
+ "u16",
+ "inside_port"
+ ],
+ [
+ "u16",
+ "protocol"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "u64",
+ "last_heard"
+ ],
+ [
+ "u64",
+ "total_bytes"
+ ],
+ [
+ "u32",
+ "total_pkts"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ext_host_address"
+ ],
+ [
+ "u16",
+ "ext_host_port"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ext_host_nat_address"
+ ],
+ [
+ "u16",
+ "ext_host_nat_port"
+ ],
+ {
+ "crc": "0x1965fd69"
+ }
+ ],
+ [
+ "nat44_add_del_lb_static_mapping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "external_addr"
+ ],
+ [
+ "u16",
+ "external_port"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "u32",
+ "affinity"
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ [
+ "u32",
+ "local_num"
+ ],
+ [
+ "vl_api_nat44_lb_addr_port_t",
+ "locals",
+ 0,
+ "local_num"
+ ],
+ {
+ "crc": "0x53b24611"
+ }
+ ],
+ [
+ "nat44_add_del_lb_static_mapping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat44_lb_static_mapping_add_del_local",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "external_addr"
+ ],
+ [
+ "u16",
+ "external_port"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "vl_api_nat44_lb_addr_port_t",
+ "local"
+ ],
+ {
+ "crc": "0x2910a151"
+ }
+ ],
+ [
+ "nat44_lb_static_mapping_add_del_local_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat44_lb_static_mapping_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat44_lb_static_mapping_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "external_addr"
+ ],
+ [
+ "u16",
+ "external_port"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "u32",
+ "affinity"
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ [
+ "u32",
+ "local_num"
+ ],
+ [
+ "vl_api_nat44_lb_addr_port_t",
+ "locals",
+ 0,
+ "local_num"
+ ],
+ {
+ "crc": "0x2267b9e8"
+ }
+ ],
+ [
+ "nat44_del_session",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ext_host_address"
+ ],
+ [
+ "u16",
+ "ext_host_port"
+ ],
+ {
+ "crc": "0x4c49c387"
+ }
+ ],
+ [
+ "nat44_del_session_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat44_forwarding_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0xb3e225d2"
+ }
+ ],
+ [
+ "nat44_forwarding_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat44_forwarding_is_enabled",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat44_forwarding_is_enabled_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enabled"
+ ],
+ {
+ "crc": "0x46924a06"
+ }
+ ],
+ [
+ "nat_det_add_del_map",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "in_addr"
+ ],
+ [
+ "u8",
+ "in_plen"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "out_addr"
+ ],
+ [
+ "u8",
+ "out_plen"
+ ],
+ {
+ "crc": "0x112fde05"
+ }
+ ],
+ [
+ "nat_det_add_del_map_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_det_forward",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "in_addr"
+ ],
+ {
+ "crc": "0x7f8a89cd"
+ }
+ ],
+ [
+ "nat_det_forward_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u16",
+ "out_port_lo"
+ ],
+ [
+ "u16",
+ "out_port_hi"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "out_addr"
+ ],
+ {
+ "crc": "0xa8ccbdc0"
+ }
+ ],
+ [
+ "nat_det_reverse",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "out_port"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "out_addr"
+ ],
+ {
+ "crc": "0xa7573fe1"
+ }
+ ],
+ [
+ "nat_det_reverse_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "in_addr"
+ ],
+ {
+ "crc": "0x34066d48"
+ }
+ ],
+ [
+ "nat_det_map_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat_det_map_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "in_addr"
+ ],
+ [
+ "u8",
+ "in_plen"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "out_addr"
+ ],
+ [
+ "u8",
+ "out_plen"
+ ],
+ [
+ "u32",
+ "sharing_ratio"
+ ],
+ [
+ "u16",
+ "ports_per_host"
+ ],
+ [
+ "u32",
+ "ses_num"
+ ],
+ {
+ "crc": "0x88000ee1"
+ }
+ ],
+ [
+ "nat_det_close_session_out",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "out_addr"
+ ],
+ [
+ "u16",
+ "out_port"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ext_addr"
+ ],
+ [
+ "u16",
+ "ext_port"
+ ],
+ {
+ "crc": "0xc1b6cbfb"
+ }
+ ],
+ [
+ "nat_det_close_session_out_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_det_close_session_in",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "in_addr"
+ ],
+ [
+ "u16",
+ "in_port"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ext_addr"
+ ],
+ [
+ "u16",
+ "ext_port"
+ ],
+ {
+ "crc": "0x0a10ef64"
+ }
+ ],
+ [
+ "nat_det_close_session_in_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat_det_session_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "user_addr"
+ ],
+ {
+ "crc": "0xe45a3af7"
+ }
+ ],
+ [
+ "nat_det_session_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "in_port"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ext_addr"
+ ],
+ [
+ "u16",
+ "ext_port"
+ ],
+ [
+ "u16",
+ "out_port"
+ ],
+ [
+ "u8",
+ "state"
+ ],
+ [
+ "u32",
+ "expire"
+ ],
+ {
+ "crc": "0x27f3c171"
+ }
+ ],
+ [
+ "nat64_add_del_pool_addr_range",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "start_addr"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "end_addr"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0x21234ef3"
+ }
+ ],
+ [
+ "nat64_add_del_pool_addr_range_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat64_pool_addr_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat64_pool_addr_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ {
+ "crc": "0x9bb99cdb"
+ }
+ ],
+ [
+ "nat64_add_del_interface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf3699b83"
+ }
+ ],
+ [
+ "nat64_add_del_interface_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat64_interface_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat64_interface_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5d286289"
+ }
+ ],
+ [
+ "nat64_add_del_static_bib",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "i_addr"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "o_addr"
+ ],
+ [
+ "u16",
+ "i_port"
+ ],
+ [
+ "u16",
+ "o_port"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "u8",
+ "proto"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0x90fae58a"
+ }
+ ],
+ [
+ "nat64_add_del_static_bib_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat64_bib_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "proto"
+ ],
+ {
+ "crc": "0xcfcb6b75"
+ }
+ ],
+ [
+ "nat64_bib_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "i_addr"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "o_addr"
+ ],
+ [
+ "u16",
+ "i_port"
+ ],
+ [
+ "u16",
+ "o_port"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "u8",
+ "proto"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "u32",
+ "ses_num"
+ ],
+ {
+ "crc": "0x62c8541d"
+ }
+ ],
+ [
+ "nat64_st_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "proto"
+ ],
+ {
+ "crc": "0xcfcb6b75"
+ }
+ ],
+ [
+ "nat64_st_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "il_addr"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ol_addr"
+ ],
+ [
+ "u16",
+ "il_port"
+ ],
+ [
+ "u16",
+ "ol_port"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ir_addr"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "or_addr"
+ ],
+ [
+ "u16",
+ "r_port"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "u8",
+ "proto"
+ ],
+ {
+ "crc": "0xc770d620"
+ }
+ ],
+ [
+ "nat64_add_del_prefix",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip6_prefix_t",
+ "prefix"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0x727b2f4c"
+ }
+ ],
+ [
+ "nat64_add_del_prefix_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat64_prefix_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat64_prefix_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip6_prefix_t",
+ "prefix"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ {
+ "crc": "0x20568de3"
+ }
+ ],
+ [
+ "nat64_add_del_interface_addr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x47d6e753"
+ }
+ ],
+ [
+ "nat64_add_del_interface_addr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dslite_add_del_pool_addr_range",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "start_addr"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "end_addr"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0xc448457a"
+ }
+ ],
+ [
+ "dslite_add_del_pool_addr_range_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dslite_address_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "dslite_address_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip_address"
+ ],
+ {
+ "crc": "0xec26d648"
+ }
+ ],
+ [
+ "dslite_set_aftr_addr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip4_addr"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6_addr"
+ ],
+ {
+ "crc": "0x1e955f8d"
+ }
+ ],
+ [
+ "dslite_set_aftr_addr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dslite_get_aftr_addr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "dslite_get_aftr_addr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip4_addr"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6_addr"
+ ],
+ {
+ "crc": "0x38e30db1"
+ }
+ ],
+ [
+ "dslite_set_b4_addr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip4_addr"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6_addr"
+ ],
+ {
+ "crc": "0x1e955f8d"
+ }
+ ],
+ [
+ "dslite_set_b4_addr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "dslite_get_b4_addr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "dslite_get_b4_addr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip4_addr"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6_addr"
+ ],
+ {
+ "crc": "0x38e30db1"
+ }
+ ],
+ [
+ "nat66_add_del_interface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf3699b83"
+ }
+ ],
+ [
+ "nat66_add_del_interface_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat66_interface_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat66_interface_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_nat_config_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5d286289"
+ }
+ ],
+ [
+ "nat66_add_del_static_mapping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "local_ip_address"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "external_ip_address"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ {
+ "crc": "0xfb64e50b"
+ }
+ ],
+ [
+ "nat66_add_del_static_mapping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nat66_static_mapping_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nat66_static_mapping_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "local_ip_address"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "external_ip_address"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "u64",
+ "total_bytes"
+ ],
+ [
+ "u64",
+ "total_pkts"
+ ],
+ {
+ "crc": "0x5c568448"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "nat_config_flags",
+ [
+ "NAT_IS_NONE",
+ 0
+ ],
+ [
+ "NAT_IS_TWICE_NAT",
+ 1
+ ],
+ [
+ "NAT_IS_SELF_TWICE_NAT",
+ 2
+ ],
+ [
+ "NAT_IS_OUT2IN_ONLY",
+ 4
+ ],
+ [
+ "NAT_IS_ADDR_ONLY",
+ 8
+ ],
+ [
+ "NAT_IS_OUTSIDE",
+ 16
+ ],
+ [
+ "NAT_IS_INSIDE",
+ 32
+ ],
+ [
+ "NAT_IS_STATIC",
+ 64
+ ],
+ [
+ "NAT_IS_EXT_HOST_VALID",
+ 128
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "nat_log_level",
+ [
+ "NAT_LOG_NONE",
+ 0
+ ],
+ [
+ "NAT_LOG_ERROR",
+ 1
+ ],
+ [
+ "NAT_LOG_WARNING",
+ 2
+ ],
+ [
+ "NAT_LOG_NOTICE",
+ 3
+ ],
+ [
+ "NAT_LOG_INFO",
+ 4
+ ],
+ [
+ "NAT_LOG_DEBUG",
+ 5
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ]
+ ],
+ "services": {
+ "nat_ha_resync": {
+ "reply": "nat_ha_resync_reply",
+ "events": [
+ "nat_ha_resync_completed_event"
+ ]
+ },
+ "nat_control_ping": {
+ "reply": "nat_control_ping_reply"
+ },
+ "nat_show_config": {
+ "reply": "nat_show_config_reply"
+ },
+ "nat_set_log_level": {
+ "reply": "nat_set_log_level_reply"
+ },
+ "nat_set_workers": {
+ "reply": "nat_set_workers_reply"
+ },
+ "nat_worker_dump": {
+ "reply": "nat_worker_details",
+ "stream": true
+ },
+ "nat_ipfix_enable_disable": {
+ "reply": "nat_ipfix_enable_disable_reply"
+ },
+ "nat_set_timeouts": {
+ "reply": "nat_set_timeouts_reply"
+ },
+ "nat_get_timeouts": {
+ "reply": "nat_get_timeouts_reply"
+ },
+ "nat_set_addr_and_port_alloc_alg": {
+ "reply": "nat_set_addr_and_port_alloc_alg_reply"
+ },
+ "nat_get_addr_and_port_alloc_alg": {
+ "reply": "nat_get_addr_and_port_alloc_alg_reply"
+ },
+ "nat_set_mss_clamping": {
+ "reply": "nat_set_mss_clamping_reply"
+ },
+ "nat_get_mss_clamping": {
+ "reply": "nat_get_mss_clamping_reply"
+ },
+ "nat_ha_set_listener": {
+ "reply": "nat_ha_set_listener_reply"
+ },
+ "nat_ha_set_failover": {
+ "reply": "nat_ha_set_failover_reply"
+ },
+ "nat_ha_get_listener": {
+ "reply": "nat_ha_get_listener_reply"
+ },
+ "nat_ha_get_failover": {
+ "reply": "nat_ha_get_failover_reply"
+ },
+ "nat_ha_flush": {
+ "reply": "nat_ha_flush_reply"
+ },
+ "nat44_add_del_address_range": {
+ "reply": "nat44_add_del_address_range_reply"
+ },
+ "nat44_address_dump": {
+ "reply": "nat44_address_details",
+ "stream": true
+ },
+ "nat44_interface_add_del_feature": {
+ "reply": "nat44_interface_add_del_feature_reply"
+ },
+ "nat44_interface_dump": {
+ "reply": "nat44_interface_details",
+ "stream": true
+ },
+ "nat44_interface_add_del_output_feature": {
+ "reply": "nat44_interface_add_del_output_feature_reply"
+ },
+ "nat44_interface_output_feature_dump": {
+ "reply": "nat44_interface_output_feature_details",
+ "stream": true
+ },
+ "nat44_add_del_static_mapping": {
+ "reply": "nat44_add_del_static_mapping_reply"
+ },
+ "nat44_static_mapping_dump": {
+ "reply": "nat44_static_mapping_details",
+ "stream": true
+ },
+ "nat44_add_del_identity_mapping": {
+ "reply": "nat44_add_del_identity_mapping_reply"
+ },
+ "nat44_identity_mapping_dump": {
+ "reply": "nat44_identity_mapping_details",
+ "stream": true
+ },
+ "nat44_add_del_interface_addr": {
+ "reply": "nat44_add_del_interface_addr_reply"
+ },
+ "nat44_interface_addr_dump": {
+ "reply": "nat44_interface_addr_details",
+ "stream": true
+ },
+ "nat44_user_dump": {
+ "reply": "nat44_user_details",
+ "stream": true
+ },
+ "nat44_user_session_dump": {
+ "reply": "nat44_user_session_details",
+ "stream": true
+ },
+ "nat44_add_del_lb_static_mapping": {
+ "reply": "nat44_add_del_lb_static_mapping_reply"
+ },
+ "nat44_lb_static_mapping_add_del_local": {
+ "reply": "nat44_lb_static_mapping_add_del_local_reply"
+ },
+ "nat44_lb_static_mapping_dump": {
+ "reply": "nat44_lb_static_mapping_details",
+ "stream": true
+ },
+ "nat44_del_session": {
+ "reply": "nat44_del_session_reply"
+ },
+ "nat44_forwarding_enable_disable": {
+ "reply": "nat44_forwarding_enable_disable_reply"
+ },
+ "nat44_forwarding_is_enabled": {
+ "reply": "nat44_forwarding_is_enabled_reply"
+ },
+ "nat_det_add_del_map": {
+ "reply": "nat_det_add_del_map_reply"
+ },
+ "nat_det_forward": {
+ "reply": "nat_det_forward_reply"
+ },
+ "nat_det_reverse": {
+ "reply": "nat_det_reverse_reply"
+ },
+ "nat_det_map_dump": {
+ "reply": "nat_det_map_details",
+ "stream": true
+ },
+ "nat_det_close_session_out": {
+ "reply": "nat_det_close_session_out_reply"
+ },
+ "nat_det_close_session_in": {
+ "reply": "nat_det_close_session_in_reply"
+ },
+ "nat_det_session_dump": {
+ "reply": "nat_det_session_details",
+ "stream": true
+ },
+ "nat64_add_del_pool_addr_range": {
+ "reply": "nat64_add_del_pool_addr_range_reply"
+ },
+ "nat64_pool_addr_dump": {
+ "reply": "nat64_pool_addr_details",
+ "stream": true
+ },
+ "nat64_add_del_interface": {
+ "reply": "nat64_add_del_interface_reply"
+ },
+ "nat64_interface_dump": {
+ "reply": "nat64_interface_details",
+ "stream": true
+ },
+ "nat64_add_del_static_bib": {
+ "reply": "nat64_add_del_static_bib_reply"
+ },
+ "nat64_bib_dump": {
+ "reply": "nat64_bib_details",
+ "stream": true
+ },
+ "nat64_st_dump": {
+ "reply": "nat64_st_details",
+ "stream": true
+ },
+ "nat64_add_del_prefix": {
+ "reply": "nat64_add_del_prefix_reply"
+ },
+ "nat64_prefix_dump": {
+ "reply": "nat64_prefix_details",
+ "stream": true
+ },
+ "nat64_add_del_interface_addr": {
+ "reply": "nat64_add_del_interface_addr_reply"
+ },
+ "dslite_add_del_pool_addr_range": {
+ "reply": "dslite_add_del_pool_addr_range_reply"
+ },
+ "dslite_address_dump": {
+ "reply": "dslite_address_details",
+ "stream": true
+ },
+ "dslite_set_aftr_addr": {
+ "reply": "dslite_set_aftr_addr_reply"
+ },
+ "dslite_get_aftr_addr": {
+ "reply": "dslite_get_aftr_addr_reply"
+ },
+ "dslite_set_b4_addr": {
+ "reply": "dslite_set_b4_addr_reply"
+ },
+ "dslite_get_b4_addr": {
+ "reply": "dslite_get_b4_addr_reply"
+ },
+ "nat66_add_del_interface": {
+ "reply": "nat66_add_del_interface_reply"
+ },
+ "nat66_interface_dump": {
+ "reply": "nat66_interface_details",
+ "stream": true
+ },
+ "nat66_add_del_static_mapping": {
+ "reply": "nat66_add_del_static_mapping_reply"
+ },
+ "nat66_static_mapping_dump": {
+ "reply": "nat66_static_mapping_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "5.2.0"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xef1a1c94"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/nsh.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/nsh.api.json
new file mode 100644
index 0000000..fd8e422
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/nsh.api.json
@@ -0,0 +1,499 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "nsh_add_del_entry",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "u32",
+ "nsp_nsi"
+ ],
+ [
+ "u8",
+ "md_type"
+ ],
+ [
+ "u8",
+ "ver_o_c"
+ ],
+ [
+ "u8",
+ "ttl"
+ ],
+ [
+ "u8",
+ "length"
+ ],
+ [
+ "u8",
+ "next_protocol"
+ ],
+ [
+ "u32",
+ "c1"
+ ],
+ [
+ "u32",
+ "c2"
+ ],
+ [
+ "u32",
+ "c3"
+ ],
+ [
+ "u32",
+ "c4"
+ ],
+ [
+ "u8",
+ "tlv_length"
+ ],
+ [
+ "u8",
+ "tlv",
+ 248
+ ],
+ {
+ "crc": "0x7dea480b"
+ }
+ ],
+ [
+ "nsh_add_del_entry_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "entry_index"
+ ],
+ {
+ "crc": "0x6296a9eb"
+ }
+ ],
+ [
+ "nsh_entry_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "entry_index"
+ ],
+ {
+ "crc": "0xcdaf8ccb"
+ }
+ ],
+ [
+ "nsh_entry_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "entry_index"
+ ],
+ [
+ "u32",
+ "nsp_nsi"
+ ],
+ [
+ "u8",
+ "md_type"
+ ],
+ [
+ "u8",
+ "ver_o_c"
+ ],
+ [
+ "u8",
+ "ttl"
+ ],
+ [
+ "u8",
+ "length"
+ ],
+ [
+ "u8",
+ "next_protocol"
+ ],
+ [
+ "u32",
+ "c1"
+ ],
+ [
+ "u32",
+ "c2"
+ ],
+ [
+ "u32",
+ "c3"
+ ],
+ [
+ "u32",
+ "c4"
+ ],
+ [
+ "u8",
+ "tlv_length"
+ ],
+ [
+ "u8",
+ "tlv",
+ 248
+ ],
+ {
+ "crc": "0x046fb556"
+ }
+ ],
+ [
+ "nsh_add_del_map",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "u32",
+ "nsp_nsi"
+ ],
+ [
+ "u32",
+ "mapped_nsp_nsi"
+ ],
+ [
+ "u32",
+ "nsh_action"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "rx_sw_if_index"
+ ],
+ [
+ "u32",
+ "next_node"
+ ],
+ {
+ "crc": "0x898d857d"
+ }
+ ],
+ [
+ "nsh_add_del_map_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "map_index"
+ ],
+ {
+ "crc": "0xb2b127ef"
+ }
+ ],
+ [
+ "nsh_map_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "map_index"
+ ],
+ {
+ "crc": "0x8fc06b82"
+ }
+ ],
+ [
+ "nsh_map_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "map_index"
+ ],
+ [
+ "u32",
+ "nsp_nsi"
+ ],
+ [
+ "u32",
+ "mapped_nsp_nsi"
+ ],
+ [
+ "u32",
+ "nsh_action"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "rx_sw_if_index"
+ ],
+ [
+ "u32",
+ "next_node"
+ ],
+ {
+ "crc": "0xb34ac8a1"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "nsh_add_del_entry": {
+ "reply": "nsh_add_del_entry_reply"
+ },
+ "nsh_entry_dump": {
+ "reply": "nsh_entry_details",
+ "stream": true
+ },
+ "nsh_add_del_map": {
+ "reply": "nsh_add_del_map_reply"
+ },
+ "nsh_map_dump": {
+ "reply": "nsh_map_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xac2c8897"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/nsim.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/nsim.api.json
new file mode 100644
index 0000000..1e1e9fa
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/nsim.api.json
@@ -0,0 +1,324 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "nsim_cross_connect_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index0"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index1"
+ ],
+ {
+ "crc": "0x16f70bdf"
+ }
+ ],
+ [
+ "nsim_cross_connect_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nsim_output_feature_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x3865946c"
+ }
+ ],
+ [
+ "nsim_output_feature_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nsim_configure",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "delay_in_usec"
+ ],
+ [
+ "u32",
+ "average_packet_size"
+ ],
+ [
+ "u64",
+ "bandwidth_in_bits_per_second"
+ ],
+ [
+ "u32",
+ "packets_per_drop"
+ ],
+ {
+ "crc": "0x16ed400f"
+ }
+ ],
+ [
+ "nsim_configure_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "nsim_cross_connect_enable_disable": {
+ "reply": "nsim_cross_connect_enable_disable_reply"
+ },
+ "nsim_output_feature_enable_disable": {
+ "reply": "nsim_output_feature_enable_disable_reply"
+ },
+ "nsim_configure": {
+ "reply": "nsim_configure_reply"
+ }
+ },
+ "options": {
+ "version": "2.1.1"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xd61e346f"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/oddbuf.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/oddbuf.api.json
new file mode 100644
index 0000000..da2baa5
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/oddbuf.api.json
@@ -0,0 +1,218 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "oddbuf_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x3865946c"
+ }
+ ],
+ [
+ "oddbuf_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "oddbuf_enable_disable": {
+ "reply": "oddbuf_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "0.1.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x570f3132"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/pot.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/pot.api.json
new file mode 100644
index 0000000..c15eed4
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/pot.api.json
@@ -0,0 +1,258 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "pot_profile_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "id"
+ ],
+ [
+ "u8",
+ "validator"
+ ],
+ [
+ "u64",
+ "secret_key"
+ ],
+ [
+ "u64",
+ "secret_share"
+ ],
+ [
+ "u64",
+ "prime"
+ ],
+ [
+ "u8",
+ "max_bits"
+ ],
+ [
+ "u64",
+ "lpc"
+ ],
+ [
+ "u64",
+ "polynomial_public"
+ ],
+ [
+ "string",
+ "list_name",
+ 0
+ ],
+ {
+ "crc": "0xad5da3a3"
+ }
+ ],
+ [
+ "pot_profile_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "pot_profile_activate",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "id"
+ ],
+ [
+ "string",
+ "list_name",
+ 0
+ ],
+ {
+ "crc": "0x0770af98"
+ }
+ ],
+ [
+ "pot_profile_activate_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "pot_profile_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "list_name",
+ 0
+ ],
+ {
+ "crc": "0xcd63f53b"
+ }
+ ],
+ [
+ "pot_profile_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "pot_profile_show_config_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "id"
+ ],
+ {
+ "crc": "0x005b7d59"
+ }
+ ],
+ [
+ "pot_profile_show_config_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "id"
+ ],
+ [
+ "u8",
+ "validator"
+ ],
+ [
+ "u64",
+ "secret_key"
+ ],
+ [
+ "u64",
+ "secret_share"
+ ],
+ [
+ "u64",
+ "prime"
+ ],
+ [
+ "u64",
+ "bit_mask"
+ ],
+ [
+ "u64",
+ "lpc"
+ ],
+ [
+ "u64",
+ "polynomial_public"
+ ],
+ {
+ "crc": "0xb7ce0618"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "pot_profile_add": {
+ "reply": "pot_profile_add_reply"
+ },
+ "pot_profile_activate": {
+ "reply": "pot_profile_activate_reply"
+ },
+ "pot_profile_del": {
+ "reply": "pot_profile_del_reply"
+ },
+ "pot_profile_show_config_dump": {
+ "reply": "pot_profile_show_config_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0xa9d8e55c"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/pppoe.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/pppoe.api.json
new file mode 100644
index 0000000..c34bf3a
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/pppoe.api.json
@@ -0,0 +1,590 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "pppoe_add_del_session",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "u16",
+ "session_id"
+ ],
+ [
+ "vl_api_address_t",
+ "client_ip"
+ ],
+ [
+ "u32",
+ "decap_vrf_id"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "client_mac"
+ ],
+ {
+ "crc": "0x46ace853"
+ }
+ ],
+ [
+ "pppoe_add_del_session_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "pppoe_session_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "pppoe_session_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u16",
+ "session_id"
+ ],
+ [
+ "vl_api_address_t",
+ "client_ip"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "encap_if_index"
+ ],
+ [
+ "u32",
+ "decap_vrf_id"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "local_mac"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "client_mac"
+ ],
+ {
+ "crc": "0x332bc742"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "pppoe_add_del_session": {
+ "reply": "pppoe_add_del_session_reply"
+ },
+ "pppoe_session_dump": {
+ "reply": "pppoe_session_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ },
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ }
+ },
+ "vl_api_version": "0xb83e4d5f"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/rdma.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/rdma.api.json
new file mode 100644
index 0000000..692e604
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/rdma.api.json
@@ -0,0 +1,313 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "rdma_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "host_if",
+ 64
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ [
+ "u16",
+ "rxq_num",
+ {
+ "default": 1
+ }
+ ],
+ [
+ "u16",
+ "rxq_size",
+ {
+ "default": 1024
+ }
+ ],
+ [
+ "u16",
+ "txq_size",
+ {
+ "default": 1024
+ }
+ ],
+ [
+ "vl_api_rdma_mode_t",
+ "mode",
+ {
+ "default": 0
+ }
+ ],
+ {
+ "crc": "0x076fe418"
+ }
+ ],
+ [
+ "rdma_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "rdma_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "rdma_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rdma_mode",
+ [
+ "RDMA_API_MODE_AUTO",
+ 0
+ ],
+ [
+ "RDMA_API_MODE_IBV",
+ 1
+ ],
+ [
+ "RDMA_API_MODE_DV",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "rdma_create": {
+ "reply": "rdma_create_reply"
+ },
+ "rdma_delete": {
+ "reply": "rdma_delete_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x5ce233e0"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/sctp.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/sctp.api.json
new file mode 100644
index 0000000..170ef26
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/sctp.api.json
@@ -0,0 +1,175 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "sctp_add_src_dst_connection",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "u8",
+ "src_address",
+ 16
+ ],
+ [
+ "u8",
+ "dst_address",
+ 16
+ ],
+ {
+ "crc": "0x45c59b2f"
+ }
+ ],
+ [
+ "sctp_add_src_dst_connection_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sctp_del_src_dst_connection",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "u8",
+ "src_address",
+ 16
+ ],
+ [
+ "u8",
+ "dst_address",
+ 16
+ ],
+ {
+ "crc": "0x45c59b2f"
+ }
+ ],
+ [
+ "sctp_del_src_dst_connection_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sctp_config",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "never_delay_sack"
+ ],
+ [
+ "u8",
+ "never_bundle"
+ ],
+ {
+ "crc": "0x7617eced"
+ }
+ ],
+ [
+ "sctp_config_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "sctp_add_src_dst_connection": {
+ "reply": "sctp_add_src_dst_connection_reply"
+ },
+ "sctp_del_src_dst_connection": {
+ "reply": "sctp_del_src_dst_connection_reply"
+ },
+ "sctp_config": {
+ "reply": "sctp_config_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x35f411c4"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/stn.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/stn.api.json
new file mode 100644
index 0000000..abb385e
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/stn.api.json
@@ -0,0 +1,550 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "stn_add_del_rule",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_t",
+ "ip_address"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0x53f751e6"
+ }
+ ],
+ [
+ "stn_add_del_rule_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "stn_rules_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "stn_rules_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_t",
+ "ip_address"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xb0f6606c"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "stn_add_del_rule": {
+ "reply": "stn_add_del_rule_reply"
+ },
+ "stn_rules_dump": {
+ "reply": "stn_rules_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ }
+ },
+ "vl_api_version": "0x619d8f3"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/svs.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/svs.api.json
new file mode 100644
index 0000000..942d112
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/svs.api.json
@@ -0,0 +1,707 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "svs_plugin_get_version",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "svs_plugin_get_version_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "major"
+ ],
+ [
+ "u32",
+ "minor"
+ ],
+ {
+ "crc": "0x9b32cf86"
+ }
+ ],
+ [
+ "svs_table_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ {
+ "crc": "0x7d21cb2a"
+ }
+ ],
+ [
+ "svs_table_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "svs_route_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_prefix_t",
+ "prefix"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u32",
+ "source_table_id"
+ ],
+ {
+ "crc": "0xd39e31fc"
+ }
+ ],
+ [
+ "svs_route_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "svs_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_enable"
+ ],
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x634b89d2"
+ }
+ ],
+ [
+ "svs_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "svs_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "svs_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ {
+ "crc": "0xb8523d64"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "svs_plugin_get_version": {
+ "reply": "svs_plugin_get_version_reply"
+ },
+ "svs_table_add_del": {
+ "reply": "svs_table_add_del_reply"
+ },
+ "svs_route_add_del": {
+ "reply": "svs_route_add_del_reply"
+ },
+ "svs_enable_disable": {
+ "reply": "svs_enable_disable_reply"
+ },
+ "svs_dump": {
+ "reply": "svs_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xf870d4cb"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/tls_openssl.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/tls_openssl.api.json
new file mode 100644
index 0000000..1d9b9e6
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/tls_openssl.api.json
@@ -0,0 +1,72 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "tls_openssl_set_engine",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "async_enable"
+ ],
+ [
+ "u8",
+ "engine",
+ 64
+ ],
+ [
+ "u8",
+ "algorithm",
+ 64
+ ],
+ [
+ "u8",
+ "ciphers",
+ 64
+ ],
+ {
+ "crc": "0xe34d95c1"
+ }
+ ],
+ [
+ "tls_openssl_set_engine_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "tls_openssl_set_engine": {
+ "reply": "tls_openssl_set_engine_reply"
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x7386fbcd"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/trace.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/trace.api.json
new file mode 100644
index 0000000..b6d5e68
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/trace.api.json
@@ -0,0 +1,171 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "trace_profile_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "trace_type"
+ ],
+ [
+ "u8",
+ "num_elts"
+ ],
+ [
+ "u8",
+ "trace_tsp"
+ ],
+ [
+ "u32",
+ "node_id"
+ ],
+ [
+ "u32",
+ "app_data"
+ ],
+ {
+ "crc": "0xde08aa6d"
+ }
+ ],
+ [
+ "trace_profile_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "trace_profile_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "trace_profile_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "trace_profile_show_config",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "trace_profile_show_config_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "trace_type"
+ ],
+ [
+ "u8",
+ "num_elts"
+ ],
+ [
+ "u8",
+ "trace_tsp"
+ ],
+ [
+ "u32",
+ "node_id"
+ ],
+ [
+ "u32",
+ "app_data"
+ ],
+ {
+ "crc": "0x0f1d374c"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "trace_profile_add": {
+ "reply": "trace_profile_add_reply"
+ },
+ "trace_profile_del": {
+ "reply": "trace_profile_del_reply"
+ },
+ "trace_profile_show_config": {
+ "reply": "trace_profile_show_config_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x397cbf90"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/udp_ping.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/udp_ping.api.json
new file mode 100644
index 0000000..8881a39
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/udp_ping.api.json
@@ -0,0 +1,423 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "udp_ping_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_t",
+ "src_ip_address"
+ ],
+ [
+ "vl_api_address_t",
+ "dst_ip_address"
+ ],
+ [
+ "u16",
+ "start_src_port"
+ ],
+ [
+ "u16",
+ "end_src_port"
+ ],
+ [
+ "u16",
+ "start_dst_port"
+ ],
+ [
+ "u16",
+ "end_dst_port"
+ ],
+ [
+ "u16",
+ "interval"
+ ],
+ [
+ "u8",
+ "dis"
+ ],
+ [
+ "u8",
+ "fault_det"
+ ],
+ [
+ "u8",
+ "reserve",
+ 3
+ ],
+ {
+ "crc": "0xc692b188"
+ }
+ ],
+ [
+ "udp_ping_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "udp_ping_export",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0xb3e225d2"
+ }
+ ],
+ [
+ "udp_ping_export_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "udp_ping_add_del": {
+ "reply": "udp_ping_add_del_reply"
+ },
+ "udp_ping_export": {
+ "reply": "udp_ping_export_reply"
+ }
+ },
+ "options": {
+ "version": "3.0.0"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ }
+ },
+ "vl_api_version": "0x5a416f51"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/vmxnet3.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/vmxnet3.api.json
new file mode 100644
index 0000000..a0d4768
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/vmxnet3.api.json
@@ -0,0 +1,418 @@
+{
+ "types": [
+ [
+ "vmxnet3_tx_list",
+ [
+ "u16",
+ "tx_qsize"
+ ],
+ [
+ "u16",
+ "tx_next"
+ ],
+ [
+ "u16",
+ "tx_produce"
+ ],
+ [
+ "u16",
+ "tx_consume"
+ ]
+ ],
+ [
+ "vmxnet3_rx_list",
+ [
+ "u16",
+ "rx_qsize"
+ ],
+ [
+ "u16",
+ "rx_fill",
+ 2
+ ],
+ [
+ "u16",
+ "rx_next"
+ ],
+ [
+ "u16",
+ "rx_produce",
+ 2
+ ],
+ [
+ "u16",
+ "rx_consume",
+ 2
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "vmxnet3_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "pci_addr"
+ ],
+ [
+ "i32",
+ "enable_elog"
+ ],
+ [
+ "u16",
+ "rxq_size"
+ ],
+ [
+ "u16",
+ "rxq_num"
+ ],
+ [
+ "u16",
+ "txq_size"
+ ],
+ [
+ "u16",
+ "txq_num"
+ ],
+ [
+ "u8",
+ "bind"
+ ],
+ [
+ "bool",
+ "enable_gso"
+ ],
+ {
+ "crc": "0x71a07314"
+ }
+ ],
+ [
+ "vmxnet3_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "vmxnet3_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "vmxnet3_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "vmxnet3_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "string",
+ "if_name",
+ 64
+ ],
+ [
+ "vl_api_mac_address_t",
+ "hw_addr"
+ ],
+ [
+ "u32",
+ "pci_addr"
+ ],
+ [
+ "u8",
+ "version"
+ ],
+ [
+ "bool",
+ "admin_up_down"
+ ],
+ [
+ "u8",
+ "rx_count"
+ ],
+ [
+ "vl_api_vmxnet3_rx_list_t",
+ "rx_list",
+ 16
+ ],
+ [
+ "u8",
+ "tx_count"
+ ],
+ [
+ "vl_api_vmxnet3_tx_list_t",
+ "tx_list",
+ 8
+ ],
+ {
+ "crc": "0x829ba055"
+ }
+ ],
+ [
+ "vmxnet3_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "if_status_flags",
+ [
+ "IF_STATUS_API_FLAG_ADMIN_UP",
+ 1
+ ],
+ [
+ "IF_STATUS_API_FLAG_LINK_UP",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "mtu_proto",
+ [
+ "MTU_PROTO_API_L3",
+ 1
+ ],
+ [
+ "MTU_PROTO_API_IP4",
+ 2
+ ],
+ [
+ "MTU_PROTO_API_IP6",
+ 3
+ ],
+ [
+ "MTU_PROTO_API_MPLS",
+ 4
+ ],
+ [
+ "MTU_PROTO_API_N",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "link_duplex",
+ [
+ "LINK_DUPLEX_API_UNKNOWN",
+ 0
+ ],
+ [
+ "LINK_DUPLEX_API_HALF",
+ 1
+ ],
+ [
+ "LINK_DUPLEX_API_FULL",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "sub_if_flags",
+ [
+ "SUB_IF_API_FLAG_NO_TAGS",
+ 1
+ ],
+ [
+ "SUB_IF_API_FLAG_ONE_TAG",
+ 2
+ ],
+ [
+ "SUB_IF_API_FLAG_TWO_TAGS",
+ 4
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AD",
+ 8
+ ],
+ [
+ "SUB_IF_API_FLAG_EXACT_MATCH",
+ 16
+ ],
+ [
+ "SUB_IF_API_FLAG_DEFAULT",
+ 32
+ ],
+ [
+ "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+ 64
+ ],
+ [
+ "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+ 128
+ ],
+ [
+ "SUB_IF_API_FLAG_MASK_VNET",
+ 254
+ ],
+ [
+ "SUB_IF_API_FLAG_DOT1AH",
+ 256
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "rx_mode",
+ [
+ "RX_MODE_API_UNKNOWN",
+ 0
+ ],
+ [
+ "RX_MODE_API_POLLING",
+ 1
+ ],
+ [
+ "RX_MODE_API_INTERRUPT",
+ 2
+ ],
+ [
+ "RX_MODE_API_ADAPTIVE",
+ 3
+ ],
+ [
+ "RX_MODE_API_DEFAULT",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "if_type",
+ [
+ "IF_API_TYPE_HARDWARE",
+ 1
+ ],
+ [
+ "IF_API_TYPE_SUB",
+ 2
+ ],
+ [
+ "IF_API_TYPE_P2P",
+ 3
+ ],
+ [
+ "IF_API_TYPE_PIPE",
+ 4
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "vmxnet3_create": {
+ "reply": "vmxnet3_create_reply"
+ },
+ "vmxnet3_delete": {
+ "reply": "vmxnet3_delete_reply"
+ },
+ "vmxnet3_dump": {
+ "reply": "vmxnet3_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.1.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ }
+ },
+ "vl_api_version": "0xe89a60f7"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/vxlan_gpe_ioam_export.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/vxlan_gpe_ioam_export.api.json
new file mode 100644
index 0000000..18acecb
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/plugins/vxlan_gpe_ioam_export.api.json
@@ -0,0 +1,351 @@
+{
+ "types": [
+ [
+ "address",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_address_union_t",
+ "un"
+ ]
+ ],
+ [
+ "prefix",
+ [
+ "vl_api_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "mprefix",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u16",
+ "grp_address_length"
+ ],
+ [
+ "vl_api_address_union_t",
+ "grp_address"
+ ],
+ [
+ "vl_api_address_union_t",
+ "src_address"
+ ]
+ ],
+ [
+ "ip6_prefix",
+ [
+ "vl_api_ip6_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "ip4_prefix",
+ [
+ "vl_api_ip4_address_t",
+ "address"
+ ],
+ [
+ "u8",
+ "len"
+ ]
+ ],
+ [
+ "prefix_matcher",
+ [
+ "u8",
+ "le"
+ ],
+ [
+ "u8",
+ "ge"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "vxlan_gpe_ioam_export_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_disable"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "collector_address"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "src_address"
+ ],
+ {
+ "crc": "0xe4d4ebfa"
+ }
+ ],
+ [
+ "vxlan_gpe_ioam_export_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ]
+ ],
+ "enums": [
+ [
+ "address_family",
+ [
+ "ADDRESS_IP4",
+ 0
+ ],
+ [
+ "ADDRESS_IP6",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ip_ecn",
+ [
+ "IP_API_ECN_NONE",
+ 0
+ ],
+ [
+ "IP_API_ECN_ECT0",
+ 1
+ ],
+ [
+ "IP_API_ECN_ECT1",
+ 2
+ ],
+ [
+ "IP_API_ECN_CE",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_dscp",
+ [
+ "IP_API_DSCP_CS0",
+ 0
+ ],
+ [
+ "IP_API_DSCP_CS1",
+ 8
+ ],
+ [
+ "IP_API_DSCP_AF11",
+ 10
+ ],
+ [
+ "IP_API_DSCP_AF12",
+ 12
+ ],
+ [
+ "IP_API_DSCP_AF13",
+ 14
+ ],
+ [
+ "IP_API_DSCP_CS2",
+ 16
+ ],
+ [
+ "IP_API_DSCP_AF21",
+ 18
+ ],
+ [
+ "IP_API_DSCP_AF22",
+ 20
+ ],
+ [
+ "IP_API_DSCP_AF23",
+ 22
+ ],
+ [
+ "IP_API_DSCP_CS3",
+ 24
+ ],
+ [
+ "IP_API_DSCP_AF31",
+ 26
+ ],
+ [
+ "IP_API_DSCP_AF32",
+ 28
+ ],
+ [
+ "IP_API_DSCP_AF33",
+ 30
+ ],
+ [
+ "IP_API_DSCP_CS4",
+ 32
+ ],
+ [
+ "IP_API_DSCP_AF41",
+ 34
+ ],
+ [
+ "IP_API_DSCP_AF42",
+ 36
+ ],
+ [
+ "IP_API_DSCP_AF43",
+ 38
+ ],
+ [
+ "IP_API_DSCP_CS5",
+ 40
+ ],
+ [
+ "IP_API_DSCP_EF",
+ 46
+ ],
+ [
+ "IP_API_DSCP_CS6",
+ 48
+ ],
+ [
+ "IP_API_DSCP_CS7",
+ 50
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "ip_proto",
+ [
+ "IP_API_PROTO_HOPOPT",
+ 0
+ ],
+ [
+ "IP_API_PROTO_ICMP",
+ 1
+ ],
+ [
+ "IP_API_PROTO_IGMP",
+ 2
+ ],
+ [
+ "IP_API_PROTO_TCP",
+ 6
+ ],
+ [
+ "IP_API_PROTO_UDP",
+ 17
+ ],
+ [
+ "IP_API_PROTO_GRE",
+ 47
+ ],
+ [
+ "IP_API_PROTO_AH",
+ 50
+ ],
+ [
+ "IP_API_PROTO_ESP",
+ 51
+ ],
+ [
+ "IP_API_PROTO_EIGRP",
+ 88
+ ],
+ [
+ "IP_API_PROTO_OSPF",
+ 89
+ ],
+ [
+ "IP_API_PROTO_SCTP",
+ 132
+ ],
+ [
+ "IP_API_PROTO_RESERVED",
+ 255
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "vxlan_gpe_ioam_export_enable_disable": {
+ "reply": "vxlan_gpe_ioam_export_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "ip4_address": {
+ "type": "u8",
+ "length": 4
+ },
+ "ip6_address": {
+ "type": "u8",
+ "length": 16
+ },
+ "address_with_prefix": {
+ "type": "vl_api_prefix_t"
+ },
+ "ip4_address_with_prefix": {
+ "type": "vl_api_ip4_prefix_t"
+ },
+ "ip6_address_with_prefix": {
+ "type": "vl_api_ip6_prefix_t"
+ }
+ },
+ "vl_api_version": "0xc6fdb83f"
+}