summaryrefslogtreecommitdiffstats
path: root/internal/testbinapi/binapi2001/.vppapi
diff options
context:
space:
mode:
authorOndrej Fabry <ofabry@cisco.com>2020-07-22 04:40:55 +0200
committerOndrej Fabry <ofabry@cisco.com>2020-07-22 04:40:55 +0200
commit58da9ac6e691a8c660eb8ca838a154e11da0db68 (patch)
treea1bbda04c6d0621ce0fc20779276620f1820190b /internal/testbinapi/binapi2001/.vppapi
parenta155cd438c6558da266c1c5931361ea088b35653 (diff)
Fix binapigen decoding and minor improvements
- fixed allocating byte slices before copying decoded data - simplified encoding functions - several minor improvements Change-Id: I6669424b89eb86333805cb1b57e4551169980cc2 Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Diffstat (limited to 'internal/testbinapi/binapi2001/.vppapi')
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/VPP_VERSION1
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/af_packet.api.json367
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/arp.api.json648
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/bfd.api.json1254
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/bier.api.json1086
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/bond.api.json620
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/classify.api.json1154
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/cop.api.json277
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/ethernet_types.api.json15
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/feature.api.json228
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/fib_types.api.json482
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/geneve.api.json649
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/gre.api.json617
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/gso.api.json218
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/interface.api.json1902
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/interface_types.api.json167
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/ip.api.json3219
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/ip6_nd.api.json912
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/ip_neighbor.api.json736
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/ip_types.api.json298
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/ipfix_export.api.json664
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/ipip.api.json764
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/ipip_types.api.json41
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/ipsec.api.json1580
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/ipsec_types.api.json493
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/l2.api.json2015
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/l2tp.api.json767
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/lisp.api.json1704
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/lisp_gpe.api.json630
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/lldp.api.json133
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/memclnt.api.json595
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/mfib_types.api.json786
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/mpls.api.json1378
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/netmap.api.json119
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/nhrp.api.json561
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/one.api.json2867
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/p2p_ethernet.api.json277
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/pci_types.api.json32
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/pg.api.json183
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/pipe.api.json319
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/policer.api.json264
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/punt.api.json629
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/qos.api.json956
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/rd_cp.api.json222
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/session.api.json1372
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/span.api.json125
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/sr.api.json656
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/sr_mpls.api.json324
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/syslog.api.json542
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/tapv2.api.json775
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/tcp.api.json351
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/udp.api.json457
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/vhost_user.api.json528
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/virtio.api.json365
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/virtio_types.api.json93
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/vpe.api.json772
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/vpe_types.api.json86
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/vxlan.api.json275
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/vxlan_gbp.api.json656
-rw-r--r--internal/testbinapi/binapi2001/.vppapi/core/vxlan_gpe.api.json224
-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
104 files changed, 66638 insertions, 0 deletions
diff --git a/internal/testbinapi/binapi2001/.vppapi/VPP_VERSION b/internal/testbinapi/binapi2001/.vppapi/VPP_VERSION
new file mode 100644
index 0000000..b38ff33
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/VPP_VERSION
@@ -0,0 +1 @@
+20.01-45~g7a071e370~b63 \ No newline at end of file
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/af_packet.api.json b/internal/testbinapi/binapi2001/.vppapi/core/af_packet.api.json
new file mode 100644
index 0000000..158e7ec
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/af_packet.api.json
@@ -0,0 +1,367 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "af_packet_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "hw_addr"
+ ],
+ [
+ "bool",
+ "use_random_hw_addr"
+ ],
+ [
+ "string",
+ "host_if_name",
+ 64
+ ],
+ {
+ "crc": "0xa190415f"
+ }
+ ],
+ [
+ "af_packet_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "af_packet_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "host_if_name",
+ 64
+ ],
+ {
+ "crc": "0x863fa648"
+ }
+ ],
+ [
+ "af_packet_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "af_packet_set_l4_cksum_offload",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "set"
+ ],
+ {
+ "crc": "0x319cd5c8"
+ }
+ ],
+ [
+ "af_packet_set_l4_cksum_offload_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "af_packet_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "af_packet_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "string",
+ "host_if_name",
+ 64
+ ],
+ {
+ "crc": "0x58c7c042"
+ }
+ ]
+ ],
+ "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": {
+ "af_packet_create": {
+ "reply": "af_packet_create_reply"
+ },
+ "af_packet_delete": {
+ "reply": "af_packet_delete_reply"
+ },
+ "af_packet_set_l4_cksum_offload": {
+ "reply": "af_packet_set_l4_cksum_offload_reply"
+ },
+ "af_packet_dump": {
+ "reply": "af_packet_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ }
+ },
+ "vl_api_version": "0xba745e20"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/arp.api.json b/internal/testbinapi/binapi2001/.vppapi/core/arp.api.json
new file mode 100644
index 0000000..597c705
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/arp.api.json
@@ -0,0 +1,648 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "proxy_arp",
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "low"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "hi"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "proxy_arp_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_proxy_arp_t",
+ "proxy"
+ ],
+ {
+ "crc": "0x85486cbd"
+ }
+ ],
+ [
+ "proxy_arp_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "proxy_arp_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "proxy_arp_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_proxy_arp_t",
+ "proxy"
+ ],
+ {
+ "crc": "0x9228c150"
+ }
+ ],
+ [
+ "proxy_arp_intfc_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0xae6cfcfb"
+ }
+ ],
+ [
+ "proxy_arp_intfc_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "proxy_arp_intfc_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "proxy_arp_intfc_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf6458e5f"
+ }
+ ]
+ ],
+ "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": {
+ "proxy_arp_add_del": {
+ "reply": "proxy_arp_add_del_reply"
+ },
+ "proxy_arp_dump": {
+ "reply": "proxy_arp_details",
+ "stream": true
+ },
+ "proxy_arp_intfc_enable_disable": {
+ "reply": "proxy_arp_intfc_enable_disable_reply"
+ },
+ "proxy_arp_intfc_dump": {
+ "reply": "proxy_arp_intfc_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"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xa818aaf3"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/bfd.api.json b/internal/testbinapi/binapi2001/.vppapi/core/bfd.api.json
new file mode 100644
index 0000000..390a0ca
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/bfd.api.json
@@ -0,0 +1,1254 @@
+{
+ "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": [
+ [
+ "bfd_udp_set_echo_source",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "bfd_udp_set_echo_source_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bfd_udp_del_echo_source",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "bfd_udp_del_echo_source_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bfd_udp_get_echo_source",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "bfd_udp_get_echo_source_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_set"
+ ],
+ [
+ "bool",
+ "have_usable_ip4"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip4_addr"
+ ],
+ [
+ "bool",
+ "have_usable_ip6"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6_addr"
+ ],
+ {
+ "crc": "0x1e00cfce"
+ }
+ ],
+ [
+ "bfd_udp_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "desired_min_tx"
+ ],
+ [
+ "u32",
+ "required_min_rx"
+ ],
+ [
+ "vl_api_address_t",
+ "local_addr"
+ ],
+ [
+ "vl_api_address_t",
+ "peer_addr"
+ ],
+ [
+ "u8",
+ "detect_mult"
+ ],
+ [
+ "bool",
+ "is_authenticated"
+ ],
+ [
+ "u8",
+ "bfd_key_id"
+ ],
+ [
+ "u32",
+ "conf_key_id"
+ ],
+ {
+ "crc": "0x7a6d1185"
+ }
+ ],
+ [
+ "bfd_udp_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bfd_udp_mod",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "desired_min_tx"
+ ],
+ [
+ "u32",
+ "required_min_rx"
+ ],
+ [
+ "vl_api_address_t",
+ "local_addr"
+ ],
+ [
+ "vl_api_address_t",
+ "peer_addr"
+ ],
+ [
+ "u8",
+ "detect_mult"
+ ],
+ {
+ "crc": "0x783a3ff6"
+ }
+ ],
+ [
+ "bfd_udp_mod_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bfd_udp_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_address_t",
+ "local_addr"
+ ],
+ [
+ "vl_api_address_t",
+ "peer_addr"
+ ],
+ {
+ "crc": "0x8096514d"
+ }
+ ],
+ [
+ "bfd_udp_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bfd_udp_session_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "bfd_udp_session_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_address_t",
+ "local_addr"
+ ],
+ [
+ "vl_api_address_t",
+ "peer_addr"
+ ],
+ [
+ "vl_api_bfd_state_t",
+ "state"
+ ],
+ [
+ "bool",
+ "is_authenticated"
+ ],
+ [
+ "u8",
+ "bfd_key_id"
+ ],
+ [
+ "u32",
+ "conf_key_id"
+ ],
+ [
+ "u32",
+ "required_min_rx"
+ ],
+ [
+ "u32",
+ "desired_min_tx"
+ ],
+ [
+ "u8",
+ "detect_mult"
+ ],
+ {
+ "crc": "0x60653c02"
+ }
+ ],
+ [
+ "bfd_udp_session_set_flags",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_address_t",
+ "local_addr"
+ ],
+ [
+ "vl_api_address_t",
+ "peer_addr"
+ ],
+ [
+ "vl_api_if_status_flags_t",
+ "flags"
+ ],
+ {
+ "crc": "0xcf313851"
+ }
+ ],
+ [
+ "bfd_udp_session_set_flags_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "want_bfd_events",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ {
+ "crc": "0xc5e2af94"
+ }
+ ],
+ [
+ "want_bfd_events_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bfd_auth_set_key",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "conf_key_id"
+ ],
+ [
+ "u8",
+ "key_len"
+ ],
+ [
+ "u8",
+ "auth_type"
+ ],
+ [
+ "u8",
+ "key",
+ 20
+ ],
+ {
+ "crc": "0x690b8877"
+ }
+ ],
+ [
+ "bfd_auth_set_key_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bfd_auth_del_key",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "conf_key_id"
+ ],
+ {
+ "crc": "0x65310b22"
+ }
+ ],
+ [
+ "bfd_auth_del_key_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bfd_auth_keys_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "bfd_auth_keys_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "conf_key_id"
+ ],
+ [
+ "u32",
+ "use_count"
+ ],
+ [
+ "u8",
+ "auth_type"
+ ],
+ {
+ "crc": "0x84130e9f"
+ }
+ ],
+ [
+ "bfd_udp_auth_activate",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_address_t",
+ "local_addr"
+ ],
+ [
+ "vl_api_address_t",
+ "peer_addr"
+ ],
+ [
+ "bool",
+ "is_delayed"
+ ],
+ [
+ "u8",
+ "bfd_key_id"
+ ],
+ [
+ "u32",
+ "conf_key_id"
+ ],
+ {
+ "crc": "0x493ee0ec"
+ }
+ ],
+ [
+ "bfd_udp_auth_activate_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bfd_udp_auth_deactivate",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_address_t",
+ "local_addr"
+ ],
+ [
+ "vl_api_address_t",
+ "peer_addr"
+ ],
+ [
+ "bool",
+ "is_delayed"
+ ],
+ {
+ "crc": "0x99978c32"
+ }
+ ],
+ [
+ "bfd_udp_auth_deactivate_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"
+ }
+ ],
+ [
+ "bfd_state",
+ [
+ "BFD_STATE_API_ADMIN_DOWN",
+ 0
+ ],
+ [
+ "BFD_STATE_API_DOWN",
+ 1
+ ],
+ [
+ "BFD_STATE_API_INIT",
+ 2
+ ],
+ [
+ "BFD_STATE_API_UP",
+ 3
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "bfd_udp_set_echo_source": {
+ "reply": "bfd_udp_set_echo_source_reply"
+ },
+ "bfd_udp_del_echo_source": {
+ "reply": "bfd_udp_del_echo_source_reply"
+ },
+ "bfd_udp_get_echo_source": {
+ "reply": "bfd_udp_get_echo_source_reply"
+ },
+ "bfd_udp_add": {
+ "reply": "bfd_udp_add_reply"
+ },
+ "bfd_udp_mod": {
+ "reply": "bfd_udp_mod_reply"
+ },
+ "bfd_udp_del": {
+ "reply": "bfd_udp_del_reply"
+ },
+ "bfd_udp_session_dump": {
+ "reply": "bfd_udp_session_details",
+ "stream": true
+ },
+ "bfd_udp_session_set_flags": {
+ "reply": "bfd_udp_session_set_flags_reply"
+ },
+ "want_bfd_events": {
+ "reply": "want_bfd_events_reply"
+ },
+ "bfd_auth_set_key": {
+ "reply": "bfd_auth_set_key_reply"
+ },
+ "bfd_auth_del_key": {
+ "reply": "bfd_auth_del_key_reply"
+ },
+ "bfd_auth_keys_dump": {
+ "reply": "bfd_auth_keys_details",
+ "stream": true
+ },
+ "bfd_udp_auth_activate": {
+ "reply": "bfd_udp_auth_activate_reply"
+ },
+ "bfd_udp_auth_deactivate": {
+ "reply": "bfd_udp_auth_deactivate_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": "0xfd792c8c"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/bier.api.json b/internal/testbinapi/binapi2001/.vppapi/core/bier.api.json
new file mode 100644
index 0000000..02937e7
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/bier.api.json
@@ -0,0 +1,1086 @@
+{
+ "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
+ ]
+ ],
+ [
+ "bier_table_id",
+ [
+ "u8",
+ "bt_set"
+ ],
+ [
+ "u8",
+ "bt_sub_domain"
+ ],
+ [
+ "u8",
+ "bt_hdr_len_id"
+ ]
+ ],
+ [
+ "bier_route",
+ [
+ "u32",
+ "br_bp"
+ ],
+ [
+ "vl_api_bier_table_id_t",
+ "br_tbl_id"
+ ],
+ [
+ "u8",
+ "br_n_paths"
+ ],
+ [
+ "vl_api_fib_path_t",
+ "br_paths",
+ 0,
+ "br_n_paths"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "bier_table_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_bier_table_id_t",
+ "bt_tbl_id"
+ ],
+ [
+ "u32",
+ "bt_label"
+ ],
+ [
+ "bool",
+ "bt_is_add"
+ ],
+ {
+ "crc": "0x35e59209"
+ }
+ ],
+ [
+ "bier_table_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bier_table_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "bier_table_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bt_label"
+ ],
+ [
+ "vl_api_bier_table_id_t",
+ "bt_tbl_id"
+ ],
+ {
+ "crc": "0xfc44a9dd"
+ }
+ ],
+ [
+ "bier_route_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "br_is_add"
+ ],
+ [
+ "bool",
+ "br_is_replace"
+ ],
+ [
+ "vl_api_bier_route_t",
+ "br_route"
+ ],
+ {
+ "crc": "0xf29edca0"
+ }
+ ],
+ [
+ "bier_route_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bier_route_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_bier_table_id_t",
+ "br_tbl_id"
+ ],
+ {
+ "crc": "0x38339846"
+ }
+ ],
+ [
+ "bier_route_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_bier_route_t",
+ "br_route"
+ ],
+ {
+ "crc": "0x39ee6a56"
+ }
+ ],
+ [
+ "bier_imp_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_bier_table_id_t",
+ "bi_tbl_id"
+ ],
+ [
+ "u16",
+ "bi_src"
+ ],
+ [
+ "u8",
+ "bi_n_bytes"
+ ],
+ [
+ "u8",
+ "bi_bytes",
+ 0,
+ "bi_n_bytes"
+ ],
+ {
+ "crc": "0x3856dc3d"
+ }
+ ],
+ [
+ "bier_imp_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "bi_index"
+ ],
+ {
+ "crc": "0xd49c5793"
+ }
+ ],
+ [
+ "bier_imp_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bi_index"
+ ],
+ {
+ "crc": "0x7d45edf6"
+ }
+ ],
+ [
+ "bier_imp_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bier_imp_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "bier_imp_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_bier_table_id_t",
+ "bi_tbl_id"
+ ],
+ [
+ "u16",
+ "bi_src"
+ ],
+ [
+ "u8",
+ "bi_n_bytes"
+ ],
+ [
+ "u8",
+ "bi_bytes",
+ 0,
+ "bi_n_bytes"
+ ],
+ {
+ "crc": "0xb76192df"
+ }
+ ],
+ [
+ "bier_disp_table_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bdt_tbl_id"
+ ],
+ [
+ "bool",
+ "bdt_is_add"
+ ],
+ {
+ "crc": "0x889657ac"
+ }
+ ],
+ [
+ "bier_disp_table_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bier_disp_table_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "bier_disp_table_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bdt_tbl_id"
+ ],
+ {
+ "crc": "0xd27942c0"
+ }
+ ],
+ [
+ "bier_disp_entry_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "bde_bp"
+ ],
+ [
+ "u32",
+ "bde_tbl_id"
+ ],
+ [
+ "bool",
+ "bde_is_add"
+ ],
+ [
+ "u8",
+ "bde_payload_proto"
+ ],
+ [
+ "u8",
+ "bde_n_paths"
+ ],
+ [
+ "vl_api_fib_path_t",
+ "bde_paths",
+ 0,
+ "bde_n_paths"
+ ],
+ {
+ "crc": "0x648323eb"
+ }
+ ],
+ [
+ "bier_disp_entry_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bier_disp_entry_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bde_tbl_id"
+ ],
+ {
+ "crc": "0xb5fa54ad"
+ }
+ ],
+ [
+ "bier_disp_entry_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "bde_bp"
+ ],
+ [
+ "u32",
+ "bde_tbl_id"
+ ],
+ [
+ "bool",
+ "bde_is_add"
+ ],
+ [
+ "u8",
+ "bde_payload_proto"
+ ],
+ [
+ "u8",
+ "bde_n_paths"
+ ],
+ [
+ "vl_api_fib_path_t",
+ "bde_paths",
+ 0,
+ "bde_n_paths"
+ ],
+ {
+ "crc": "0xe5b039a9"
+ }
+ ]
+ ],
+ "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"
+ }
+ ]
+ ],
+ "services": {
+ "bier_table_add_del": {
+ "reply": "bier_table_add_del_reply"
+ },
+ "bier_table_dump": {
+ "reply": "bier_table_details",
+ "stream": true
+ },
+ "bier_route_add_del": {
+ "reply": "bier_route_add_del_reply"
+ },
+ "bier_route_dump": {
+ "reply": "bier_route_details",
+ "stream": true
+ },
+ "bier_imp_add": {
+ "reply": "bier_imp_add_reply"
+ },
+ "bier_imp_del": {
+ "reply": "bier_imp_del_reply"
+ },
+ "bier_imp_dump": {
+ "reply": "bier_imp_details",
+ "stream": true
+ },
+ "bier_disp_table_add_del": {
+ "reply": "bier_disp_table_add_del_reply"
+ },
+ "bier_disp_table_dump": {
+ "reply": "bier_disp_table_details",
+ "stream": true
+ },
+ "bier_disp_entry_add_del": {
+ "reply": "bier_disp_entry_add_del_reply"
+ },
+ "bier_disp_entry_dump": {
+ "reply": "bier_disp_entry_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.2.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"
+ }
+ },
+ "vl_api_version": "0x27c878c4"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/bond.api.json b/internal/testbinapi/binapi2001/.vppapi/core/bond.api.json
new file mode 100644
index 0000000..5eefc92
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/bond.api.json
@@ -0,0 +1,620 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "bond_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "id"
+ ],
+ [
+ "bool",
+ "use_custom_mac"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ [
+ "vl_api_bond_mode_t",
+ "mode"
+ ],
+ [
+ "vl_api_bond_lb_algo_t",
+ "lb"
+ ],
+ [
+ "bool",
+ "numa_only"
+ ],
+ {
+ "crc": "0x48883c7e"
+ }
+ ],
+ [
+ "bond_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "bond_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "bond_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bond_enslave",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "bond_sw_if_index"
+ ],
+ [
+ "bool",
+ "is_passive"
+ ],
+ [
+ "bool",
+ "is_long_timeout"
+ ],
+ {
+ "crc": "0x076ecfa7"
+ }
+ ],
+ [
+ "bond_enslave_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bond_detach_slave",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "bond_detach_slave_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_bond_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "sw_interface_bond_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "id"
+ ],
+ [
+ "vl_api_bond_mode_t",
+ "mode"
+ ],
+ [
+ "vl_api_bond_lb_algo_t",
+ "lb"
+ ],
+ [
+ "bool",
+ "numa_only"
+ ],
+ [
+ "u32",
+ "active_slaves"
+ ],
+ [
+ "u32",
+ "slaves"
+ ],
+ [
+ "string",
+ "interface_name",
+ 64
+ ],
+ {
+ "crc": "0xf5ef2106"
+ }
+ ],
+ [
+ "sw_interface_slave_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "sw_interface_slave_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "string",
+ "interface_name",
+ 64
+ ],
+ [
+ "bool",
+ "is_passive"
+ ],
+ [
+ "bool",
+ "is_long_timeout"
+ ],
+ [
+ "bool",
+ "is_local_numa"
+ ],
+ [
+ "u32",
+ "weight"
+ ],
+ {
+ "crc": "0x3c4a0e23"
+ }
+ ],
+ [
+ "sw_interface_set_bond_weight",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "weight"
+ ],
+ {
+ "crc": "0xdeb510a0"
+ }
+ ],
+ [
+ "sw_interface_set_bond_weight_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"
+ }
+ ],
+ [
+ "bond_mode",
+ [
+ "BOND_API_MODE_ROUND_ROBIN",
+ 1
+ ],
+ [
+ "BOND_API_MODE_ACTIVE_BACKUP",
+ 2
+ ],
+ [
+ "BOND_API_MODE_XOR",
+ 3
+ ],
+ [
+ "BOND_API_MODE_BROADCAST",
+ 4
+ ],
+ [
+ "BOND_API_MODE_LACP",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "bond_lb_algo",
+ [
+ "BOND_API_LB_ALGO_L2",
+ 0
+ ],
+ [
+ "BOND_API_LB_ALGO_L34",
+ 1
+ ],
+ [
+ "BOND_API_LB_ALGO_L23",
+ 2
+ ],
+ [
+ "BOND_API_LB_ALGO_RR",
+ 3
+ ],
+ [
+ "BOND_API_LB_ALGO_BC",
+ 4
+ ],
+ [
+ "BOND_API_LB_ALGO_AB",
+ 5
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "bond_create": {
+ "reply": "bond_create_reply"
+ },
+ "bond_delete": {
+ "reply": "bond_delete_reply"
+ },
+ "bond_enslave": {
+ "reply": "bond_enslave_reply"
+ },
+ "bond_detach_slave": {
+ "reply": "bond_detach_slave_reply"
+ },
+ "sw_interface_bond_dump": {
+ "reply": "sw_interface_bond_details",
+ "stream": true
+ },
+ "sw_interface_slave_dump": {
+ "reply": "sw_interface_slave_details",
+ "stream": true
+ },
+ "sw_interface_set_bond_weight": {
+ "reply": "sw_interface_set_bond_weight_reply"
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ }
+ },
+ "vl_api_version": "0x69f583ad"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/classify.api.json b/internal/testbinapi/binapi2001/.vppapi/core/classify.api.json
new file mode 100644
index 0000000..0b6bf84
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/classify.api.json
@@ -0,0 +1,1154 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "classify_add_del_table",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "bool",
+ "del_chain"
+ ],
+ [
+ "u32",
+ "table_index",
+ {
+ "default": 4294967295
+ }
+ ],
+ [
+ "u32",
+ "nbuckets",
+ {
+ "default": 2
+ }
+ ],
+ [
+ "u32",
+ "memory_size",
+ {
+ "default": 2097152
+ }
+ ],
+ [
+ "u32",
+ "skip_n_vectors",
+ {
+ "default": 0
+ }
+ ],
+ [
+ "u32",
+ "match_n_vectors",
+ {
+ "default": 1
+ }
+ ],
+ [
+ "u32",
+ "next_table_index",
+ {
+ "default": 4294967295
+ }
+ ],
+ [
+ "u32",
+ "miss_next_index",
+ {
+ "default": 4294967295
+ }
+ ],
+ [
+ "u8",
+ "current_data_flag",
+ {
+ "default": 0
+ }
+ ],
+ [
+ "i16",
+ "current_data_offset",
+ {
+ "default": 0
+ }
+ ],
+ [
+ "u32",
+ "mask_len"
+ ],
+ [
+ "u8",
+ "mask",
+ 0,
+ "mask_len"
+ ],
+ {
+ "crc": "0x6849e39e"
+ }
+ ],
+ [
+ "classify_add_del_table_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "new_table_index"
+ ],
+ [
+ "u32",
+ "skip_n_vectors"
+ ],
+ [
+ "u32",
+ "match_n_vectors"
+ ],
+ {
+ "crc": "0x05486349"
+ }
+ ],
+ [
+ "classify_add_del_session",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "u32",
+ "table_index"
+ ],
+ [
+ "u32",
+ "hit_next_index",
+ {
+ "default": 4294967295
+ }
+ ],
+ [
+ "u32",
+ "opaque_index",
+ {
+ "default": 4294967295
+ }
+ ],
+ [
+ "i32",
+ "advance",
+ {
+ "default": 0
+ }
+ ],
+ [
+ "vl_api_classify_action_t",
+ "action",
+ {
+ "default": 0
+ }
+ ],
+ [
+ "u32",
+ "metadata",
+ {
+ "default": 0
+ }
+ ],
+ [
+ "u32",
+ "match_len"
+ ],
+ [
+ "u8",
+ "match",
+ 0,
+ "match_len"
+ ],
+ {
+ "crc": "0xf20879f0"
+ }
+ ],
+ [
+ "classify_add_del_session_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "policer_classify_set_interface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "ip4_table_index"
+ ],
+ [
+ "u32",
+ "ip6_table_index"
+ ],
+ [
+ "u32",
+ "l2_table_index"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0xde7ad708"
+ }
+ ],
+ [
+ "policer_classify_set_interface_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "policer_classify_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_policer_classify_table_t",
+ "type"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x6bfe6603"
+ }
+ ],
+ [
+ "policer_classify_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "table_index"
+ ],
+ {
+ "crc": "0xdfd08765"
+ }
+ ],
+ [
+ "classify_table_ids",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "classify_table_ids_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "u32",
+ "ids",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0xd1d20e1d"
+ }
+ ],
+ [
+ "classify_table_by_interface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "classify_table_by_interface_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "l2_table_id"
+ ],
+ [
+ "u32",
+ "ip4_table_id"
+ ],
+ [
+ "u32",
+ "ip6_table_id"
+ ],
+ {
+ "crc": "0xed4197db"
+ }
+ ],
+ [
+ "classify_table_info",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ {
+ "crc": "0x0cca2cd9"
+ }
+ ],
+ [
+ "classify_table_info_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u32",
+ "nbuckets"
+ ],
+ [
+ "u32",
+ "match_n_vectors"
+ ],
+ [
+ "u32",
+ "skip_n_vectors"
+ ],
+ [
+ "u32",
+ "active_sessions"
+ ],
+ [
+ "u32",
+ "next_table_index"
+ ],
+ [
+ "u32",
+ "miss_next_index"
+ ],
+ [
+ "u32",
+ "mask_length"
+ ],
+ [
+ "u8",
+ "mask",
+ 0,
+ "mask_length"
+ ],
+ {
+ "crc": "0x4a573c0e"
+ }
+ ],
+ [
+ "classify_session_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ {
+ "crc": "0x0cca2cd9"
+ }
+ ],
+ [
+ "classify_session_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u32",
+ "hit_next_index"
+ ],
+ [
+ "i32",
+ "advance"
+ ],
+ [
+ "u32",
+ "opaque_index"
+ ],
+ [
+ "u32",
+ "match_length"
+ ],
+ [
+ "u8",
+ "match",
+ 0,
+ "match_length"
+ ],
+ {
+ "crc": "0x60e3ef94"
+ }
+ ],
+ [
+ "flow_classify_set_interface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "ip4_table_index"
+ ],
+ [
+ "u32",
+ "ip6_table_index"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0xb6192f1c"
+ }
+ ],
+ [
+ "flow_classify_set_interface_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "flow_classify_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_flow_classify_table_t",
+ "type"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x8a6ad43d"
+ }
+ ],
+ [
+ "flow_classify_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "table_index"
+ ],
+ {
+ "crc": "0xdfd08765"
+ }
+ ],
+ [
+ "classify_set_interface_ip_table",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "table_index"
+ ],
+ {
+ "crc": "0xe0b097c7"
+ }
+ ],
+ [
+ "classify_set_interface_ip_table_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "classify_set_interface_l2_tables",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "ip4_table_index"
+ ],
+ [
+ "u32",
+ "ip6_table_index"
+ ],
+ [
+ "u32",
+ "other_table_index"
+ ],
+ [
+ "bool",
+ "is_input"
+ ],
+ {
+ "crc": "0x5a6ddf65"
+ }
+ ],
+ [
+ "classify_set_interface_l2_tables_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "input_acl_set_interface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "ip4_table_index"
+ ],
+ [
+ "u32",
+ "ip6_table_index"
+ ],
+ [
+ "u32",
+ "l2_table_index"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0xde7ad708"
+ }
+ ],
+ [
+ "input_acl_set_interface_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "output_acl_set_interface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "ip4_table_index"
+ ],
+ [
+ "u32",
+ "ip6_table_index"
+ ],
+ [
+ "u32",
+ "l2_table_index"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0xde7ad708"
+ }
+ ],
+ [
+ "output_acl_set_interface_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"
+ }
+ ],
+ [
+ "classify_action",
+ [
+ "CLASSIFY_API_ACTION_NONE",
+ 0
+ ],
+ [
+ "CLASSIFY_API_ACTION_SET_IP4_FIB_INDEX",
+ 1
+ ],
+ [
+ "CLASSIFY_API_ACTION_SET_IP6_FIB_INDEX",
+ 2
+ ],
+ [
+ "CLASSIFY_API_ACTION_SET_METADATA",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "policer_classify_table",
+ [
+ "POLICER_CLASSIFY_API_TABLE_IP4",
+ 1
+ ],
+ [
+ "POLICER_CLASSIFY_API_TABLE_IP6",
+ 2
+ ],
+ [
+ "POLICER_CLASSIFY_API_TABLE_L2",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "flow_classify_table",
+ [
+ "FLOW_CLASSIFY_API_TABLE_IP4",
+ 1
+ ],
+ [
+ "FLOW_CLASSIFY_API_TABLE_IP6",
+ 2
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ]
+ ],
+ "services": {
+ "classify_add_del_table": {
+ "reply": "classify_add_del_table_reply"
+ },
+ "classify_add_del_session": {
+ "reply": "classify_add_del_session_reply"
+ },
+ "policer_classify_set_interface": {
+ "reply": "policer_classify_set_interface_reply"
+ },
+ "policer_classify_dump": {
+ "reply": "policer_classify_details",
+ "stream": true
+ },
+ "classify_table_ids": {
+ "reply": "classify_table_ids_reply"
+ },
+ "classify_table_by_interface": {
+ "reply": "classify_table_by_interface_reply"
+ },
+ "classify_table_info": {
+ "reply": "classify_table_info_reply"
+ },
+ "classify_session_dump": {
+ "reply": "classify_session_details",
+ "stream": true
+ },
+ "flow_classify_set_interface": {
+ "reply": "flow_classify_set_interface_reply"
+ },
+ "flow_classify_dump": {
+ "reply": "flow_classify_details",
+ "stream": true
+ },
+ "classify_set_interface_ip_table": {
+ "reply": "classify_set_interface_ip_table_reply"
+ },
+ "classify_set_interface_l2_tables": {
+ "reply": "classify_set_interface_l2_tables_reply"
+ },
+ "input_acl_set_interface": {
+ "reply": "input_acl_set_interface_reply"
+ },
+ "output_acl_set_interface": {
+ "reply": "output_acl_set_interface_reply"
+ }
+ },
+ "options": {
+ "version": "3.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x13587952"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/cop.api.json b/internal/testbinapi/binapi2001/.vppapi/core/cop.api.json
new file mode 100644
index 0000000..2ebf76b
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/cop.api.json
@@ -0,0 +1,277 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "cop_interface_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ {
+ "crc": "0x5501adee"
+ }
+ ],
+ [
+ "cop_interface_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "cop_whitelist_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "fib_id"
+ ],
+ [
+ "bool",
+ "ip4"
+ ],
+ [
+ "bool",
+ "ip6"
+ ],
+ [
+ "bool",
+ "default_cop"
+ ],
+ {
+ "crc": "0xdebe13ea"
+ }
+ ],
+ [
+ "cop_whitelist_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": {
+ "cop_interface_enable_disable": {
+ "reply": "cop_interface_enable_disable_reply"
+ },
+ "cop_whitelist_enable_disable": {
+ "reply": "cop_whitelist_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.1"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x59bc1ad8"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ethernet_types.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ethernet_types.api.json
new file mode 100644
index 0000000..f945773
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/ethernet_types.api.json
@@ -0,0 +1,15 @@
+{
+ "types": [],
+ "messages": [],
+ "unions": [],
+ "enums": [],
+ "services": {},
+ "options": {},
+ "aliases": {
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ }
+ },
+ "vl_api_version": "0xd4ff2808"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/feature.api.json b/internal/testbinapi/binapi2001/.vppapi/core/feature.api.json
new file mode 100644
index 0000000..d338012
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/feature.api.json
@@ -0,0 +1,228 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "feature_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ [
+ "string",
+ "arc_name",
+ 64
+ ],
+ [
+ "string",
+ "feature_name",
+ 64
+ ],
+ {
+ "crc": "0x7531c862"
+ }
+ ],
+ [
+ "feature_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": {
+ "feature_enable_disable": {
+ "reply": "feature_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.2"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x3696c431"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/fib_types.api.json b/internal/testbinapi/binapi2001/.vppapi/core/fib_types.api.json
new file mode 100644
index 0000000..5b71845
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/fib_types.api.json
@@ -0,0 +1,482 @@
+{
+ "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
+ ]
+ ]
+ ],
+ "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"
+ }
+ ],
+ [
+ "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"
+ }
+ ]
+ ],
+ "services": {},
+ "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"
+ }
+ },
+ "vl_api_version": "0x57387845"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/geneve.api.json b/internal/testbinapi/binapi2001/.vppapi/core/geneve.api.json
new file mode 100644
index 0000000..773f245
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/geneve.api.json
@@ -0,0 +1,649 @@
+{
+ "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": [
+ [
+ "geneve_add_del_tunnel",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_address_t",
+ "local_address"
+ ],
+ [
+ "vl_api_address_t",
+ "remote_address"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "mcast_sw_if_index"
+ ],
+ [
+ "u32",
+ "encap_vrf_id"
+ ],
+ [
+ "u32",
+ "decap_next_index"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ {
+ "crc": "0x976693b5"
+ }
+ ],
+ [
+ "geneve_add_del_tunnel_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "geneve_tunnel_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "geneve_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",
+ "vni"
+ ],
+ {
+ "crc": "0xe27e2748"
+ }
+ ],
+ [
+ "sw_interface_set_geneve_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_geneve_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": {
+ "geneve_add_del_tunnel": {
+ "reply": "geneve_add_del_tunnel_reply"
+ },
+ "geneve_tunnel_dump": {
+ "reply": "geneve_tunnel_details",
+ "stream": true
+ },
+ "sw_interface_set_geneve_bypass": {
+ "reply": "sw_interface_set_geneve_bypass_reply"
+ }
+ },
+ "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": "0x46ee8ab6"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/gre.api.json b/internal/testbinapi/binapi2001/.vppapi/core/gre.api.json
new file mode 100644
index 0000000..49cd2c1
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/gre.api.json
@@ -0,0 +1,617 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "gre_tunnel",
+ [
+ "vl_api_gre_tunnel_type_t",
+ "type"
+ ],
+ [
+ "vl_api_gre_tunnel_mode_t",
+ "mode"
+ ],
+ [
+ "u16",
+ "session_id"
+ ],
+ [
+ "u32",
+ "instance"
+ ],
+ [
+ "u32",
+ "outer_table_id"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_address_t",
+ "src"
+ ],
+ [
+ "vl_api_address_t",
+ "dst"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "gre_tunnel_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_gre_tunnel_t",
+ "tunnel"
+ ],
+ {
+ "crc": "0xf9c4059d"
+ }
+ ],
+ [
+ "gre_tunnel_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "gre_tunnel_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "gre_tunnel_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gre_tunnel_t",
+ "tunnel"
+ ],
+ {
+ "crc": "0x066f8369"
+ }
+ ]
+ ],
+ "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"
+ }
+ ],
+ [
+ "gre_tunnel_type",
+ [
+ "GRE_API_TUNNEL_TYPE_L3",
+ 0
+ ],
+ [
+ "GRE_API_TUNNEL_TYPE_TEB",
+ 1
+ ],
+ [
+ "GRE_API_TUNNEL_TYPE_ERSPAN",
+ 2
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ],
+ [
+ "gre_tunnel_mode",
+ [
+ "GRE_API_TUNNEL_MODE_P2P",
+ 1
+ ],
+ [
+ "GRE_API_TUNNEL_MODE_MP",
+ 2
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ]
+ ],
+ "services": {
+ "gre_tunnel_add_del": {
+ "reply": "gre_tunnel_add_del_reply"
+ },
+ "gre_tunnel_dump": {
+ "reply": "gre_tunnel_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "2.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"
+ }
+ },
+ "vl_api_version": "0xb7663194"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/gso.api.json b/internal/testbinapi/binapi2001/.vppapi/core/gso.api.json
new file mode 100644
index 0000000..8cf67fe
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/gso.api.json
@@ -0,0 +1,218 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "feature_gso_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ {
+ "crc": "0x5501adee"
+ }
+ ],
+ [
+ "feature_gso_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": {
+ "feature_gso_enable_disable": {
+ "reply": "feature_gso_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xecb22d44"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/interface.api.json b/internal/testbinapi/binapi2001/.vppapi/core/interface.api.json
new file mode 100644
index 0000000..31ed913
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/interface.api.json
@@ -0,0 +1,1902 @@
+{
+ "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": [
+ [
+ "sw_interface_set_flags",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_if_status_flags_t",
+ "flags"
+ ],
+ {
+ "crc": "0x6a2b491a"
+ }
+ ],
+ [
+ "sw_interface_set_flags_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "hw_interface_set_mtu",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u16",
+ "mtu"
+ ],
+ {
+ "crc": "0xe6746899"
+ }
+ ],
+ [
+ "hw_interface_set_mtu_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_set_mtu",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "mtu",
+ 4
+ ],
+ {
+ "crc": "0x5cbe85e5"
+ }
+ ],
+ [
+ "sw_interface_set_mtu_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_set_ip_directed_broadcast",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0xae6cfcfb"
+ }
+ ],
+ [
+ "sw_interface_set_ip_directed_broadcast_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_event",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_if_status_flags_t",
+ "flags"
+ ],
+ [
+ "bool",
+ "deleted"
+ ],
+ {
+ "crc": "0xf709f78d"
+ }
+ ],
+ [
+ "want_interface_events",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "enable_disable"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ {
+ "crc": "0x476f5a08"
+ }
+ ],
+ [
+ "want_interface_events_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "sup_sw_if_index"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "l2_address"
+ ],
+ [
+ "vl_api_if_status_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_if_type_t",
+ "type"
+ ],
+ [
+ "vl_api_link_duplex_t",
+ "link_duplex"
+ ],
+ [
+ "u32",
+ "link_speed"
+ ],
+ [
+ "u16",
+ "link_mtu"
+ ],
+ [
+ "u32",
+ "mtu",
+ 4
+ ],
+ [
+ "u32",
+ "sub_id"
+ ],
+ [
+ "u8",
+ "sub_number_of_tags"
+ ],
+ [
+ "u16",
+ "sub_outer_vlan_id"
+ ],
+ [
+ "u16",
+ "sub_inner_vlan_id"
+ ],
+ [
+ "vl_api_sub_if_flags_t",
+ "sub_if_flags"
+ ],
+ [
+ "u32",
+ "vtr_op"
+ ],
+ [
+ "u32",
+ "vtr_push_dot1q"
+ ],
+ [
+ "u32",
+ "vtr_tag1"
+ ],
+ [
+ "u32",
+ "vtr_tag2"
+ ],
+ [
+ "u16",
+ "outer_tag"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "b_dmac"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "b_smac"
+ ],
+ [
+ "u16",
+ "b_vlanid"
+ ],
+ [
+ "u32",
+ "i_sid"
+ ],
+ [
+ "string",
+ "interface_name",
+ 64
+ ],
+ [
+ "string",
+ "interface_dev_type",
+ 64
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0x17b69fa2"
+ }
+ ],
+ [
+ "sw_interface_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index",
+ {
+ "default": 4294967295
+ }
+ ],
+ [
+ "bool",
+ "name_filter_valid"
+ ],
+ [
+ "string",
+ "name_filter",
+ 0
+ ],
+ {
+ "crc": "0xaa610c27"
+ }
+ ],
+ [
+ "sw_interface_add_del_address",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "bool",
+ "del_all"
+ ],
+ [
+ "vl_api_address_with_prefix_t",
+ "prefix"
+ ],
+ {
+ "crc": "0x5803d5c4"
+ }
+ ],
+ [
+ "sw_interface_add_del_address_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_set_table",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ {
+ "crc": "0xdf42a577"
+ }
+ ],
+ [
+ "sw_interface_set_table_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_get_table",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ {
+ "crc": "0x2d033de4"
+ }
+ ],
+ [
+ "sw_interface_get_table_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ {
+ "crc": "0xa6eb0109"
+ }
+ ],
+ [
+ "sw_interface_set_unnumbered",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "unnumbered_sw_if_index"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0x938ef33b"
+ }
+ ],
+ [
+ "sw_interface_set_unnumbered_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_clear_stats",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "sw_interface_clear_stats_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_tag_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0x426f8bc1"
+ }
+ ],
+ [
+ "sw_interface_tag_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_add_del_mac_address",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "addr"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ {
+ "crc": "0x638bb9f4"
+ }
+ ],
+ [
+ "sw_interface_add_del_mac_address_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_set_mac_address",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ {
+ "crc": "0x6aca746a"
+ }
+ ],
+ [
+ "sw_interface_set_mac_address_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_get_mac_address",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "sw_interface_get_mac_address_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ {
+ "crc": "0x40ef2c08"
+ }
+ ],
+ [
+ "sw_interface_set_rx_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "queue_id_valid"
+ ],
+ [
+ "u32",
+ "queue_id"
+ ],
+ [
+ "vl_api_rx_mode_t",
+ "mode"
+ ],
+ {
+ "crc": "0x780f5cee"
+ }
+ ],
+ [
+ "sw_interface_set_rx_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_set_rx_placement",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "queue_id"
+ ],
+ [
+ "u32",
+ "worker_id"
+ ],
+ [
+ "bool",
+ "is_main"
+ ],
+ {
+ "crc": "0xdb65f3c9"
+ }
+ ],
+ [
+ "sw_interface_set_rx_placement_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_rx_placement_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "sw_interface_rx_placement_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "queue_id"
+ ],
+ [
+ "u32",
+ "worker_id"
+ ],
+ [
+ "vl_api_rx_mode_t",
+ "mode"
+ ],
+ {
+ "crc": "0xf6d7d024"
+ }
+ ],
+ [
+ "interface_name_renumber",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "new_show_dev_instance"
+ ],
+ {
+ "crc": "0x2b8858b8"
+ }
+ ],
+ [
+ "interface_name_renumber_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "create_subif",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "sub_id"
+ ],
+ [
+ "vl_api_sub_if_flags_t",
+ "sub_if_flags"
+ ],
+ [
+ "u16",
+ "outer_vlan_id"
+ ],
+ [
+ "u16",
+ "inner_vlan_id"
+ ],
+ {
+ "crc": "0xcb371063"
+ }
+ ],
+ [
+ "create_subif_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "create_vlan_subif",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "vlan_id"
+ ],
+ {
+ "crc": "0xaf34ac8b"
+ }
+ ],
+ [
+ "create_vlan_subif_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "delete_subif",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "delete_subif_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "create_loopback",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ {
+ "crc": "0x42bb5d22"
+ }
+ ],
+ [
+ "create_loopback_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "create_loopback_instance",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ [
+ "bool",
+ "is_specified"
+ ],
+ [
+ "u32",
+ "user_instance"
+ ],
+ {
+ "crc": "0xd36a3ee2"
+ }
+ ],
+ [
+ "create_loopback_instance_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "delete_loopback",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "delete_loopback_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "collect_detailed_interface_stats",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ {
+ "crc": "0x5501adee"
+ }
+ ],
+ [
+ "collect_detailed_interface_stats_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": {
+ "want_interface_events": {
+ "reply": "want_interface_events_reply",
+ "events": [
+ "sw_interface_event"
+ ]
+ },
+ "sw_interface_set_flags": {
+ "reply": "sw_interface_set_flags_reply"
+ },
+ "hw_interface_set_mtu": {
+ "reply": "hw_interface_set_mtu_reply"
+ },
+ "sw_interface_set_mtu": {
+ "reply": "sw_interface_set_mtu_reply"
+ },
+ "sw_interface_set_ip_directed_broadcast": {
+ "reply": "sw_interface_set_ip_directed_broadcast_reply"
+ },
+ "sw_interface_dump": {
+ "reply": "sw_interface_details",
+ "stream": true
+ },
+ "sw_interface_add_del_address": {
+ "reply": "sw_interface_add_del_address_reply"
+ },
+ "sw_interface_set_table": {
+ "reply": "sw_interface_set_table_reply"
+ },
+ "sw_interface_get_table": {
+ "reply": "sw_interface_get_table_reply"
+ },
+ "sw_interface_set_unnumbered": {
+ "reply": "sw_interface_set_unnumbered_reply"
+ },
+ "sw_interface_clear_stats": {
+ "reply": "sw_interface_clear_stats_reply"
+ },
+ "sw_interface_tag_add_del": {
+ "reply": "sw_interface_tag_add_del_reply"
+ },
+ "sw_interface_add_del_mac_address": {
+ "reply": "sw_interface_add_del_mac_address_reply"
+ },
+ "sw_interface_set_mac_address": {
+ "reply": "sw_interface_set_mac_address_reply"
+ },
+ "sw_interface_get_mac_address": {
+ "reply": "sw_interface_get_mac_address_reply"
+ },
+ "sw_interface_set_rx_mode": {
+ "reply": "sw_interface_set_rx_mode_reply"
+ },
+ "sw_interface_set_rx_placement": {
+ "reply": "sw_interface_set_rx_placement_reply"
+ },
+ "sw_interface_rx_placement_dump": {
+ "reply": "sw_interface_rx_placement_details",
+ "stream": true
+ },
+ "interface_name_renumber": {
+ "reply": "interface_name_renumber_reply"
+ },
+ "create_subif": {
+ "reply": "create_subif_reply"
+ },
+ "create_vlan_subif": {
+ "reply": "create_vlan_subif_reply"
+ },
+ "delete_subif": {
+ "reply": "delete_subif_reply"
+ },
+ "create_loopback": {
+ "reply": "create_loopback_reply"
+ },
+ "create_loopback_instance": {
+ "reply": "create_loopback_instance_reply"
+ },
+ "delete_loopback": {
+ "reply": "delete_loopback_reply"
+ },
+ "collect_detailed_interface_stats": {
+ "reply": "collect_detailed_interface_stats_reply"
+ }
+ },
+ "options": {
+ "version": "3.2.2"
+ },
+ "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": "0xfebc3ffa"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/interface_types.api.json b/internal/testbinapi/binapi2001/.vppapi/core/interface_types.api.json
new file mode 100644
index 0000000..0facb3a
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/interface_types.api.json
@@ -0,0 +1,167 @@
+{
+ "types": [],
+ "messages": [],
+ "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": {},
+ "options": {},
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xc97be83d"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ip.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ip.api.json
new file mode 100644
index 0000000..66f0284
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/ip.api.json
@@ -0,0 +1,3219 @@
+{
+ "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
+ ]
+ ],
+ [
+ "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
+ ]
+ ],
+ [
+ "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"
+ ]
+ ],
+ [
+ "mfib_path",
+ [
+ "vl_api_mfib_itf_flags_t",
+ "itf_flags"
+ ],
+ [
+ "vl_api_fib_path_t",
+ "path"
+ ]
+ ],
+ [
+ "ip_table",
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "bool",
+ "is_ip6"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ]
+ ],
+ [
+ "ip_route",
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u32",
+ "stats_index"
+ ],
+ [
+ "vl_api_prefix_t",
+ "prefix"
+ ],
+ [
+ "u8",
+ "n_paths"
+ ],
+ [
+ "vl_api_fib_path_t",
+ "paths",
+ 0,
+ "n_paths"
+ ]
+ ],
+ [
+ "ip_mroute",
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u32",
+ "entry_flags"
+ ],
+ [
+ "u32",
+ "rpf_id"
+ ],
+ [
+ "vl_api_mprefix_t",
+ "prefix"
+ ],
+ [
+ "u8",
+ "n_paths"
+ ],
+ [
+ "vl_api_mfib_path_t",
+ "paths",
+ 0,
+ "n_paths"
+ ]
+ ],
+ [
+ "punt_redirect",
+ [
+ "vl_api_interface_index_t",
+ "rx_sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "tx_sw_if_index"
+ ],
+ [
+ "vl_api_address_t",
+ "nh"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "ip_table_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "vl_api_ip_table_t",
+ "table"
+ ],
+ {
+ "crc": "0x0ffdaec0"
+ }
+ ],
+ [
+ "ip_table_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_table_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ip_table_replace_begin",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip_table_t",
+ "table"
+ ],
+ {
+ "crc": "0xb9d2e09e"
+ }
+ ],
+ [
+ "ip_table_replace_begin_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_table_replace_end",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip_table_t",
+ "table"
+ ],
+ {
+ "crc": "0xb9d2e09e"
+ }
+ ],
+ [
+ "ip_table_replace_end_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_table_flush",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip_table_t",
+ "table"
+ ],
+ {
+ "crc": "0xb9d2e09e"
+ }
+ ],
+ [
+ "ip_table_flush_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_table_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip_table_t",
+ "table"
+ ],
+ {
+ "crc": "0xc79fca0f"
+ }
+ ],
+ [
+ "ip_route_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "bool",
+ "is_multipath"
+ ],
+ [
+ "vl_api_ip_route_t",
+ "route"
+ ],
+ {
+ "crc": "0xc1ff832d"
+ }
+ ],
+ [
+ "ip_route_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "stats_index"
+ ],
+ {
+ "crc": "0x1992deab"
+ }
+ ],
+ [
+ "ip_route_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip_table_t",
+ "table"
+ ],
+ {
+ "crc": "0xb9d2e09e"
+ }
+ ],
+ [
+ "ip_route_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip_route_t",
+ "route"
+ ],
+ {
+ "crc": "0xd1ffaae1"
+ }
+ ],
+ [
+ "set_ip_flow_hash",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ [
+ "bool",
+ "src"
+ ],
+ [
+ "bool",
+ "dst"
+ ],
+ [
+ "bool",
+ "sport"
+ ],
+ [
+ "bool",
+ "dport"
+ ],
+ [
+ "bool",
+ "proto"
+ ],
+ [
+ "bool",
+ "reverse"
+ ],
+ [
+ "bool",
+ "symmetric"
+ ],
+ {
+ "crc": "0x084ee09e"
+ }
+ ],
+ [
+ "set_ip_flow_hash_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_ip6_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ {
+ "crc": "0xae6cfcfb"
+ }
+ ],
+ [
+ "sw_interface_ip6_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_mtable_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ip_mtable_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip_table_t",
+ "table"
+ ],
+ {
+ "crc": "0xb9d2e09e"
+ }
+ ],
+ [
+ "ip_mroute_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "bool",
+ "is_multipath"
+ ],
+ [
+ "vl_api_ip_mroute_t",
+ "route"
+ ],
+ {
+ "crc": "0xf6627d17"
+ }
+ ],
+ [
+ "ip_mroute_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "stats_index"
+ ],
+ {
+ "crc": "0x1992deab"
+ }
+ ],
+ [
+ "ip_mroute_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip_table_t",
+ "table"
+ ],
+ {
+ "crc": "0xb9d2e09e"
+ }
+ ],
+ [
+ "ip_mroute_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip_mroute_t",
+ "route"
+ ],
+ {
+ "crc": "0xc1cb4b44"
+ }
+ ],
+ [
+ "ip_address_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_address_with_prefix_t",
+ "prefix"
+ ],
+ {
+ "crc": "0xb1199745"
+ }
+ ],
+ [
+ "ip_address_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ {
+ "crc": "0x2d033de4"
+ }
+ ],
+ [
+ "ip_unnumbered_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "ip_sw_if_index"
+ ],
+ {
+ "crc": "0xaa12a483"
+ }
+ ],
+ [
+ "ip_unnumbered_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "ip_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ {
+ "crc": "0xeb152d07"
+ }
+ ],
+ [
+ "ip_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ {
+ "crc": "0x98d231ca"
+ }
+ ],
+ [
+ "mfib_signal_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "mfib_signal_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "vl_api_mprefix_t",
+ "prefix"
+ ],
+ [
+ "u16",
+ "ip_packet_len"
+ ],
+ [
+ "u8",
+ "ip_packet_data",
+ 256
+ ],
+ {
+ "crc": "0x64398a9a"
+ }
+ ],
+ [
+ "ip_punt_police",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "policer_index"
+ ],
+ [
+ "bool",
+ "is_add",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "bool",
+ "is_ip6"
+ ],
+ {
+ "crc": "0xdb867cea"
+ }
+ ],
+ [
+ "ip_punt_police_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_punt_redirect",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_punt_redirect_t",
+ "punt"
+ ],
+ [
+ "bool",
+ "is_add",
+ {
+ "default": "true"
+ }
+ ],
+ {
+ "crc": "0xa9a5592c"
+ }
+ ],
+ [
+ "ip_punt_redirect_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_punt_redirect_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ {
+ "crc": "0x2d033de4"
+ }
+ ],
+ [
+ "ip_punt_redirect_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_punt_redirect_t",
+ "punt"
+ ],
+ {
+ "crc": "0x3924f5d3"
+ }
+ ],
+ [
+ "ip_container_proxy_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_prefix_t",
+ "pfx"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_add",
+ {
+ "default": "true"
+ }
+ ],
+ {
+ "crc": "0x91189f40"
+ }
+ ],
+ [
+ "ip_container_proxy_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_container_proxy_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ip_container_proxy_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_prefix_t",
+ "prefix"
+ ],
+ {
+ "crc": "0x0ee460e8"
+ }
+ ],
+ [
+ "ip_source_and_port_range_check_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "vl_api_prefix_t",
+ "prefix"
+ ],
+ [
+ "u8",
+ "number_of_ranges"
+ ],
+ [
+ "u16",
+ "low_ports",
+ 32
+ ],
+ [
+ "u16",
+ "high_ports",
+ 32
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ {
+ "crc": "0x8bfc76f2"
+ }
+ ],
+ [
+ "ip_source_and_port_range_check_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_source_and_port_range_check_interface_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "tcp_in_vrf_id"
+ ],
+ [
+ "u32",
+ "tcp_out_vrf_id"
+ ],
+ [
+ "u32",
+ "udp_in_vrf_id"
+ ],
+ [
+ "u32",
+ "udp_out_vrf_id"
+ ],
+ {
+ "crc": "0xe1ba8987"
+ }
+ ],
+ [
+ "ip_source_and_port_range_check_interface_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_source_check_interface_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "bool",
+ "loose"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x6612356b"
+ }
+ ],
+ [
+ "ip_source_check_interface_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_ip6_set_link_local_address",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip"
+ ],
+ {
+ "crc": "0x2931d9fa"
+ }
+ ],
+ [
+ "sw_interface_ip6_set_link_local_address_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ioam_enable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "id"
+ ],
+ [
+ "bool",
+ "seqno"
+ ],
+ [
+ "bool",
+ "analyse"
+ ],
+ [
+ "bool",
+ "pot_enable"
+ ],
+ [
+ "bool",
+ "trace_enable"
+ ],
+ [
+ "u32",
+ "node_id"
+ ],
+ {
+ "crc": "0x51ccd868"
+ }
+ ],
+ [
+ "ioam_enable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ioam_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "id"
+ ],
+ {
+ "crc": "0x6b16a45e"
+ }
+ ],
+ [
+ "ioam_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_reassembly_set",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "timeout_ms"
+ ],
+ [
+ "u32",
+ "max_reassemblies"
+ ],
+ [
+ "u32",
+ "max_reassembly_length"
+ ],
+ [
+ "u32",
+ "expire_walk_interval_ms"
+ ],
+ [
+ "bool",
+ "is_ip6"
+ ],
+ [
+ "vl_api_ip_reass_type_t",
+ "type"
+ ],
+ {
+ "crc": "0x16467d25"
+ }
+ ],
+ [
+ "ip_reassembly_set_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_reassembly_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_ip6"
+ ],
+ [
+ "vl_api_ip_reass_type_t",
+ "type"
+ ],
+ {
+ "crc": "0xea13ff63"
+ }
+ ],
+ [
+ "ip_reassembly_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "timeout_ms"
+ ],
+ [
+ "u32",
+ "max_reassemblies"
+ ],
+ [
+ "u32",
+ "max_reassembly_length"
+ ],
+ [
+ "u32",
+ "expire_walk_interval_ms"
+ ],
+ [
+ "bool",
+ "is_ip6"
+ ],
+ {
+ "crc": "0xd5eb8d34"
+ }
+ ],
+ [
+ "ip_reassembly_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable_ip4"
+ ],
+ [
+ "bool",
+ "enable_ip6"
+ ],
+ [
+ "vl_api_ip_reass_type_t",
+ "type"
+ ],
+ {
+ "crc": "0x885c85a6"
+ }
+ ],
+ [
+ "ip_reassembly_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"
+ ]
+ ],
+ [
+ "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": [
+ [
+ "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"
+ }
+ ],
+ [
+ "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"
+ }
+ ],
+ [
+ "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"
+ }
+ ],
+ [
+ "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"
+ }
+ ],
+ [
+ "mfib_itf_flags",
+ [
+ "MFIB_API_ITF_FLAG_NONE",
+ 0
+ ],
+ [
+ "MFIB_API_ITF_FLAG_NEGATE_SIGNAL",
+ 1
+ ],
+ [
+ "MFIB_API_ITF_FLAG_ACCEPT",
+ 2
+ ],
+ [
+ "MFIB_API_ITF_FLAG_FORWARD",
+ 4
+ ],
+ [
+ "MFIB_API_ITF_FLAG_SIGNAL_PRESENT",
+ 8
+ ],
+ [
+ "MFIB_API_ITF_FLAG_DONT_PRESERVE",
+ 16
+ ],
+ {
+ "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"
+ }
+ ],
+ [
+ "ip_reass_type",
+ [
+ "IP_REASS_TYPE_FULL",
+ 0
+ ],
+ [
+ "IP_REASS_TYPE_SHALLOW_VIRTUAL",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "ip_table_add_del": {
+ "reply": "ip_table_add_del_reply"
+ },
+ "ip_table_dump": {
+ "reply": "ip_table_details",
+ "stream": true
+ },
+ "ip_table_replace_begin": {
+ "reply": "ip_table_replace_begin_reply"
+ },
+ "ip_table_replace_end": {
+ "reply": "ip_table_replace_end_reply"
+ },
+ "ip_table_flush": {
+ "reply": "ip_table_flush_reply"
+ },
+ "ip_route_add_del": {
+ "reply": "ip_route_add_del_reply"
+ },
+ "ip_route_dump": {
+ "reply": "ip_route_details",
+ "stream": true
+ },
+ "set_ip_flow_hash": {
+ "reply": "set_ip_flow_hash_reply"
+ },
+ "sw_interface_ip6_enable_disable": {
+ "reply": "sw_interface_ip6_enable_disable_reply"
+ },
+ "ip_mtable_dump": {
+ "reply": "ip_mtable_details",
+ "stream": true
+ },
+ "ip_mroute_add_del": {
+ "reply": "ip_mroute_add_del_reply"
+ },
+ "ip_mroute_dump": {
+ "reply": "ip_mroute_details",
+ "stream": true
+ },
+ "ip_address_dump": {
+ "reply": "ip_address_details",
+ "stream": true
+ },
+ "ip_unnumbered_dump": {
+ "reply": "ip_unnumbered_details",
+ "stream": true
+ },
+ "ip_dump": {
+ "reply": "ip_details",
+ "stream": true
+ },
+ "mfib_signal_dump": {
+ "reply": "mfib_signal_details",
+ "stream": true
+ },
+ "ip_punt_police": {
+ "reply": "ip_punt_police_reply"
+ },
+ "ip_punt_redirect": {
+ "reply": "ip_punt_redirect_reply"
+ },
+ "ip_punt_redirect_dump": {
+ "reply": "ip_punt_redirect_details",
+ "stream": true
+ },
+ "ip_container_proxy_add_del": {
+ "reply": "ip_container_proxy_add_del_reply"
+ },
+ "ip_container_proxy_dump": {
+ "reply": "ip_container_proxy_details",
+ "stream": true
+ },
+ "ip_source_and_port_range_check_add_del": {
+ "reply": "ip_source_and_port_range_check_add_del_reply"
+ },
+ "ip_source_and_port_range_check_interface_add_del": {
+ "reply": "ip_source_and_port_range_check_interface_add_del_reply"
+ },
+ "ip_source_check_interface_add_del": {
+ "reply": "ip_source_check_interface_add_del_reply"
+ },
+ "sw_interface_ip6_set_link_local_address": {
+ "reply": "sw_interface_ip6_set_link_local_address_reply"
+ },
+ "ioam_enable": {
+ "reply": "ioam_enable_reply"
+ },
+ "ioam_disable": {
+ "reply": "ioam_disable_reply"
+ },
+ "ip_reassembly_set": {
+ "reply": "ip_reassembly_set_reply"
+ },
+ "ip_reassembly_get": {
+ "reply": "ip_reassembly_get_reply"
+ },
+ "ip_reassembly_enable_disable": {
+ "reply": "ip_reassembly_enable_disable_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": "0xfc3fea46"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ip6_nd.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ip6_nd.api.json
new file mode 100644
index 0000000..a6f3070
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/ip6_nd.api.json
@@ -0,0 +1,912 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "ip6_ra_prefix_info",
+ [
+ "vl_api_prefix_t",
+ "prefix"
+ ],
+ [
+ "u8",
+ "flags"
+ ],
+ [
+ "u32",
+ "valid_time"
+ ],
+ [
+ "u32",
+ "preferred_time"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "sw_interface_ip6nd_ra_config",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "suppress"
+ ],
+ [
+ "u8",
+ "managed"
+ ],
+ [
+ "u8",
+ "other"
+ ],
+ [
+ "u8",
+ "ll_option"
+ ],
+ [
+ "u8",
+ "send_unicast"
+ ],
+ [
+ "u8",
+ "cease"
+ ],
+ [
+ "bool",
+ "is_no"
+ ],
+ [
+ "u8",
+ "default_router"
+ ],
+ [
+ "u32",
+ "max_interval"
+ ],
+ [
+ "u32",
+ "min_interval"
+ ],
+ [
+ "u32",
+ "lifetime"
+ ],
+ [
+ "u32",
+ "initial_count"
+ ],
+ [
+ "u32",
+ "initial_interval"
+ ],
+ {
+ "crc": "0x3eb00b1c"
+ }
+ ],
+ [
+ "sw_interface_ip6nd_ra_config_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_ip6nd_ra_prefix",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_prefix_t",
+ "prefix"
+ ],
+ [
+ "bool",
+ "use_default"
+ ],
+ [
+ "bool",
+ "no_advertise"
+ ],
+ [
+ "bool",
+ "off_link"
+ ],
+ [
+ "bool",
+ "no_autoconfig"
+ ],
+ [
+ "bool",
+ "no_onlink"
+ ],
+ [
+ "bool",
+ "is_no"
+ ],
+ [
+ "u32",
+ "val_lifetime"
+ ],
+ [
+ "u32",
+ "pref_lifetime"
+ ],
+ {
+ "crc": "0xe098785f"
+ }
+ ],
+ [
+ "sw_interface_ip6nd_ra_prefix_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip6nd_proxy_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip"
+ ],
+ {
+ "crc": "0x3fdf6659"
+ }
+ ],
+ [
+ "ip6nd_proxy_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip6nd_proxy_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip"
+ ],
+ {
+ "crc": "0xd35be8ff"
+ }
+ ],
+ [
+ "ip6nd_proxy_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ip6nd_send_router_solicitation",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "irt"
+ ],
+ [
+ "u32",
+ "mrt"
+ ],
+ [
+ "u32",
+ "mrc"
+ ],
+ [
+ "u32",
+ "mrd"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "stop"
+ ],
+ {
+ "crc": "0xe5de609c"
+ }
+ ],
+ [
+ "ip6nd_send_router_solicitation_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "want_ip6_ra_events",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ {
+ "crc": "0x3ec6d6c2"
+ }
+ ],
+ [
+ "want_ip6_ra_events_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip6_ra_event",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "router_addr"
+ ],
+ [
+ "u8",
+ "current_hop_limit"
+ ],
+ [
+ "u8",
+ "flags"
+ ],
+ [
+ "u16",
+ "router_lifetime_in_sec"
+ ],
+ [
+ "u32",
+ "neighbor_reachable_time_in_msec"
+ ],
+ [
+ "u32",
+ "time_in_msec_between_retransmitted_neighbor_solicitations"
+ ],
+ [
+ "u32",
+ "n_prefixes"
+ ],
+ [
+ "vl_api_ip6_ra_prefix_info_t",
+ "prefixes",
+ 0,
+ "n_prefixes"
+ ],
+ {
+ "crc": "0x47e8cfbe"
+ }
+ ]
+ ],
+ "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": {
+ "want_ip6_ra_events": {
+ "reply": "want_ip6_ra_events_reply",
+ "events": [
+ "ip6_ra_event"
+ ]
+ },
+ "sw_interface_ip6nd_ra_config": {
+ "reply": "sw_interface_ip6nd_ra_config_reply"
+ },
+ "sw_interface_ip6nd_ra_prefix": {
+ "reply": "sw_interface_ip6nd_ra_prefix_reply"
+ },
+ "ip6nd_proxy_add_del": {
+ "reply": "ip6nd_proxy_add_del_reply"
+ },
+ "ip6nd_proxy_dump": {
+ "reply": "ip6nd_proxy_details",
+ "stream": true
+ },
+ "ip6nd_send_router_solicitation": {
+ "reply": "ip6nd_send_router_solicitation_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": "0xbb8ff0e9"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ip_neighbor.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ip_neighbor.api.json
new file mode 100644
index 0000000..b4a2dcd
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/ip_neighbor.api.json
@@ -0,0 +1,736 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "ip_neighbor",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_ip_neighbor_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ [
+ "vl_api_address_t",
+ "ip_address"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "ip_neighbor_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_ip_neighbor_t",
+ "neighbor"
+ ],
+ {
+ "crc": "0x105518b6"
+ }
+ ],
+ [
+ "ip_neighbor_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "stats_index"
+ ],
+ {
+ "crc": "0x1992deab"
+ }
+ ],
+ [
+ "ip_neighbor_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index",
+ {
+ "default": 4294967295
+ }
+ ],
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ {
+ "crc": "0xcd831298"
+ }
+ ],
+ [
+ "ip_neighbor_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip_neighbor_t",
+ "neighbor"
+ ],
+ {
+ "crc": "0x59121ce9"
+ }
+ ],
+ [
+ "ip_neighbor_config",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "u32",
+ "max_number"
+ ],
+ [
+ "u32",
+ "max_age"
+ ],
+ [
+ "bool",
+ "recycle"
+ ],
+ {
+ "crc": "0xf4a5cf44"
+ }
+ ],
+ [
+ "ip_neighbor_config_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "want_ip_neighbor_events",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "vl_api_address_t",
+ "ip"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index",
+ {
+ "default": 4294967295
+ }
+ ],
+ {
+ "crc": "0x1a312870"
+ }
+ ],
+ [
+ "want_ip_neighbor_events_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ip_neighbor_event",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "vl_api_ip_neighbor_t",
+ "neighbor"
+ ],
+ {
+ "crc": "0x83933131"
+ }
+ ]
+ ],
+ "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"
+ }
+ ],
+ [
+ "ip_neighbor_flags",
+ [
+ "IP_API_NEIGHBOR_FLAG_NONE",
+ 0
+ ],
+ [
+ "IP_API_NEIGHBOR_FLAG_STATIC",
+ 1
+ ],
+ [
+ "IP_API_NEIGHBOR_FLAG_NO_FIB_ENTRY",
+ 2
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ]
+ ],
+ "services": {
+ "want_ip_neighbor_events": {
+ "reply": "want_ip_neighbor_events_reply",
+ "events": [
+ "ip_neighbor_event"
+ ]
+ },
+ "ip_neighbor_add_del": {
+ "reply": "ip_neighbor_add_del_reply"
+ },
+ "ip_neighbor_dump": {
+ "reply": "ip_neighbor_details",
+ "stream": true
+ },
+ "ip_neighbor_config": {
+ "reply": "ip_neighbor_config_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"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0xdae37c55"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ip_types.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ip_types.api.json
new file mode 100644
index 0000000..b15946c
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/ip_types.api.json
@@ -0,0 +1,298 @@
+{
+ "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": [],
+ "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": {},
+ "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": "0x80424562"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ipfix_export.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ipfix_export.api.json
new file mode 100644
index 0000000..e7620d3
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/ipfix_export.api.json
@@ -0,0 +1,664 @@
+{
+ "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": [
+ [
+ "set_ipfix_exporter",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_t",
+ "collector_address"
+ ],
+ [
+ "u16",
+ "collector_port"
+ ],
+ [
+ "vl_api_address_t",
+ "src_address"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "u32",
+ "path_mtu"
+ ],
+ [
+ "u32",
+ "template_interval"
+ ],
+ [
+ "bool",
+ "udp_checksum"
+ ],
+ {
+ "crc": "0x69284e07"
+ }
+ ],
+ [
+ "set_ipfix_exporter_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ipfix_exporter_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ipfix_exporter_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_t",
+ "collector_address"
+ ],
+ [
+ "u16",
+ "collector_port"
+ ],
+ [
+ "vl_api_address_t",
+ "src_address"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "u32",
+ "path_mtu"
+ ],
+ [
+ "u32",
+ "template_interval"
+ ],
+ [
+ "bool",
+ "udp_checksum"
+ ],
+ {
+ "crc": "0x11e07413"
+ }
+ ],
+ [
+ "set_ipfix_classify_stream",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "domain_id"
+ ],
+ [
+ "u16",
+ "src_port"
+ ],
+ {
+ "crc": "0xc9cbe053"
+ }
+ ],
+ [
+ "set_ipfix_classify_stream_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ipfix_classify_stream_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ipfix_classify_stream_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "domain_id"
+ ],
+ [
+ "u16",
+ "src_port"
+ ],
+ {
+ "crc": "0x2903539d"
+ }
+ ],
+ [
+ "ipfix_classify_table_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "vl_api_address_family_t",
+ "ip_version"
+ ],
+ [
+ "vl_api_ip_proto_t",
+ "transport_protocol"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ {
+ "crc": "0x5118bc5e"
+ }
+ ],
+ [
+ "ipfix_classify_table_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ipfix_classify_table_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ipfix_classify_table_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "vl_api_address_family_t",
+ "ip_version"
+ ],
+ [
+ "vl_api_ip_proto_t",
+ "transport_protocol"
+ ],
+ {
+ "crc": "0x7c8351ec"
+ }
+ ],
+ [
+ "ipfix_flush",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ipfix_flush_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": {
+ "set_ipfix_exporter": {
+ "reply": "set_ipfix_exporter_reply"
+ },
+ "ipfix_exporter_dump": {
+ "reply": "ipfix_exporter_details",
+ "stream": true
+ },
+ "set_ipfix_classify_stream": {
+ "reply": "set_ipfix_classify_stream_reply"
+ },
+ "ipfix_classify_stream_dump": {
+ "reply": "ipfix_classify_stream_details",
+ "stream": true
+ },
+ "ipfix_classify_table_add_del": {
+ "reply": "ipfix_classify_table_add_del_reply"
+ },
+ "ipfix_classify_table_dump": {
+ "reply": "ipfix_classify_table_details",
+ "stream": true
+ },
+ "ipfix_flush": {
+ "reply": "ipfix_flush_reply"
+ }
+ },
+ "options": {
+ "version": "2.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"
+ }
+ },
+ "vl_api_version": "0xee6ea488"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ipip.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ipip.api.json
new file mode 100644
index 0000000..47b62eb
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/ipip.api.json
@@ -0,0 +1,764 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "ipip_tunnel",
+ [
+ "u32",
+ "instance"
+ ],
+ [
+ "vl_api_address_t",
+ "src"
+ ],
+ [
+ "vl_api_address_t",
+ "dst"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "vl_api_ipip_tunnel_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_ip_dscp_t",
+ "dscp"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "ipip_add_tunnel",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ipip_tunnel_t",
+ "tunnel"
+ ],
+ {
+ "crc": "0xef93caab"
+ }
+ ],
+ [
+ "ipip_add_tunnel_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "ipip_del_tunnel",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "ipip_del_tunnel_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ipip_6rd_add_tunnel",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "ip6_table_id"
+ ],
+ [
+ "u32",
+ "ip4_table_id"
+ ],
+ [
+ "vl_api_ip6_prefix_t",
+ "ip6_prefix"
+ ],
+ [
+ "vl_api_ip4_prefix_t",
+ "ip4_prefix"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "ip4_src"
+ ],
+ [
+ "bool",
+ "security_check"
+ ],
+ [
+ "u8",
+ "tc_tos"
+ ],
+ {
+ "crc": "0x56e93cc0"
+ }
+ ],
+ [
+ "ipip_6rd_add_tunnel_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "ipip_6rd_del_tunnel",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "ipip_6rd_del_tunnel_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ipip_tunnel_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "ipip_tunnel_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ipip_tunnel_t",
+ "tunnel"
+ ],
+ {
+ "crc": "0x7f7b5b85"
+ }
+ ]
+ ],
+ "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"
+ }
+ ],
+ [
+ "ipip_tunnel_flags",
+ [
+ "IPIP_TUNNEL_API_FLAG_NONE",
+ 0
+ ],
+ [
+ "IPIP_TUNNEL_API_FLAG_ENCAP_COPY_DF",
+ 1
+ ],
+ [
+ "IPIP_TUNNEL_API_FLAG_ENCAP_SET_DF",
+ 2
+ ],
+ [
+ "IPIP_TUNNEL_API_FLAG_ENCAP_COPY_DSCP",
+ 4
+ ],
+ [
+ "IPIP_TUNNEL_API_FLAG_ENCAP_COPY_ECN",
+ 8
+ ],
+ [
+ "IPIP_TUNNEL_API_FLAG_DECAP_COPY_ECN",
+ 16
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ]
+ ],
+ "services": {
+ "ipip_add_tunnel": {
+ "reply": "ipip_add_tunnel_reply"
+ },
+ "ipip_del_tunnel": {
+ "reply": "ipip_del_tunnel_reply"
+ },
+ "ipip_6rd_add_tunnel": {
+ "reply": "ipip_6rd_add_tunnel_reply"
+ },
+ "ipip_6rd_del_tunnel": {
+ "reply": "ipip_6rd_del_tunnel_reply"
+ },
+ "ipip_tunnel_dump": {
+ "reply": "ipip_tunnel_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": "0xf108649c"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ipip_types.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ipip_types.api.json
new file mode 100644
index 0000000..ccded2e
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/ipip_types.api.json
@@ -0,0 +1,41 @@
+{
+ "types": [],
+ "messages": [],
+ "unions": [],
+ "enums": [
+ [
+ "ipip_tunnel_flags",
+ [
+ "IPIP_TUNNEL_API_FLAG_NONE",
+ 0
+ ],
+ [
+ "IPIP_TUNNEL_API_FLAG_ENCAP_COPY_DF",
+ 1
+ ],
+ [
+ "IPIP_TUNNEL_API_FLAG_ENCAP_SET_DF",
+ 2
+ ],
+ [
+ "IPIP_TUNNEL_API_FLAG_ENCAP_COPY_DSCP",
+ 4
+ ],
+ [
+ "IPIP_TUNNEL_API_FLAG_ENCAP_COPY_ECN",
+ 8
+ ],
+ [
+ "IPIP_TUNNEL_API_FLAG_DECAP_COPY_ECN",
+ 16
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ]
+ ],
+ "services": {},
+ "options": {},
+ "aliases": {},
+ "vl_api_version": "0xa2a8fa8d"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ipsec.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ipsec.api.json
new file mode 100644
index 0000000..49c933e
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/ipsec.api.json
@@ -0,0 +1,1580 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "key",
+ [
+ "u8",
+ "length"
+ ],
+ [
+ "u8",
+ "data",
+ 128
+ ]
+ ],
+ [
+ "ipsec_sad_entry",
+ [
+ "u32",
+ "sad_id"
+ ],
+ [
+ "u32",
+ "spi"
+ ],
+ [
+ "vl_api_ipsec_proto_t",
+ "protocol"
+ ],
+ [
+ "vl_api_ipsec_crypto_alg_t",
+ "crypto_algorithm"
+ ],
+ [
+ "vl_api_key_t",
+ "crypto_key"
+ ],
+ [
+ "vl_api_ipsec_integ_alg_t",
+ "integrity_algorithm"
+ ],
+ [
+ "vl_api_key_t",
+ "integrity_key"
+ ],
+ [
+ "vl_api_ipsec_sad_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_address_t",
+ "tunnel_src"
+ ],
+ [
+ "vl_api_address_t",
+ "tunnel_dst"
+ ],
+ [
+ "u32",
+ "tx_table_id"
+ ],
+ [
+ "u32",
+ "salt"
+ ]
+ ],
+ [
+ "ipsec_spd_entry",
+ [
+ "u32",
+ "spd_id"
+ ],
+ [
+ "i32",
+ "priority"
+ ],
+ [
+ "u8",
+ "is_outbound"
+ ],
+ [
+ "u32",
+ "sa_id"
+ ],
+ [
+ "vl_api_ipsec_spd_action_t",
+ "policy"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "vl_api_address_t",
+ "remote_address_start"
+ ],
+ [
+ "vl_api_address_t",
+ "remote_address_stop"
+ ],
+ [
+ "vl_api_address_t",
+ "local_address_start"
+ ],
+ [
+ "vl_api_address_t",
+ "local_address_stop"
+ ],
+ [
+ "u16",
+ "remote_port_start"
+ ],
+ [
+ "u16",
+ "remote_port_stop"
+ ],
+ [
+ "u16",
+ "local_port_start"
+ ],
+ [
+ "u16",
+ "local_port_stop"
+ ]
+ ],
+ [
+ "ipsec_tunnel_protect",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "sa_out"
+ ],
+ [
+ "u8",
+ "n_sa_in"
+ ],
+ [
+ "u32",
+ "sa_in",
+ 0,
+ "n_sa_in"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "ipsec_spd_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u32",
+ "spd_id"
+ ],
+ {
+ "crc": "0x9ffdf5da"
+ }
+ ],
+ [
+ "ipsec_spd_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ipsec_interface_add_del_spd",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "spd_id"
+ ],
+ {
+ "crc": "0x1e3b8286"
+ }
+ ],
+ [
+ "ipsec_interface_add_del_spd_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ipsec_spd_entry_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "vl_api_ipsec_spd_entry_t",
+ "entry"
+ ],
+ {
+ "crc": "0xdb217840"
+ }
+ ],
+ [
+ "ipsec_spd_entry_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "stat_index"
+ ],
+ {
+ "crc": "0x9ffac24b"
+ }
+ ],
+ [
+ "ipsec_spds_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ipsec_spds_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "spd_id"
+ ],
+ [
+ "u32",
+ "npolicies"
+ ],
+ {
+ "crc": "0xa04bb254"
+ }
+ ],
+ [
+ "ipsec_spd_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "spd_id"
+ ],
+ [
+ "u32",
+ "sa_id"
+ ],
+ {
+ "crc": "0xafefbf7d"
+ }
+ ],
+ [
+ "ipsec_spd_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ipsec_spd_entry_t",
+ "entry"
+ ],
+ {
+ "crc": "0x021e2c20"
+ }
+ ],
+ [
+ "ipsec_sad_entry_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "vl_api_ipsec_sad_entry_t",
+ "entry"
+ ],
+ {
+ "crc": "0xa25ab61e"
+ }
+ ],
+ [
+ "ipsec_sad_entry_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "stat_index"
+ ],
+ {
+ "crc": "0x9ffac24b"
+ }
+ ],
+ [
+ "ipsec_tunnel_protect_update",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ipsec_tunnel_protect_t",
+ "tunnel"
+ ],
+ {
+ "crc": "0xeccbc177"
+ }
+ ],
+ [
+ "ipsec_tunnel_protect_update_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ipsec_tunnel_protect_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "ipsec_tunnel_protect_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ipsec_tunnel_protect_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "ipsec_tunnel_protect_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ipsec_tunnel_protect_t",
+ "tun"
+ ],
+ {
+ "crc": "0x7520eefe"
+ }
+ ],
+ [
+ "ipsec_spd_interface_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "spd_index"
+ ],
+ [
+ "u8",
+ "spd_index_valid"
+ ],
+ {
+ "crc": "0x8971de19"
+ }
+ ],
+ [
+ "ipsec_spd_interface_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "spd_index"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x2c54296d"
+ }
+ ],
+ [
+ "ipsec_tunnel_if_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "esn"
+ ],
+ [
+ "u8",
+ "anti_replay"
+ ],
+ [
+ "vl_api_address_t",
+ "local_ip"
+ ],
+ [
+ "vl_api_address_t",
+ "remote_ip"
+ ],
+ [
+ "u32",
+ "local_spi"
+ ],
+ [
+ "u32",
+ "remote_spi"
+ ],
+ [
+ "u8",
+ "crypto_alg"
+ ],
+ [
+ "u8",
+ "local_crypto_key_len"
+ ],
+ [
+ "u8",
+ "local_crypto_key",
+ 128
+ ],
+ [
+ "u8",
+ "remote_crypto_key_len"
+ ],
+ [
+ "u8",
+ "remote_crypto_key",
+ 128
+ ],
+ [
+ "u8",
+ "integ_alg"
+ ],
+ [
+ "u8",
+ "local_integ_key_len"
+ ],
+ [
+ "u8",
+ "local_integ_key",
+ 128
+ ],
+ [
+ "u8",
+ "remote_integ_key_len"
+ ],
+ [
+ "u8",
+ "remote_integ_key",
+ 128
+ ],
+ [
+ "u8",
+ "renumber"
+ ],
+ [
+ "u32",
+ "show_instance"
+ ],
+ [
+ "u8",
+ "udp_encap"
+ ],
+ [
+ "u32",
+ "tx_table_id"
+ ],
+ [
+ "u32",
+ "salt"
+ ],
+ {
+ "crc": "0xd5a98274"
+ }
+ ],
+ [
+ "ipsec_tunnel_if_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xfda5941f"
+ }
+ ],
+ [
+ "ipsec_sa_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sa_id"
+ ],
+ {
+ "crc": "0x2076c2f4"
+ }
+ ],
+ [
+ "ipsec_sa_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ipsec_sad_entry_t",
+ "entry"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "salt"
+ ],
+ [
+ "u64",
+ "seq_outbound"
+ ],
+ [
+ "u64",
+ "last_seq_inbound"
+ ],
+ [
+ "u64",
+ "replay_window"
+ ],
+ [
+ "u64",
+ "total_data_size"
+ ],
+ {
+ "crc": "0x9c8d829a"
+ }
+ ],
+ [
+ "ipsec_tunnel_if_set_sa",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "sa_id"
+ ],
+ [
+ "u8",
+ "is_outbound"
+ ],
+ {
+ "crc": "0x6ab567f2"
+ }
+ ],
+ [
+ "ipsec_tunnel_if_set_sa_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "ipsec_backend_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "ipsec_backend_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "name",
+ 128
+ ],
+ [
+ "vl_api_ipsec_proto_t",
+ "protocol"
+ ],
+ [
+ "u8",
+ "index"
+ ],
+ [
+ "u8",
+ "active"
+ ],
+ {
+ "crc": "0x7700751c"
+ }
+ ],
+ [
+ "ipsec_select_backend",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ipsec_proto_t",
+ "protocol"
+ ],
+ [
+ "u8",
+ "index"
+ ],
+ {
+ "crc": "0x4fd24836"
+ }
+ ],
+ [
+ "ipsec_select_backend_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"
+ }
+ ],
+ [
+ "ipsec_crypto_alg",
+ [
+ "IPSEC_API_CRYPTO_ALG_NONE",
+ 0
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CBC_128",
+ 1
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CBC_192",
+ 2
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CBC_256",
+ 3
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CTR_128",
+ 4
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CTR_192",
+ 5
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CTR_256",
+ 6
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_GCM_128",
+ 7
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_GCM_192",
+ 8
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_GCM_256",
+ 9
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_DES_CBC",
+ 10
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_3DES_CBC",
+ 11
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ipsec_integ_alg",
+ [
+ "IPSEC_API_INTEG_ALG_NONE",
+ 0
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_MD5_96",
+ 1
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_SHA1_96",
+ 2
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_SHA_256_96",
+ 3
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_SHA_256_128",
+ 4
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_SHA_384_192",
+ 5
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_SHA_512_256",
+ 6
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ipsec_sad_flags",
+ [
+ "IPSEC_API_SAD_FLAG_NONE",
+ 0
+ ],
+ [
+ "IPSEC_API_SAD_FLAG_USE_ESN",
+ 1
+ ],
+ [
+ "IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY",
+ 2
+ ],
+ [
+ "IPSEC_API_SAD_FLAG_IS_TUNNEL",
+ 4
+ ],
+ [
+ "IPSEC_API_SAD_FLAG_IS_TUNNEL_V6",
+ 8
+ ],
+ [
+ "IPSEC_API_SAD_FLAG_UDP_ENCAP",
+ 16
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ipsec_proto",
+ [
+ "IPSEC_API_PROTO_ESP",
+ 1
+ ],
+ [
+ "IPSEC_API_PROTO_AH",
+ 2
+ ],
+ {
+ "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"
+ }
+ ],
+ [
+ "ipsec_spd_action",
+ [
+ "IPSEC_API_SPD_ACTION_BYPASS",
+ 0
+ ],
+ [
+ "IPSEC_API_SPD_ACTION_DISCARD",
+ 1
+ ],
+ [
+ "IPSEC_API_SPD_ACTION_RESOLVE",
+ 2
+ ],
+ [
+ "IPSEC_API_SPD_ACTION_PROTECT",
+ 3
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "ipsec_spd_add_del": {
+ "reply": "ipsec_spd_add_del_reply"
+ },
+ "ipsec_interface_add_del_spd": {
+ "reply": "ipsec_interface_add_del_spd_reply"
+ },
+ "ipsec_spd_entry_add_del": {
+ "reply": "ipsec_spd_entry_add_del_reply"
+ },
+ "ipsec_spds_dump": {
+ "reply": "ipsec_spds_details",
+ "stream": true
+ },
+ "ipsec_spd_dump": {
+ "reply": "ipsec_spd_details",
+ "stream": true
+ },
+ "ipsec_sad_entry_add_del": {
+ "reply": "ipsec_sad_entry_add_del_reply"
+ },
+ "ipsec_tunnel_protect_update": {
+ "reply": "ipsec_tunnel_protect_update_reply"
+ },
+ "ipsec_tunnel_protect_del": {
+ "reply": "ipsec_tunnel_protect_del_reply"
+ },
+ "ipsec_tunnel_protect_dump": {
+ "reply": "ipsec_tunnel_protect_details",
+ "stream": true
+ },
+ "ipsec_spd_interface_dump": {
+ "reply": "ipsec_spd_interface_details",
+ "stream": true
+ },
+ "ipsec_tunnel_if_add_del": {
+ "reply": "ipsec_tunnel_if_add_del_reply"
+ },
+ "ipsec_sa_dump": {
+ "reply": "ipsec_sa_details",
+ "stream": true
+ },
+ "ipsec_tunnel_if_set_sa": {
+ "reply": "ipsec_tunnel_if_set_sa_reply"
+ },
+ "ipsec_backend_dump": {
+ "reply": "ipsec_backend_details",
+ "stream": true
+ },
+ "ipsec_select_backend": {
+ "reply": "ipsec_select_backend_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"
+ },
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x5a59fef9"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ipsec_types.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ipsec_types.api.json
new file mode 100644
index 0000000..a64bbcb
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/ipsec_types.api.json
@@ -0,0 +1,493 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "key",
+ [
+ "u8",
+ "length"
+ ],
+ [
+ "u8",
+ "data",
+ 128
+ ]
+ ],
+ [
+ "ipsec_sad_entry",
+ [
+ "u32",
+ "sad_id"
+ ],
+ [
+ "u32",
+ "spi"
+ ],
+ [
+ "vl_api_ipsec_proto_t",
+ "protocol"
+ ],
+ [
+ "vl_api_ipsec_crypto_alg_t",
+ "crypto_algorithm"
+ ],
+ [
+ "vl_api_key_t",
+ "crypto_key"
+ ],
+ [
+ "vl_api_ipsec_integ_alg_t",
+ "integrity_algorithm"
+ ],
+ [
+ "vl_api_key_t",
+ "integrity_key"
+ ],
+ [
+ "vl_api_ipsec_sad_flags_t",
+ "flags"
+ ],
+ [
+ "vl_api_address_t",
+ "tunnel_src"
+ ],
+ [
+ "vl_api_address_t",
+ "tunnel_dst"
+ ],
+ [
+ "u32",
+ "tx_table_id"
+ ],
+ [
+ "u32",
+ "salt"
+ ]
+ ]
+ ],
+ "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"
+ }
+ ],
+ [
+ "ipsec_crypto_alg",
+ [
+ "IPSEC_API_CRYPTO_ALG_NONE",
+ 0
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CBC_128",
+ 1
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CBC_192",
+ 2
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CBC_256",
+ 3
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CTR_128",
+ 4
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CTR_192",
+ 5
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_CTR_256",
+ 6
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_GCM_128",
+ 7
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_GCM_192",
+ 8
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_AES_GCM_256",
+ 9
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_DES_CBC",
+ 10
+ ],
+ [
+ "IPSEC_API_CRYPTO_ALG_3DES_CBC",
+ 11
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ipsec_integ_alg",
+ [
+ "IPSEC_API_INTEG_ALG_NONE",
+ 0
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_MD5_96",
+ 1
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_SHA1_96",
+ 2
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_SHA_256_96",
+ 3
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_SHA_256_128",
+ 4
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_SHA_384_192",
+ 5
+ ],
+ [
+ "IPSEC_API_INTEG_ALG_SHA_512_256",
+ 6
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ipsec_sad_flags",
+ [
+ "IPSEC_API_SAD_FLAG_NONE",
+ 0
+ ],
+ [
+ "IPSEC_API_SAD_FLAG_USE_ESN",
+ 1
+ ],
+ [
+ "IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY",
+ 2
+ ],
+ [
+ "IPSEC_API_SAD_FLAG_IS_TUNNEL",
+ 4
+ ],
+ [
+ "IPSEC_API_SAD_FLAG_IS_TUNNEL_V6",
+ 8
+ ],
+ [
+ "IPSEC_API_SAD_FLAG_UDP_ENCAP",
+ 16
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "ipsec_proto",
+ [
+ "IPSEC_API_PROTO_ESP",
+ 1
+ ],
+ [
+ "IPSEC_API_PROTO_AH",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {},
+ "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": "0x6e9f4c73"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/l2.api.json b/internal/testbinapi/binapi2001/.vppapi/core/l2.api.json
new file mode 100644
index 0000000..686e316
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/l2.api.json
@@ -0,0 +1,2015 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "mac_entry",
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "mac_addr",
+ 6
+ ],
+ [
+ "u8",
+ "action"
+ ],
+ [
+ "u8",
+ "flags"
+ ]
+ ],
+ [
+ "bridge_domain_sw_if",
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "shg"
+ ]
+ ],
+ [
+ "bd_ip_mac",
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "vl_api_address_t",
+ "ip"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "l2_xconnect_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "rx_sw_if_index"
+ ],
+ [
+ "u32",
+ "tx_sw_if_index"
+ ],
+ {
+ "crc": "0x722e2378"
+ }
+ ],
+ [
+ "l2_xconnect_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "l2_fib_table_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "u8",
+ "mac",
+ 6
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "static_mac"
+ ],
+ [
+ "u8",
+ "filter_mac"
+ ],
+ [
+ "u8",
+ "bvi_mac"
+ ],
+ {
+ "crc": "0xc7392706"
+ }
+ ],
+ [
+ "l2_fib_table_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ {
+ "crc": "0xc25fdce6"
+ }
+ ],
+ [
+ "l2_fib_clear_table",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "l2_fib_clear_table_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "l2fib_flush_all",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "l2fib_flush_all_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "l2fib_flush_bd",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ {
+ "crc": "0xc25fdce6"
+ }
+ ],
+ [
+ "l2fib_flush_bd_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "l2fib_flush_int",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x529cb13f"
+ }
+ ],
+ [
+ "l2fib_flush_int_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "l2fib_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "mac",
+ 6
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "static_mac"
+ ],
+ [
+ "u8",
+ "filter_mac"
+ ],
+ [
+ "u8",
+ "bvi_mac"
+ ],
+ {
+ "crc": "0x34ced3eb"
+ }
+ ],
+ [
+ "l2fib_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "want_l2_macs_events",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "learn_limit"
+ ],
+ [
+ "u8",
+ "scan_delay"
+ ],
+ [
+ "u8",
+ "max_macs_in_event"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ {
+ "crc": "0x9aabdfde"
+ }
+ ],
+ [
+ "want_l2_macs_events_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "l2_macs_event",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "u32",
+ "n_macs"
+ ],
+ [
+ "vl_api_mac_entry_t",
+ "mac",
+ 0,
+ "n_macs"
+ ],
+ {
+ "crc": "0xafc74a60"
+ }
+ ],
+ [
+ "l2_flags",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "is_set"
+ ],
+ [
+ "u32",
+ "feature_bitmap"
+ ],
+ {
+ "crc": "0x0e889fb9"
+ }
+ ],
+ [
+ "l2_flags_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "resulting_feature_bitmap"
+ ],
+ {
+ "crc": "0x29b2a2b3"
+ }
+ ],
+ [
+ "bridge_domain_set_mac_age",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "u8",
+ "mac_age"
+ ],
+ {
+ "crc": "0xb537ad7b"
+ }
+ ],
+ [
+ "bridge_domain_set_mac_age_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bridge_domain_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "u8",
+ "flood"
+ ],
+ [
+ "u8",
+ "uu_flood"
+ ],
+ [
+ "u8",
+ "forward"
+ ],
+ [
+ "u8",
+ "learn"
+ ],
+ [
+ "u8",
+ "arp_term"
+ ],
+ [
+ "u8",
+ "arp_ufwd"
+ ],
+ [
+ "u8",
+ "mac_age"
+ ],
+ [
+ "u8",
+ "bd_tag",
+ 64
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ {
+ "crc": "0xc6360720"
+ }
+ ],
+ [
+ "bridge_domain_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bridge_domain_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ {
+ "crc": "0xc25fdce6"
+ }
+ ],
+ [
+ "bridge_domain_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "u8",
+ "flood"
+ ],
+ [
+ "u8",
+ "uu_flood"
+ ],
+ [
+ "u8",
+ "forward"
+ ],
+ [
+ "u8",
+ "learn"
+ ],
+ [
+ "u8",
+ "arp_term"
+ ],
+ [
+ "u8",
+ "arp_ufwd"
+ ],
+ [
+ "u8",
+ "mac_age"
+ ],
+ [
+ "u8",
+ "bd_tag",
+ 64
+ ],
+ [
+ "u32",
+ "bvi_sw_if_index"
+ ],
+ [
+ "u32",
+ "uu_fwd_sw_if_index"
+ ],
+ [
+ "u32",
+ "n_sw_ifs"
+ ],
+ [
+ "vl_api_bridge_domain_sw_if_t",
+ "sw_if_details",
+ 0,
+ "n_sw_ifs"
+ ],
+ {
+ "crc": "0x748c854a"
+ }
+ ],
+ [
+ "bridge_flags",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "u8",
+ "is_set"
+ ],
+ [
+ "vl_api_bd_flags_t",
+ "flags"
+ ],
+ {
+ "crc": "0x2eb9b76c"
+ }
+ ],
+ [
+ "bridge_flags_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "resulting_feature_bitmap"
+ ],
+ {
+ "crc": "0x29b2a2b3"
+ }
+ ],
+ [
+ "l2_interface_vlan_tag_rewrite",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "vtr_op"
+ ],
+ [
+ "u32",
+ "push_dot1q"
+ ],
+ [
+ "u32",
+ "tag1"
+ ],
+ [
+ "u32",
+ "tag2"
+ ],
+ {
+ "crc": "0xb90be6b4"
+ }
+ ],
+ [
+ "l2_interface_vlan_tag_rewrite_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "l2_interface_pbb_tag_rewrite",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "vtr_op"
+ ],
+ [
+ "u16",
+ "outer_tag"
+ ],
+ [
+ "u8",
+ "b_dmac",
+ 6
+ ],
+ [
+ "u8",
+ "b_smac",
+ 6
+ ],
+ [
+ "u16",
+ "b_vlanid"
+ ],
+ [
+ "u32",
+ "i_sid"
+ ],
+ {
+ "crc": "0x6cf815f9"
+ }
+ ],
+ [
+ "l2_interface_pbb_tag_rewrite_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "l2_patch_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "rx_sw_if_index"
+ ],
+ [
+ "u32",
+ "tx_sw_if_index"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ {
+ "crc": "0x62506e63"
+ }
+ ],
+ [
+ "l2_patch_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_set_l2_xconnect",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "rx_sw_if_index"
+ ],
+ [
+ "u32",
+ "tx_sw_if_index"
+ ],
+ [
+ "u8",
+ "enable"
+ ],
+ {
+ "crc": "0x95de3988"
+ }
+ ],
+ [
+ "sw_interface_set_l2_xconnect_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_set_l2_bridge",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "rx_sw_if_index"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ [
+ "vl_api_l2_port_type_t",
+ "port_type"
+ ],
+ [
+ "u8",
+ "shg"
+ ],
+ [
+ "u8",
+ "enable"
+ ],
+ {
+ "crc": "0x5579f809"
+ }
+ ],
+ [
+ "sw_interface_set_l2_bridge_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bd_ip_mac_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "vl_api_bd_ip_mac_t",
+ "entry"
+ ],
+ {
+ "crc": "0x25bf4063"
+ }
+ ],
+ [
+ "bd_ip_mac_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bd_ip_mac_flush",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ {
+ "crc": "0xc25fdce6"
+ }
+ ],
+ [
+ "bd_ip_mac_flush_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bd_ip_mac_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_bd_ip_mac_t",
+ "entry"
+ ],
+ {
+ "crc": "0xa52f8044"
+ }
+ ],
+ [
+ "bd_ip_mac_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd_id"
+ ],
+ {
+ "crc": "0xc25fdce6"
+ }
+ ],
+ [
+ "l2_interface_efp_filter",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "enable_disable"
+ ],
+ {
+ "crc": "0x69d24598"
+ }
+ ],
+ [
+ "l2_interface_efp_filter_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_set_vpath",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "enable"
+ ],
+ {
+ "crc": "0xa36fadc0"
+ }
+ ],
+ [
+ "sw_interface_set_vpath_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bvi_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac"
+ ],
+ [
+ "u32",
+ "user_instance"
+ ],
+ {
+ "crc": "0xf5398559"
+ }
+ ],
+ [
+ "bvi_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xfda5941f"
+ }
+ ],
+ [
+ "bvi_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x529cb13f"
+ }
+ ],
+ [
+ "bvi_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "want_l2_arp_term_events",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ {
+ "crc": "0x3ec6d6c2"
+ }
+ ],
+ [
+ "want_l2_arp_term_events_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "l2_arp_term_event",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "vl_api_address_t",
+ "ip"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac"
+ ],
+ {
+ "crc": "0x85ff71ea"
+ }
+ ]
+ ],
+ "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"
+ }
+ ],
+ [
+ "bd_flags",
+ [
+ "BRIDGE_API_FLAG_NONE",
+ 0
+ ],
+ [
+ "BRIDGE_API_FLAG_LEARN",
+ 1
+ ],
+ [
+ "BRIDGE_API_FLAG_FWD",
+ 2
+ ],
+ [
+ "BRIDGE_API_FLAG_FLOOD",
+ 4
+ ],
+ [
+ "BRIDGE_API_FLAG_UU_FLOOD",
+ 8
+ ],
+ [
+ "BRIDGE_API_FLAG_ARP_TERM",
+ 16
+ ],
+ [
+ "BRIDGE_API_FLAG_ARP_UFWD",
+ 32
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "l2_port_type",
+ [
+ "L2_API_PORT_TYPE_NORMAL",
+ 0
+ ],
+ [
+ "L2_API_PORT_TYPE_BVI",
+ 1
+ ],
+ [
+ "L2_API_PORT_TYPE_UU_FWD",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "want_l2_macs_events": {
+ "reply": "want_l2_macs_events_reply",
+ "events": [
+ "l2_macs_event"
+ ]
+ },
+ "want_l2_arp_term_events": {
+ "reply": "want_l2_arp_term_events_reply",
+ "events": [
+ "l2_arp_term_event"
+ ]
+ },
+ "l2_xconnect_dump": {
+ "reply": "l2_xconnect_details",
+ "stream": true
+ },
+ "l2_fib_table_dump": {
+ "reply": "l2_fib_table_details",
+ "stream": true
+ },
+ "l2_fib_clear_table": {
+ "reply": "l2_fib_clear_table_reply"
+ },
+ "l2fib_flush_all": {
+ "reply": "l2fib_flush_all_reply"
+ },
+ "l2fib_flush_bd": {
+ "reply": "l2fib_flush_bd_reply"
+ },
+ "l2fib_flush_int": {
+ "reply": "l2fib_flush_int_reply"
+ },
+ "l2fib_add_del": {
+ "reply": "l2fib_add_del_reply"
+ },
+ "l2_flags": {
+ "reply": "l2_flags_reply"
+ },
+ "bridge_domain_set_mac_age": {
+ "reply": "bridge_domain_set_mac_age_reply"
+ },
+ "bridge_domain_add_del": {
+ "reply": "bridge_domain_add_del_reply"
+ },
+ "bridge_domain_dump": {
+ "reply": "bridge_domain_details",
+ "stream": true
+ },
+ "bridge_flags": {
+ "reply": "bridge_flags_reply"
+ },
+ "l2_interface_vlan_tag_rewrite": {
+ "reply": "l2_interface_vlan_tag_rewrite_reply"
+ },
+ "l2_interface_pbb_tag_rewrite": {
+ "reply": "l2_interface_pbb_tag_rewrite_reply"
+ },
+ "l2_patch_add_del": {
+ "reply": "l2_patch_add_del_reply"
+ },
+ "sw_interface_set_l2_xconnect": {
+ "reply": "sw_interface_set_l2_xconnect_reply"
+ },
+ "sw_interface_set_l2_bridge": {
+ "reply": "sw_interface_set_l2_bridge_reply"
+ },
+ "bd_ip_mac_add_del": {
+ "reply": "bd_ip_mac_add_del_reply"
+ },
+ "bd_ip_mac_flush": {
+ "reply": "bd_ip_mac_flush_reply"
+ },
+ "bd_ip_mac_dump": {
+ "reply": "bd_ip_mac_details",
+ "stream": true
+ },
+ "l2_interface_efp_filter": {
+ "reply": "l2_interface_efp_filter_reply"
+ },
+ "sw_interface_set_vpath": {
+ "reply": "sw_interface_set_vpath_reply"
+ },
+ "bvi_create": {
+ "reply": "bvi_create_reply"
+ },
+ "bvi_delete": {
+ "reply": "bvi_delete_reply"
+ }
+ },
+ "options": {
+ "version": "2.2.2"
+ },
+ "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"
+ }
+ },
+ "vl_api_version": "0x2e148df3"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/l2tp.api.json b/internal/testbinapi/binapi2001/.vppapi/core/l2tp.api.json
new file mode 100644
index 0000000..6cb9d6b
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/l2tp.api.json
@@ -0,0 +1,767 @@
+{
+ "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": [
+ [
+ "l2tpv3_create_tunnel",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_address_t",
+ "client_address"
+ ],
+ [
+ "vl_api_address_t",
+ "our_address"
+ ],
+ [
+ "u32",
+ "local_session_id"
+ ],
+ [
+ "u32",
+ "remote_session_id"
+ ],
+ [
+ "u64",
+ "local_cookie"
+ ],
+ [
+ "u64",
+ "remote_cookie"
+ ],
+ [
+ "bool",
+ "l2_sublayer_present"
+ ],
+ [
+ "u32",
+ "encap_vrf_id"
+ ],
+ {
+ "crc": "0x596892cb"
+ }
+ ],
+ [
+ "l2tpv3_create_tunnel_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "l2tpv3_set_tunnel_cookies",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u64",
+ "new_local_cookie"
+ ],
+ [
+ "u64",
+ "new_remote_cookie"
+ ],
+ {
+ "crc": "0xb3f4faf7"
+ }
+ ],
+ [
+ "l2tpv3_set_tunnel_cookies_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_if_l2tpv3_tunnel_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "string",
+ "interface_name",
+ 64
+ ],
+ [
+ "vl_api_address_t",
+ "client_address"
+ ],
+ [
+ "vl_api_address_t",
+ "our_address"
+ ],
+ [
+ "u32",
+ "local_session_id"
+ ],
+ [
+ "u32",
+ "remote_session_id"
+ ],
+ [
+ "u64",
+ "local_cookie",
+ 2
+ ],
+ [
+ "u64",
+ "remote_cookie"
+ ],
+ [
+ "bool",
+ "l2_sublayer_present"
+ ],
+ {
+ "crc": "0x1dab5c7e"
+ }
+ ],
+ [
+ "sw_if_l2tpv3_tunnel_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "l2tpv3_interface_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable_disable"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x3865946c"
+ }
+ ],
+ [
+ "l2tpv3_interface_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "l2tpv3_set_lookup_key",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_l2t_lookup_key_t",
+ "key"
+ ],
+ {
+ "crc": "0xc9892c86"
+ }
+ ],
+ [
+ "l2tpv3_set_lookup_key_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"
+ }
+ ],
+ [
+ "l2t_lookup_key",
+ [
+ "L2T_LOOKUP_KEY_API_SRC_ADDR",
+ 0
+ ],
+ [
+ "L2T_LOOKUP_KEY_API_DST_ADDR",
+ 1
+ ],
+ [
+ "L2T_LOOKUP_KEY_API_SESSION_ID",
+ 2
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ]
+ ],
+ "services": {
+ "l2tpv3_create_tunnel": {
+ "reply": "l2tpv3_create_tunnel_reply"
+ },
+ "l2tpv3_set_tunnel_cookies": {
+ "reply": "l2tpv3_set_tunnel_cookies_reply"
+ },
+ "sw_if_l2tpv3_tunnel_dump": {
+ "reply": "sw_if_l2tpv3_tunnel_details",
+ "stream": true
+ },
+ "l2tpv3_interface_enable_disable": {
+ "reply": "l2tpv3_interface_enable_disable_reply"
+ },
+ "l2tpv3_set_lookup_key": {
+ "reply": "l2tpv3_set_lookup_key_reply"
+ }
+ },
+ "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": "0x1ecf7730"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/lisp.api.json b/internal/testbinapi/binapi2001/.vppapi/core/lisp.api.json
new file mode 100644
index 0000000..1d6884a
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/lisp.api.json
@@ -0,0 +1,1704 @@
+{
+ "types": [
+ [
+ "local_locator",
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "priority"
+ ],
+ [
+ "u8",
+ "weight"
+ ]
+ ],
+ [
+ "remote_locator",
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "priority"
+ ],
+ [
+ "u8",
+ "weight"
+ ],
+ [
+ "u8",
+ "addr",
+ 16
+ ]
+ ],
+ [
+ "lisp_adjacency",
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "reid",
+ 16
+ ],
+ [
+ "u8",
+ "leid",
+ 16
+ ],
+ [
+ "u8",
+ "reid_prefix_len"
+ ],
+ [
+ "u8",
+ "leid_prefix_len"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "lisp_add_del_locator_set",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ [
+ "u32",
+ "locator_num"
+ ],
+ [
+ "vl_api_local_locator_t",
+ "locators",
+ 0,
+ "locator_num"
+ ],
+ {
+ "crc": "0x06968e38"
+ }
+ ],
+ [
+ "lisp_add_del_locator_set_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "ls_index"
+ ],
+ {
+ "crc": "0xb6666db4"
+ }
+ ],
+ [
+ "lisp_add_del_locator",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "priority"
+ ],
+ [
+ "u8",
+ "weight"
+ ],
+ {
+ "crc": "0x006a4240"
+ }
+ ],
+ [
+ "lisp_add_del_locator_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_add_del_local_eid",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "eid",
+ 16
+ ],
+ [
+ "u8",
+ "prefix_len"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u16",
+ "key_id"
+ ],
+ [
+ "u8",
+ "key",
+ 64
+ ],
+ {
+ "crc": "0xe6d00717"
+ }
+ ],
+ [
+ "lisp_add_del_local_eid_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_add_del_map_server",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "ip_address",
+ 16
+ ],
+ {
+ "crc": "0x0ebcd37d"
+ }
+ ],
+ [
+ "lisp_add_del_map_server_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_add_del_map_resolver",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "ip_address",
+ 16
+ ],
+ {
+ "crc": "0x0ebcd37d"
+ }
+ ],
+ [
+ "lisp_add_del_map_resolver_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0xeb0e943b"
+ }
+ ],
+ [
+ "lisp_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_pitr_set_locator_set",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "ls_name",
+ 64
+ ],
+ {
+ "crc": "0x7aa022dd"
+ }
+ ],
+ [
+ "lisp_pitr_set_locator_set_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_use_petr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "address",
+ 16
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ {
+ "crc": "0x6910787d"
+ }
+ ],
+ [
+ "lisp_use_petr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "show_lisp_use_petr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_lisp_use_petr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "status"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "address",
+ 16
+ ],
+ {
+ "crc": "0x1eb21916"
+ }
+ ],
+ [
+ "show_lisp_rloc_probe_state",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_lisp_rloc_probe_state_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "is_enabled"
+ ],
+ {
+ "crc": "0x14304fbc"
+ }
+ ],
+ [
+ "lisp_rloc_probe_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_enabled"
+ ],
+ {
+ "crc": "0x294103d1"
+ }
+ ],
+ [
+ "lisp_rloc_probe_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_map_register_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_enabled"
+ ],
+ {
+ "crc": "0x294103d1"
+ }
+ ],
+ [
+ "lisp_map_register_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "show_lisp_map_register_state",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_lisp_map_register_state_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "is_enabled"
+ ],
+ {
+ "crc": "0x14304fbc"
+ }
+ ],
+ [
+ "lisp_map_request_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "mode"
+ ],
+ {
+ "crc": "0xf3f93ce9"
+ }
+ ],
+ [
+ "lisp_map_request_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "show_lisp_map_request_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_lisp_map_request_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "mode"
+ ],
+ {
+ "crc": "0xd423107c"
+ }
+ ],
+ [
+ "lisp_add_del_remote_mapping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "is_src_dst"
+ ],
+ [
+ "u8",
+ "del_all"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "action"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "eid",
+ 16
+ ],
+ [
+ "u8",
+ "eid_len"
+ ],
+ [
+ "u8",
+ "seid",
+ 16
+ ],
+ [
+ "u8",
+ "seid_len"
+ ],
+ [
+ "u32",
+ "rloc_num"
+ ],
+ [
+ "vl_api_remote_locator_t",
+ "rlocs",
+ 0,
+ "rloc_num"
+ ],
+ {
+ "crc": "0xb879c3a9"
+ }
+ ],
+ [
+ "lisp_add_del_remote_mapping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_add_del_adjacency",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "reid",
+ 16
+ ],
+ [
+ "u8",
+ "leid",
+ 16
+ ],
+ [
+ "u8",
+ "reid_len"
+ ],
+ [
+ "u8",
+ "leid_len"
+ ],
+ {
+ "crc": "0xf047390d"
+ }
+ ],
+ [
+ "lisp_add_del_adjacency_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_add_del_map_request_itr_rlocs",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ {
+ "crc": "0xc7c6cb2f"
+ }
+ ],
+ [
+ "lisp_add_del_map_request_itr_rlocs_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_eid_table_add_del_map",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u32",
+ "dp_table"
+ ],
+ [
+ "u8",
+ "is_l2"
+ ],
+ {
+ "crc": "0x59e9975e"
+ }
+ ],
+ [
+ "lisp_eid_table_add_del_map_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "lisp_locator_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "ls_index"
+ ],
+ [
+ "u8",
+ "ls_name",
+ 64
+ ],
+ [
+ "u8",
+ "is_index_set"
+ ],
+ {
+ "crc": "0xf27d5050"
+ }
+ ],
+ [
+ "lisp_locator_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "local"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "ip_address",
+ 16
+ ],
+ [
+ "u8",
+ "priority"
+ ],
+ [
+ "u8",
+ "weight"
+ ],
+ {
+ "crc": "0xb3988a30"
+ }
+ ],
+ [
+ "lisp_locator_set_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "ls_index"
+ ],
+ [
+ "u8",
+ "ls_name",
+ 64
+ ],
+ {
+ "crc": "0x6b846882"
+ }
+ ],
+ [
+ "lisp_locator_set_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "filter"
+ ],
+ {
+ "crc": "0xc79e8ab0"
+ }
+ ],
+ [
+ "lisp_eid_table_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "locator_set_index"
+ ],
+ [
+ "u8",
+ "action"
+ ],
+ [
+ "u8",
+ "is_local"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "is_src_dst"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "eid",
+ 16
+ ],
+ [
+ "u8",
+ "eid_prefix_len"
+ ],
+ [
+ "u8",
+ "seid",
+ 16
+ ],
+ [
+ "u8",
+ "seid_prefix_len"
+ ],
+ [
+ "u32",
+ "ttl"
+ ],
+ [
+ "u8",
+ "authoritative"
+ ],
+ [
+ "u16",
+ "key_id"
+ ],
+ [
+ "u8",
+ "key",
+ 64
+ ],
+ {
+ "crc": "0xdcd9f414"
+ }
+ ],
+ [
+ "lisp_eid_table_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "eid_set"
+ ],
+ [
+ "u8",
+ "prefix_length"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "eid",
+ 16
+ ],
+ [
+ "u8",
+ "filter"
+ ],
+ {
+ "crc": "0xe0df64da"
+ }
+ ],
+ [
+ "lisp_adjacencies_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "vl_api_lisp_adjacency_t",
+ "adjacencies",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0xada0f464"
+ }
+ ],
+ [
+ "lisp_adjacencies_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ {
+ "crc": "0x8d1f2fe9"
+ }
+ ],
+ [
+ "lisp_eid_table_map_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u32",
+ "dp_table"
+ ],
+ {
+ "crc": "0x0b6859e2"
+ }
+ ],
+ [
+ "lisp_eid_table_map_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_l2"
+ ],
+ {
+ "crc": "0x67c54650"
+ }
+ ],
+ [
+ "lisp_eid_table_vni_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "lisp_eid_table_vni_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ {
+ "crc": "0x64abc01e"
+ }
+ ],
+ [
+ "lisp_map_resolver_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "ip_address",
+ 16
+ ],
+ {
+ "crc": "0x60a5f5ca"
+ }
+ ],
+ [
+ "lisp_map_resolver_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "lisp_map_server_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "ip_address",
+ 16
+ ],
+ {
+ "crc": "0x60a5f5ca"
+ }
+ ],
+ [
+ "lisp_map_server_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_lisp_status",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_lisp_status_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "feature_status"
+ ],
+ [
+ "u8",
+ "gpe_status"
+ ],
+ {
+ "crc": "0xddcf48ef"
+ }
+ ],
+ [
+ "lisp_get_map_request_itr_rlocs",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "lisp_get_map_request_itr_rlocs_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ {
+ "crc": "0x9f56f6f7"
+ }
+ ],
+ [
+ "show_lisp_pitr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_lisp_pitr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "status"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ {
+ "crc": "0xdca512cc"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "lisp_add_del_locator_set": {
+ "reply": "lisp_add_del_locator_set_reply"
+ },
+ "lisp_add_del_locator": {
+ "reply": "lisp_add_del_locator_reply"
+ },
+ "lisp_add_del_local_eid": {
+ "reply": "lisp_add_del_local_eid_reply"
+ },
+ "lisp_add_del_map_server": {
+ "reply": "lisp_add_del_map_server_reply"
+ },
+ "lisp_add_del_map_resolver": {
+ "reply": "lisp_add_del_map_resolver_reply"
+ },
+ "lisp_enable_disable": {
+ "reply": "lisp_enable_disable_reply"
+ },
+ "lisp_pitr_set_locator_set": {
+ "reply": "lisp_pitr_set_locator_set_reply"
+ },
+ "lisp_use_petr": {
+ "reply": "lisp_use_petr_reply"
+ },
+ "show_lisp_use_petr": {
+ "reply": "show_lisp_use_petr_reply"
+ },
+ "show_lisp_rloc_probe_state": {
+ "reply": "show_lisp_rloc_probe_state_reply"
+ },
+ "lisp_rloc_probe_enable_disable": {
+ "reply": "lisp_rloc_probe_enable_disable_reply"
+ },
+ "lisp_map_register_enable_disable": {
+ "reply": "lisp_map_register_enable_disable_reply"
+ },
+ "show_lisp_map_register_state": {
+ "reply": "show_lisp_map_register_state_reply"
+ },
+ "lisp_map_request_mode": {
+ "reply": "lisp_map_request_mode_reply"
+ },
+ "show_lisp_map_request_mode": {
+ "reply": "show_lisp_map_request_mode_reply"
+ },
+ "lisp_add_del_remote_mapping": {
+ "reply": "lisp_add_del_remote_mapping_reply"
+ },
+ "lisp_add_del_adjacency": {
+ "reply": "lisp_add_del_adjacency_reply"
+ },
+ "lisp_add_del_map_request_itr_rlocs": {
+ "reply": "lisp_add_del_map_request_itr_rlocs_reply"
+ },
+ "lisp_eid_table_add_del_map": {
+ "reply": "lisp_eid_table_add_del_map_reply"
+ },
+ "lisp_locator_dump": {
+ "reply": "lisp_locator_details",
+ "stream": true
+ },
+ "lisp_locator_set_dump": {
+ "reply": "lisp_locator_set_details",
+ "stream": true
+ },
+ "lisp_eid_table_dump": {
+ "reply": "lisp_eid_table_details",
+ "stream": true
+ },
+ "lisp_adjacencies_get": {
+ "reply": "lisp_adjacencies_get_reply"
+ },
+ "lisp_eid_table_map_dump": {
+ "reply": "lisp_eid_table_map_details",
+ "stream": true
+ },
+ "lisp_eid_table_vni_dump": {
+ "reply": "lisp_eid_table_vni_details",
+ "stream": true
+ },
+ "lisp_map_resolver_dump": {
+ "reply": "lisp_map_resolver_details",
+ "stream": true
+ },
+ "lisp_map_server_dump": {
+ "reply": "lisp_map_server_details",
+ "stream": true
+ },
+ "show_lisp_status": {
+ "reply": "show_lisp_status_reply"
+ },
+ "lisp_get_map_request_itr_rlocs": {
+ "reply": "lisp_get_map_request_itr_rlocs_reply"
+ },
+ "show_lisp_pitr": {
+ "reply": "show_lisp_pitr_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x681568f8"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/lisp_gpe.api.json b/internal/testbinapi/binapi2001/.vppapi/core/lisp_gpe.api.json
new file mode 100644
index 0000000..bf6eb9a
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/lisp_gpe.api.json
@@ -0,0 +1,630 @@
+{
+ "types": [
+ [
+ "gpe_locator",
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "weight"
+ ],
+ [
+ "u8",
+ "addr",
+ 16
+ ]
+ ],
+ [
+ "gpe_fwd_entry",
+ [
+ "u32",
+ "fwd_entry_index"
+ ],
+ [
+ "u32",
+ "dp_table"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "leid_prefix_len"
+ ],
+ [
+ "u8",
+ "reid_prefix_len"
+ ],
+ [
+ "u8",
+ "leid",
+ 16
+ ],
+ [
+ "u8",
+ "reid",
+ 16
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "action"
+ ]
+ ],
+ [
+ "gpe_native_fwd_rpath",
+ [
+ "u32",
+ "fib_index"
+ ],
+ [
+ "u32",
+ "nh_sw_if_index"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "nh_addr",
+ 16
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "gpe_add_del_fwd_entry",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "rmt_eid",
+ 16
+ ],
+ [
+ "u8",
+ "lcl_eid",
+ 16
+ ],
+ [
+ "u8",
+ "rmt_len"
+ ],
+ [
+ "u8",
+ "lcl_len"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u32",
+ "dp_table"
+ ],
+ [
+ "u8",
+ "action"
+ ],
+ [
+ "u32",
+ "loc_num"
+ ],
+ [
+ "vl_api_gpe_locator_t",
+ "locs",
+ 0,
+ "loc_num"
+ ],
+ {
+ "crc": "0xafbf857a"
+ }
+ ],
+ [
+ "gpe_add_del_fwd_entry_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "fwd_entry_index"
+ ],
+ {
+ "crc": "0xefe5f176"
+ }
+ ],
+ [
+ "gpe_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0xeb0e943b"
+ }
+ ],
+ [
+ "gpe_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gpe_add_del_iface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "is_l2"
+ ],
+ [
+ "u32",
+ "dp_table"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ {
+ "crc": "0x42d6b533"
+ }
+ ],
+ [
+ "gpe_add_del_iface_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gpe_fwd_entry_vnis_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gpe_fwd_entry_vnis_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "u32",
+ "vnis",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0xaa70da20"
+ }
+ ],
+ [
+ "gpe_fwd_entries_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ {
+ "crc": "0x8d1f2fe9"
+ }
+ ],
+ [
+ "gpe_fwd_entries_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "vl_api_gpe_fwd_entry_t",
+ "entries",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0x07b02c34"
+ }
+ ],
+ [
+ "gpe_fwd_entry_path_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "fwd_entry_index"
+ ],
+ {
+ "crc": "0x39bce980"
+ }
+ ],
+ [
+ "gpe_fwd_entry_path_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_gpe_locator_t",
+ "lcl_loc"
+ ],
+ [
+ "vl_api_gpe_locator_t",
+ "rmt_loc"
+ ],
+ {
+ "crc": "0xa9bdc1f1"
+ }
+ ],
+ [
+ "gpe_set_encap_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "mode"
+ ],
+ {
+ "crc": "0xf3f93ce9"
+ }
+ ],
+ [
+ "gpe_set_encap_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gpe_get_encap_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "gpe_get_encap_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "encap_mode"
+ ],
+ {
+ "crc": "0x36e3f7ca"
+ }
+ ],
+ [
+ "gpe_add_del_native_fwd_rpath",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u32",
+ "nh_sw_if_index"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "nh_addr",
+ 16
+ ],
+ {
+ "crc": "0xbfc42b8f"
+ }
+ ],
+ [
+ "gpe_add_del_native_fwd_rpath_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "gpe_native_fwd_rpaths_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ {
+ "crc": "0xc5e0d91b"
+ }
+ ],
+ [
+ "gpe_native_fwd_rpaths_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "vl_api_gpe_native_fwd_rpath_t",
+ "entries",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0x1e4536e3"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "gpe_add_del_fwd_entry": {
+ "reply": "gpe_add_del_fwd_entry_reply"
+ },
+ "gpe_enable_disable": {
+ "reply": "gpe_enable_disable_reply"
+ },
+ "gpe_add_del_iface": {
+ "reply": "gpe_add_del_iface_reply"
+ },
+ "gpe_fwd_entry_vnis_get": {
+ "reply": "gpe_fwd_entry_vnis_get_reply"
+ },
+ "gpe_fwd_entries_get": {
+ "reply": "gpe_fwd_entries_get_reply"
+ },
+ "gpe_fwd_entry_path_dump": {
+ "reply": "gpe_fwd_entry_path_details",
+ "stream": true
+ },
+ "gpe_set_encap_mode": {
+ "reply": "gpe_set_encap_mode_reply"
+ },
+ "gpe_get_encap_mode": {
+ "reply": "gpe_get_encap_mode_reply"
+ },
+ "gpe_add_del_native_fwd_rpath": {
+ "reply": "gpe_add_del_native_fwd_rpath_reply"
+ },
+ "gpe_native_fwd_rpaths_get": {
+ "reply": "gpe_native_fwd_rpaths_get_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x9396c80c"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/lldp.api.json b/internal/testbinapi/binapi2001/.vppapi/core/lldp.api.json
new file mode 100644
index 0000000..9dbd66b
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/lldp.api.json
@@ -0,0 +1,133 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "lldp_config",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "system_name",
+ 256
+ ],
+ [
+ "u32",
+ "tx_hold"
+ ],
+ [
+ "u32",
+ "tx_interval"
+ ],
+ {
+ "crc": "0x2410286f"
+ }
+ ],
+ [
+ "lldp_config_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_set_lldp",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "port_desc",
+ 256
+ ],
+ [
+ "u8",
+ "mgmt_ip4",
+ 4
+ ],
+ [
+ "u8",
+ "mgmt_ip6",
+ 16
+ ],
+ [
+ "u8",
+ "mgmt_oid",
+ 128
+ ],
+ [
+ "u8",
+ "enable"
+ ],
+ {
+ "crc": "0x2d85d156"
+ }
+ ],
+ [
+ "sw_interface_set_lldp_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "lldp_config": {
+ "reply": "lldp_config_reply"
+ },
+ "sw_interface_set_lldp": {
+ "reply": "sw_interface_set_lldp_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0xabb21dd0"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/memclnt.api.json b/internal/testbinapi/binapi2001/.vppapi/core/memclnt.api.json
new file mode 100644
index 0000000..746707e
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/memclnt.api.json
@@ -0,0 +1,595 @@
+{
+ "types": [
+ [
+ "module_version",
+ [
+ "u32",
+ "major"
+ ],
+ [
+ "u32",
+ "minor"
+ ],
+ [
+ "u32",
+ "patch"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ]
+ ],
+ [
+ "message_table_entry",
+ [
+ "u16",
+ "index"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "memclnt_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "ctx_quota"
+ ],
+ [
+ "u64",
+ "input_queue"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ [
+ "u32",
+ "api_versions",
+ 8
+ ],
+ {
+ "crc": "0x9c5e1c2f"
+ }
+ ],
+ [
+ "memclnt_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "response"
+ ],
+ [
+ "u64",
+ "handle"
+ ],
+ [
+ "u32",
+ "index"
+ ],
+ [
+ "u64",
+ "message_table"
+ ],
+ {
+ "crc": "0x42ec4560"
+ }
+ ],
+ [
+ "memclnt_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "index"
+ ],
+ [
+ "u64",
+ "handle"
+ ],
+ [
+ "bool",
+ "do_cleanup"
+ ],
+ {
+ "crc": "0x7e1c04e3"
+ }
+ ],
+ [
+ "memclnt_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "i32",
+ "response"
+ ],
+ [
+ "u64",
+ "handle"
+ ],
+ {
+ "crc": "0x3d3b6312"
+ }
+ ],
+ [
+ "rx_thread_exit",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u8",
+ "dummy"
+ ],
+ {
+ "crc": "0xc3a3a452"
+ }
+ ],
+ [
+ "memclnt_rx_thread_suspend",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u8",
+ "dummy"
+ ],
+ {
+ "crc": "0xc3a3a452"
+ }
+ ],
+ [
+ "memclnt_read_timeout",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u8",
+ "dummy"
+ ],
+ {
+ "crc": "0xc3a3a452"
+ }
+ ],
+ [
+ "rpc_call",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "function"
+ ],
+ [
+ "u8",
+ "multicast"
+ ],
+ [
+ "u8",
+ "need_barrier_sync"
+ ],
+ [
+ "u8",
+ "send_reply"
+ ],
+ [
+ "u32",
+ "data_len"
+ ],
+ [
+ "u8",
+ "data",
+ 0,
+ "data_len"
+ ],
+ {
+ "crc": "0x7e8a2c95"
+ }
+ ],
+ [
+ "rpc_call_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "get_first_msg_id",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ {
+ "crc": "0xebf79a66"
+ }
+ ],
+ [
+ "get_first_msg_id_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u16",
+ "first_msg_id"
+ ],
+ {
+ "crc": "0x7d337472"
+ }
+ ],
+ [
+ "api_versions",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "api_versions_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "vl_api_module_version_t",
+ "api_versions",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0x5f0d99d6"
+ }
+ ],
+ [
+ "trace_plugin_msg_ids",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "plugin_name",
+ 128
+ ],
+ [
+ "u16",
+ "first_msg_id"
+ ],
+ [
+ "u16",
+ "last_msg_id"
+ ],
+ {
+ "crc": "0xf476d3ce"
+ }
+ ],
+ [
+ "sockclnt_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "name",
+ 64
+ ],
+ {
+ "crc": "0x455fb9c4"
+ }
+ ],
+ [
+ "sockclnt_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "response"
+ ],
+ [
+ "u32",
+ "index"
+ ],
+ [
+ "u16",
+ "count"
+ ],
+ [
+ "vl_api_message_table_entry_t",
+ "message_table",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0x35166268"
+ }
+ ],
+ [
+ "sockclnt_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "index"
+ ],
+ {
+ "crc": "0x8ac76db6"
+ }
+ ],
+ [
+ "sockclnt_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "response"
+ ],
+ {
+ "crc": "0x8f38b1ee"
+ }
+ ],
+ [
+ "sock_init_shm",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "requested_size"
+ ],
+ [
+ "u8",
+ "nitems"
+ ],
+ [
+ "u64",
+ "configs",
+ 0,
+ "nitems"
+ ],
+ {
+ "crc": "0x51646d92"
+ }
+ ],
+ [
+ "sock_init_shm_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "memclnt_keepalive",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "memclnt_keepalive_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "memclnt_rx_thread_suspend": {
+ "reply": "null"
+ },
+ "memclnt_read_timeout": {
+ "reply": "null"
+ },
+ "rx_thread_exit": {
+ "reply": "null"
+ },
+ "trace_plugin_msg_ids": {
+ "reply": "null"
+ },
+ "memclnt_create": {
+ "reply": "memclnt_create_reply"
+ },
+ "memclnt_delete": {
+ "reply": "memclnt_delete_reply"
+ },
+ "rpc_call": {
+ "reply": "rpc_call_reply"
+ },
+ "get_first_msg_id": {
+ "reply": "get_first_msg_id_reply"
+ },
+ "api_versions": {
+ "reply": "api_versions_reply"
+ },
+ "sockclnt_create": {
+ "reply": "sockclnt_create_reply"
+ },
+ "sockclnt_delete": {
+ "reply": "sockclnt_delete_reply"
+ },
+ "sock_init_shm": {
+ "reply": "sock_init_shm_reply"
+ },
+ "memclnt_keepalive": {
+ "reply": "memclnt_keepalive_reply"
+ }
+ },
+ "options": {
+ "version": "2.1.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x8d3dd881"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/mfib_types.api.json b/internal/testbinapi/binapi2001/.vppapi/core/mfib_types.api.json
new file mode 100644
index 0000000..a33b76f
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/mfib_types.api.json
@@ -0,0 +1,786 @@
+{
+ "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
+ ]
+ ],
+ [
+ "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"
+ ]
+ ],
+ [
+ "mfib_path",
+ [
+ "vl_api_mfib_itf_flags_t",
+ "itf_flags"
+ ],
+ [
+ "vl_api_fib_path_t",
+ "path"
+ ]
+ ]
+ ],
+ "messages": [],
+ "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"
+ }
+ ],
+ [
+ "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"
+ }
+ ],
+ [
+ "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"
+ }
+ ],
+ [
+ "mfib_itf_flags",
+ [
+ "MFIB_API_ITF_FLAG_NONE",
+ 0
+ ],
+ [
+ "MFIB_API_ITF_FLAG_NEGATE_SIGNAL",
+ 1
+ ],
+ [
+ "MFIB_API_ITF_FLAG_ACCEPT",
+ 2
+ ],
+ [
+ "MFIB_API_ITF_FLAG_FORWARD",
+ 4
+ ],
+ [
+ "MFIB_API_ITF_FLAG_SIGNAL_PRESENT",
+ 8
+ ],
+ [
+ "MFIB_API_ITF_FLAG_DONT_PRESERVE",
+ 16
+ ],
+ {
+ "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": "0xba024d84"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/mpls.api.json b/internal/testbinapi/binapi2001/.vppapi/core/mpls.api.json
new file mode 100644
index 0000000..a9797ba
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/mpls.api.json
@@ -0,0 +1,1378 @@
+{
+ "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
+ ]
+ ],
+ [
+ "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"
+ ]
+ ],
+ [
+ "mpls_tunnel",
+ [
+ "vl_api_interface_index_t",
+ "mt_sw_if_index"
+ ],
+ [
+ "u32",
+ "mt_tunnel_index"
+ ],
+ [
+ "bool",
+ "mt_l2_only"
+ ],
+ [
+ "bool",
+ "mt_is_multicast"
+ ],
+ [
+ "u8",
+ "mt_n_paths"
+ ],
+ [
+ "vl_api_fib_path_t",
+ "mt_paths",
+ 0,
+ "mt_n_paths"
+ ]
+ ],
+ [
+ "mpls_table",
+ [
+ "u32",
+ "mt_table_id"
+ ],
+ [
+ "string",
+ "mt_name",
+ 64
+ ]
+ ],
+ [
+ "mpls_route",
+ [
+ "u32",
+ "mr_table_id"
+ ],
+ [
+ "u32",
+ "mr_label"
+ ],
+ [
+ "u8",
+ "mr_eos"
+ ],
+ [
+ "u8",
+ "mr_eos_proto"
+ ],
+ [
+ "bool",
+ "mr_is_multicast"
+ ],
+ [
+ "u8",
+ "mr_n_paths"
+ ],
+ [
+ "vl_api_fib_path_t",
+ "mr_paths",
+ 0,
+ "mr_n_paths"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "mpls_ip_bind_unbind",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "mb_mpls_table_id"
+ ],
+ [
+ "u32",
+ "mb_label"
+ ],
+ [
+ "u32",
+ "mb_ip_table_id"
+ ],
+ [
+ "bool",
+ "mb_is_bind"
+ ],
+ [
+ "vl_api_prefix_t",
+ "mb_prefix"
+ ],
+ {
+ "crc": "0x48249a27"
+ }
+ ],
+ [
+ "mpls_ip_bind_unbind_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "mpls_tunnel_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "mt_is_add",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "vl_api_mpls_tunnel_t",
+ "mt_tunnel"
+ ],
+ {
+ "crc": "0x0de2478e"
+ }
+ ],
+ [
+ "mpls_tunnel_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "tunnel_index"
+ ],
+ {
+ "crc": "0xafb01472"
+ }
+ ],
+ [
+ "mpls_tunnel_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "mpls_tunnel_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_mpls_tunnel_t",
+ "mt_tunnel"
+ ],
+ {
+ "crc": "0xbdc55cce"
+ }
+ ],
+ [
+ "mpls_table_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "mt_is_add",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "vl_api_mpls_table_t",
+ "mt_table"
+ ],
+ {
+ "crc": "0x57817512"
+ }
+ ],
+ [
+ "mpls_table_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "mpls_table_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "mpls_table_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_mpls_table_t",
+ "mt_table"
+ ],
+ {
+ "crc": "0xf03ecdc8"
+ }
+ ],
+ [
+ "mpls_route_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "mr_is_add"
+ ],
+ [
+ "bool",
+ "mr_is_multipath"
+ ],
+ [
+ "vl_api_mpls_route_t",
+ "mr_route"
+ ],
+ {
+ "crc": "0x343cff54"
+ }
+ ],
+ [
+ "mpls_route_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "stats_index"
+ ],
+ {
+ "crc": "0x1992deab"
+ }
+ ],
+ [
+ "mpls_route_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_mpls_table_t",
+ "table"
+ ],
+ {
+ "crc": "0x935fdefa"
+ }
+ ],
+ [
+ "mpls_route_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_mpls_route_t",
+ "mr_route"
+ ],
+ {
+ "crc": "0xd0ac384c"
+ }
+ ],
+ [
+ "sw_interface_set_mpls_enable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable",
+ {
+ "default": "true"
+ }
+ ],
+ {
+ "crc": "0xae6cfcfb"
+ }
+ ],
+ [
+ "sw_interface_set_mpls_enable_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"
+ ]
+ ],
+ [
+ "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"
+ }
+ ],
+ [
+ "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": {
+ "mpls_ip_bind_unbind": {
+ "reply": "mpls_ip_bind_unbind_reply"
+ },
+ "mpls_tunnel_add_del": {
+ "reply": "mpls_tunnel_add_del_reply"
+ },
+ "mpls_tunnel_dump": {
+ "reply": "mpls_tunnel_details",
+ "stream": true
+ },
+ "mpls_table_add_del": {
+ "reply": "mpls_table_add_del_reply"
+ },
+ "mpls_table_dump": {
+ "reply": "mpls_table_details",
+ "stream": true
+ },
+ "mpls_route_add_del": {
+ "reply": "mpls_route_add_del_reply"
+ },
+ "mpls_route_dump": {
+ "reply": "mpls_route_details",
+ "stream": true
+ },
+ "sw_interface_set_mpls_enable": {
+ "reply": "sw_interface_set_mpls_enable_reply"
+ }
+ },
+ "options": {
+ "version": "1.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": "0xfe593e14"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/netmap.api.json b/internal/testbinapi/binapi2001/.vppapi/core/netmap.api.json
new file mode 100644
index 0000000..4dbd80c
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/netmap.api.json
@@ -0,0 +1,119 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "netmap_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "netmap_if_name",
+ 64
+ ],
+ [
+ "u8",
+ "hw_addr",
+ 6
+ ],
+ [
+ "u8",
+ "use_random_hw_addr"
+ ],
+ [
+ "u8",
+ "is_pipe"
+ ],
+ [
+ "u8",
+ "is_master"
+ ],
+ {
+ "crc": "0x5299044e"
+ }
+ ],
+ [
+ "netmap_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "netmap_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "netmap_if_name",
+ 64
+ ],
+ {
+ "crc": "0xa8b6c201"
+ }
+ ],
+ [
+ "netmap_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "netmap_create": {
+ "reply": "netmap_create_reply"
+ },
+ "netmap_delete": {
+ "reply": "netmap_delete_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x40e7a84f"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/nhrp.api.json b/internal/testbinapi/binapi2001/.vppapi/core/nhrp.api.json
new file mode 100644
index 0000000..d307086
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/nhrp.api.json
@@ -0,0 +1,561 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "nhrp_entry",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_address_t",
+ "peer"
+ ],
+ [
+ "vl_api_address_t",
+ "nh"
+ ],
+ [
+ "u32",
+ "nh_table_id"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "nhrp_entry_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "vl_api_nhrp_entry_t",
+ "entry"
+ ],
+ {
+ "crc": "0x5a47c531"
+ }
+ ],
+ [
+ "nhrp_entry_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "nhrp_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "nhrp_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_nhrp_entry_t",
+ "entry"
+ ],
+ {
+ "crc": "0xe351c50a"
+ }
+ ]
+ ],
+ "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": {
+ "nhrp_entry_add_del": {
+ "reply": "nhrp_entry_add_del_reply"
+ },
+ "nhrp_dump": {
+ "reply": "nhrp_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": "0xfb0453b2"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/one.api.json b/internal/testbinapi/binapi2001/.vppapi/core/one.api.json
new file mode 100644
index 0000000..6d3dcc4
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/one.api.json
@@ -0,0 +1,2867 @@
+{
+ "types": [
+ [
+ "one_local_locator",
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "priority"
+ ],
+ [
+ "u8",
+ "weight"
+ ]
+ ],
+ [
+ "one_remote_locator",
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "priority"
+ ],
+ [
+ "u8",
+ "weight"
+ ],
+ [
+ "u8",
+ "addr",
+ 16
+ ]
+ ],
+ [
+ "one_l2_arp_entry",
+ [
+ "u8",
+ "mac",
+ 6
+ ],
+ [
+ "u32",
+ "ip4"
+ ]
+ ],
+ [
+ "one_ndp_entry",
+ [
+ "u8",
+ "mac",
+ 6
+ ],
+ [
+ "u8",
+ "ip6",
+ 16
+ ]
+ ],
+ [
+ "one_adjacency",
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "reid",
+ 16
+ ],
+ [
+ "u8",
+ "leid",
+ 16
+ ],
+ [
+ "u8",
+ "reid_prefix_len"
+ ],
+ [
+ "u8",
+ "leid_prefix_len"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "one_add_del_locator_set",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ [
+ "u32",
+ "locator_num"
+ ],
+ [
+ "vl_api_one_local_locator_t",
+ "locators",
+ 0,
+ "locator_num"
+ ],
+ {
+ "crc": "0x2e73b050"
+ }
+ ],
+ [
+ "one_add_del_locator_set_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "ls_index"
+ ],
+ {
+ "crc": "0xb6666db4"
+ }
+ ],
+ [
+ "one_add_del_locator",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "priority"
+ ],
+ [
+ "u8",
+ "weight"
+ ],
+ {
+ "crc": "0x006a4240"
+ }
+ ],
+ [
+ "one_add_del_locator_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_add_del_local_eid",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "eid",
+ 16
+ ],
+ [
+ "u8",
+ "prefix_len"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u16",
+ "key_id"
+ ],
+ [
+ "u8",
+ "key",
+ 64
+ ],
+ {
+ "crc": "0xe6d00717"
+ }
+ ],
+ [
+ "one_add_del_local_eid_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_map_register_set_ttl",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "ttl"
+ ],
+ {
+ "crc": "0xdd59f1f3"
+ }
+ ],
+ [
+ "one_map_register_set_ttl_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "show_one_map_register_ttl",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_map_register_ttl_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "ttl"
+ ],
+ {
+ "crc": "0xfa83dd66"
+ }
+ ],
+ [
+ "one_add_del_map_server",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "ip_address",
+ 16
+ ],
+ {
+ "crc": "0x0ebcd37d"
+ }
+ ],
+ [
+ "one_add_del_map_server_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_add_del_map_resolver",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "ip_address",
+ 16
+ ],
+ {
+ "crc": "0x0ebcd37d"
+ }
+ ],
+ [
+ "one_add_del_map_resolver_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0xeb0e943b"
+ }
+ ],
+ [
+ "one_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_nsh_set_locator_set",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "ls_name",
+ 64
+ ],
+ {
+ "crc": "0x7aa022dd"
+ }
+ ],
+ [
+ "one_nsh_set_locator_set_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_pitr_set_locator_set",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "ls_name",
+ 64
+ ],
+ {
+ "crc": "0x7aa022dd"
+ }
+ ],
+ [
+ "one_pitr_set_locator_set_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_use_petr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "address",
+ 16
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ {
+ "crc": "0x6910787d"
+ }
+ ],
+ [
+ "one_use_petr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "show_one_use_petr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_use_petr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "status"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "address",
+ 16
+ ],
+ {
+ "crc": "0x1eb21916"
+ }
+ ],
+ [
+ "show_one_rloc_probe_state",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_rloc_probe_state_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "is_enabled"
+ ],
+ {
+ "crc": "0x14304fbc"
+ }
+ ],
+ [
+ "one_rloc_probe_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_enabled"
+ ],
+ {
+ "crc": "0x294103d1"
+ }
+ ],
+ [
+ "one_rloc_probe_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_map_register_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_enabled"
+ ],
+ {
+ "crc": "0x294103d1"
+ }
+ ],
+ [
+ "one_map_register_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "show_one_map_register_state",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_map_register_state_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "is_enabled"
+ ],
+ {
+ "crc": "0x14304fbc"
+ }
+ ],
+ [
+ "one_map_request_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "mode"
+ ],
+ {
+ "crc": "0xf3f93ce9"
+ }
+ ],
+ [
+ "one_map_request_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "show_one_map_request_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_map_request_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "mode"
+ ],
+ {
+ "crc": "0xd423107c"
+ }
+ ],
+ [
+ "one_add_del_remote_mapping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "is_src_dst"
+ ],
+ [
+ "u8",
+ "del_all"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "action"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "eid",
+ 16
+ ],
+ [
+ "u8",
+ "eid_len"
+ ],
+ [
+ "u8",
+ "seid",
+ 16
+ ],
+ [
+ "u8",
+ "seid_len"
+ ],
+ [
+ "u32",
+ "rloc_num"
+ ],
+ [
+ "vl_api_one_remote_locator_t",
+ "rlocs",
+ 0,
+ "rloc_num"
+ ],
+ {
+ "crc": "0x0b2010ec"
+ }
+ ],
+ [
+ "one_add_del_remote_mapping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_add_del_l2_arp_entry",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "mac",
+ 6
+ ],
+ [
+ "u32",
+ "bd"
+ ],
+ [
+ "u32",
+ "ip4"
+ ],
+ {
+ "crc": "0xa95cc2d7"
+ }
+ ],
+ [
+ "one_add_del_l2_arp_entry_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_l2_arp_entries_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd"
+ ],
+ {
+ "crc": "0x4d418cf4"
+ }
+ ],
+ [
+ "one_l2_arp_entries_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "vl_api_one_l2_arp_entry_t",
+ "entries",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0x88e54ded"
+ }
+ ],
+ [
+ "one_add_del_ndp_entry",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "mac",
+ 6
+ ],
+ [
+ "u32",
+ "bd"
+ ],
+ [
+ "u8",
+ "ip6",
+ 16
+ ],
+ {
+ "crc": "0xe9468fe3"
+ }
+ ],
+ [
+ "one_add_del_ndp_entry_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_ndp_entries_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bd"
+ ],
+ {
+ "crc": "0x4d418cf4"
+ }
+ ],
+ [
+ "one_ndp_entries_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "vl_api_one_ndp_entry_t",
+ "entries",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0xd0822f37"
+ }
+ ],
+ [
+ "one_set_transport_protocol",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ {
+ "crc": "0x07b6b85f"
+ }
+ ],
+ [
+ "one_set_transport_protocol_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_get_transport_protocol",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_get_transport_protocol_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ {
+ "crc": "0x62a28eb3"
+ }
+ ],
+ [
+ "one_ndp_bd_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_ndp_bd_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "u32",
+ "bridge_domains",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0x221ac888"
+ }
+ ],
+ [
+ "one_l2_arp_bd_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_l2_arp_bd_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "u32",
+ "bridge_domains",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0x221ac888"
+ }
+ ],
+ [
+ "one_add_del_adjacency",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "reid",
+ 16
+ ],
+ [
+ "u8",
+ "leid",
+ 16
+ ],
+ [
+ "u8",
+ "reid_len"
+ ],
+ [
+ "u8",
+ "leid_len"
+ ],
+ {
+ "crc": "0xf047390d"
+ }
+ ],
+ [
+ "one_add_del_adjacency_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_add_del_map_request_itr_rlocs",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ {
+ "crc": "0xc7c6cb2f"
+ }
+ ],
+ [
+ "one_add_del_map_request_itr_rlocs_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_eid_table_add_del_map",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u32",
+ "dp_table"
+ ],
+ [
+ "u8",
+ "is_l2"
+ ],
+ {
+ "crc": "0x59e9975e"
+ }
+ ],
+ [
+ "one_eid_table_add_del_map_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_locator_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "ls_index"
+ ],
+ [
+ "u8",
+ "ls_name",
+ 64
+ ],
+ [
+ "u8",
+ "is_index_set"
+ ],
+ {
+ "crc": "0xf27d5050"
+ }
+ ],
+ [
+ "one_locator_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "local"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "ip_address",
+ 16
+ ],
+ [
+ "u8",
+ "priority"
+ ],
+ [
+ "u8",
+ "weight"
+ ],
+ {
+ "crc": "0xb3988a30"
+ }
+ ],
+ [
+ "one_locator_set_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "ls_index"
+ ],
+ [
+ "u8",
+ "ls_name",
+ 64
+ ],
+ {
+ "crc": "0x6b846882"
+ }
+ ],
+ [
+ "one_locator_set_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "filter"
+ ],
+ {
+ "crc": "0xc79e8ab0"
+ }
+ ],
+ [
+ "one_eid_table_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "locator_set_index"
+ ],
+ [
+ "u8",
+ "action"
+ ],
+ [
+ "u8",
+ "is_local"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "is_src_dst"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "eid",
+ 16
+ ],
+ [
+ "u8",
+ "eid_prefix_len"
+ ],
+ [
+ "u8",
+ "seid",
+ 16
+ ],
+ [
+ "u8",
+ "seid_prefix_len"
+ ],
+ [
+ "u32",
+ "ttl"
+ ],
+ [
+ "u8",
+ "authoritative"
+ ],
+ [
+ "u16",
+ "key_id"
+ ],
+ [
+ "u8",
+ "key",
+ 64
+ ],
+ {
+ "crc": "0xdcd9f414"
+ }
+ ],
+ [
+ "one_eid_table_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "eid_set"
+ ],
+ [
+ "u8",
+ "prefix_length"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "eid",
+ 16
+ ],
+ [
+ "u8",
+ "filter"
+ ],
+ {
+ "crc": "0xe0df64da"
+ }
+ ],
+ [
+ "one_adjacencies_get_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "vl_api_one_adjacency_t",
+ "adjacencies",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0x60a3c592"
+ }
+ ],
+ [
+ "one_adjacencies_get",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ {
+ "crc": "0x8d1f2fe9"
+ }
+ ],
+ [
+ "one_eid_table_map_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u32",
+ "dp_table"
+ ],
+ {
+ "crc": "0x0b6859e2"
+ }
+ ],
+ [
+ "one_eid_table_map_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_l2"
+ ],
+ {
+ "crc": "0x67c54650"
+ }
+ ],
+ [
+ "one_eid_table_vni_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_eid_table_vni_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ {
+ "crc": "0x64abc01e"
+ }
+ ],
+ [
+ "one_map_resolver_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "ip_address",
+ 16
+ ],
+ {
+ "crc": "0x60a5f5ca"
+ }
+ ],
+ [
+ "one_map_resolver_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_map_server_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "ip_address",
+ 16
+ ],
+ {
+ "crc": "0x60a5f5ca"
+ }
+ ],
+ [
+ "one_map_server_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_status",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_status_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "feature_status"
+ ],
+ [
+ "u8",
+ "gpe_status"
+ ],
+ {
+ "crc": "0xddcf48ef"
+ }
+ ],
+ [
+ "one_get_map_request_itr_rlocs",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_get_map_request_itr_rlocs_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ {
+ "crc": "0x9f56f6f7"
+ }
+ ],
+ [
+ "show_one_nsh_mapping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_nsh_mapping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "is_set"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ {
+ "crc": "0xf2ff364e"
+ }
+ ],
+ [
+ "show_one_pitr",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_pitr_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "status"
+ ],
+ [
+ "u8",
+ "locator_set_name",
+ 64
+ ],
+ {
+ "crc": "0xdca512cc"
+ }
+ ],
+ [
+ "one_stats_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_stats_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "eid_type"
+ ],
+ [
+ "u8",
+ "deid",
+ 16
+ ],
+ [
+ "u8",
+ "seid",
+ 16
+ ],
+ [
+ "u8",
+ "deid_pref_len"
+ ],
+ [
+ "u8",
+ "seid_pref_len"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "rloc",
+ 16
+ ],
+ [
+ "u8",
+ "lloc",
+ 16
+ ],
+ [
+ "u32",
+ "pkt_count"
+ ],
+ [
+ "u32",
+ "bytes"
+ ],
+ {
+ "crc": "0xe1a34a05"
+ }
+ ],
+ [
+ "one_stats_flush",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_stats_flush_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_stats_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0xeb0e943b"
+ }
+ ],
+ [
+ "one_stats_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "show_one_stats_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_stats_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0x6b4c29dc"
+ }
+ ],
+ [
+ "one_map_register_fallback_threshold",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "value"
+ ],
+ {
+ "crc": "0xf7d4a475"
+ }
+ ],
+ [
+ "one_map_register_fallback_threshold_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "show_one_map_register_fallback_threshold",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_one_map_register_fallback_threshold_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "value"
+ ],
+ {
+ "crc": "0xc93a9113"
+ }
+ ],
+ [
+ "one_enable_disable_xtr_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0xeb0e943b"
+ }
+ ],
+ [
+ "one_enable_disable_xtr_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_show_xtr_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_show_xtr_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0x6b4c29dc"
+ }
+ ],
+ [
+ "one_enable_disable_petr_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0xeb0e943b"
+ }
+ ],
+ [
+ "one_enable_disable_petr_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_show_petr_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_show_petr_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0x6b4c29dc"
+ }
+ ],
+ [
+ "one_enable_disable_pitr_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0xeb0e943b"
+ }
+ ],
+ [
+ "one_enable_disable_pitr_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "one_show_pitr_mode",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "one_show_pitr_mode_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u8",
+ "is_en"
+ ],
+ {
+ "crc": "0x6b4c29dc"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "one_add_del_locator_set": {
+ "reply": "one_add_del_locator_set_reply"
+ },
+ "one_add_del_locator": {
+ "reply": "one_add_del_locator_reply"
+ },
+ "one_add_del_local_eid": {
+ "reply": "one_add_del_local_eid_reply"
+ },
+ "one_map_register_set_ttl": {
+ "reply": "one_map_register_set_ttl_reply"
+ },
+ "show_one_map_register_ttl": {
+ "reply": "show_one_map_register_ttl_reply"
+ },
+ "one_add_del_map_server": {
+ "reply": "one_add_del_map_server_reply"
+ },
+ "one_add_del_map_resolver": {
+ "reply": "one_add_del_map_resolver_reply"
+ },
+ "one_enable_disable": {
+ "reply": "one_enable_disable_reply"
+ },
+ "one_nsh_set_locator_set": {
+ "reply": "one_nsh_set_locator_set_reply"
+ },
+ "one_pitr_set_locator_set": {
+ "reply": "one_pitr_set_locator_set_reply"
+ },
+ "one_use_petr": {
+ "reply": "one_use_petr_reply"
+ },
+ "show_one_use_petr": {
+ "reply": "show_one_use_petr_reply"
+ },
+ "show_one_rloc_probe_state": {
+ "reply": "show_one_rloc_probe_state_reply"
+ },
+ "one_rloc_probe_enable_disable": {
+ "reply": "one_rloc_probe_enable_disable_reply"
+ },
+ "one_map_register_enable_disable": {
+ "reply": "one_map_register_enable_disable_reply"
+ },
+ "show_one_map_register_state": {
+ "reply": "show_one_map_register_state_reply"
+ },
+ "one_map_request_mode": {
+ "reply": "one_map_request_mode_reply"
+ },
+ "show_one_map_request_mode": {
+ "reply": "show_one_map_request_mode_reply"
+ },
+ "one_add_del_remote_mapping": {
+ "reply": "one_add_del_remote_mapping_reply"
+ },
+ "one_add_del_l2_arp_entry": {
+ "reply": "one_add_del_l2_arp_entry_reply"
+ },
+ "one_l2_arp_entries_get": {
+ "reply": "one_l2_arp_entries_get_reply"
+ },
+ "one_add_del_ndp_entry": {
+ "reply": "one_add_del_ndp_entry_reply"
+ },
+ "one_ndp_entries_get": {
+ "reply": "one_ndp_entries_get_reply"
+ },
+ "one_set_transport_protocol": {
+ "reply": "one_set_transport_protocol_reply"
+ },
+ "one_get_transport_protocol": {
+ "reply": "one_get_transport_protocol_reply"
+ },
+ "one_ndp_bd_get": {
+ "reply": "one_ndp_bd_get_reply"
+ },
+ "one_l2_arp_bd_get": {
+ "reply": "one_l2_arp_bd_get_reply"
+ },
+ "one_add_del_adjacency": {
+ "reply": "one_add_del_adjacency_reply"
+ },
+ "one_add_del_map_request_itr_rlocs": {
+ "reply": "one_add_del_map_request_itr_rlocs_reply"
+ },
+ "one_eid_table_add_del_map": {
+ "reply": "one_eid_table_add_del_map_reply"
+ },
+ "one_locator_dump": {
+ "reply": "one_locator_details",
+ "stream": true
+ },
+ "one_locator_set_dump": {
+ "reply": "one_locator_set_details",
+ "stream": true
+ },
+ "one_eid_table_dump": {
+ "reply": "one_eid_table_details",
+ "stream": true
+ },
+ "one_adjacencies_get": {
+ "reply": "one_adjacencies_get_reply"
+ },
+ "one_eid_table_map_dump": {
+ "reply": "one_eid_table_map_details",
+ "stream": true
+ },
+ "one_eid_table_vni_dump": {
+ "reply": "one_eid_table_vni_details",
+ "stream": true
+ },
+ "one_map_resolver_dump": {
+ "reply": "one_map_resolver_details",
+ "stream": true
+ },
+ "one_map_server_dump": {
+ "reply": "one_map_server_details",
+ "stream": true
+ },
+ "show_one_status": {
+ "reply": "show_one_status_reply"
+ },
+ "one_get_map_request_itr_rlocs": {
+ "reply": "one_get_map_request_itr_rlocs_reply"
+ },
+ "show_one_nsh_mapping": {
+ "reply": "show_one_nsh_mapping_reply"
+ },
+ "show_one_pitr": {
+ "reply": "show_one_pitr_reply"
+ },
+ "one_stats_dump": {
+ "reply": "one_stats_details",
+ "stream": true
+ },
+ "one_stats_flush": {
+ "reply": "one_stats_flush_reply"
+ },
+ "one_stats_enable_disable": {
+ "reply": "one_stats_enable_disable_reply"
+ },
+ "show_one_stats_enable_disable": {
+ "reply": "show_one_stats_enable_disable_reply"
+ },
+ "one_map_register_fallback_threshold": {
+ "reply": "one_map_register_fallback_threshold_reply"
+ },
+ "show_one_map_register_fallback_threshold": {
+ "reply": "show_one_map_register_fallback_threshold_reply"
+ },
+ "one_enable_disable_xtr_mode": {
+ "reply": "one_enable_disable_xtr_mode_reply"
+ },
+ "one_show_xtr_mode": {
+ "reply": "one_show_xtr_mode_reply"
+ },
+ "one_enable_disable_petr_mode": {
+ "reply": "one_enable_disable_petr_mode_reply"
+ },
+ "one_show_petr_mode": {
+ "reply": "one_show_petr_mode_reply"
+ },
+ "one_enable_disable_pitr_mode": {
+ "reply": "one_enable_disable_pitr_mode_reply"
+ },
+ "one_show_pitr_mode": {
+ "reply": "one_show_pitr_mode_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0xde9891c3"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/p2p_ethernet.api.json b/internal/testbinapi/binapi2001/.vppapi/core/p2p_ethernet.api.json
new file mode 100644
index 0000000..0ab4f51
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/p2p_ethernet.api.json
@@ -0,0 +1,277 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "p2p_ethernet_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "parent_if_index"
+ ],
+ [
+ "u32",
+ "subif_id"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "remote_mac"
+ ],
+ {
+ "crc": "0xeeb8e717"
+ }
+ ],
+ [
+ "p2p_ethernet_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "p2p_ethernet_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "parent_if_index"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "remote_mac"
+ ],
+ {
+ "crc": "0x0b62c386"
+ }
+ ],
+ [
+ "p2p_ethernet_del_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": {
+ "p2p_ethernet_add": {
+ "reply": "p2p_ethernet_add_reply"
+ },
+ "p2p_ethernet_del": {
+ "reply": "p2p_ethernet_del_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ }
+ },
+ "vl_api_version": "0x282f1ed1"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/pci_types.api.json b/internal/testbinapi/binapi2001/.vppapi/core/pci_types.api.json
new file mode 100644
index 0000000..079c508
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/pci_types.api.json
@@ -0,0 +1,32 @@
+{
+ "types": [
+ [
+ "pci_address",
+ [
+ "u16",
+ "domain"
+ ],
+ [
+ "u8",
+ "bus"
+ ],
+ [
+ "u8",
+ "slot"
+ ],
+ [
+ "u8",
+ "function"
+ ]
+ ]
+ ],
+ "messages": [],
+ "unions": [],
+ "enums": [],
+ "services": {},
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x5d418665"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/pg.api.json b/internal/testbinapi/binapi2001/.vppapi/core/pg.api.json
new file mode 100644
index 0000000..6b41f7d
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/pg.api.json
@@ -0,0 +1,183 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "pg_create_interface",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "interface_id"
+ ],
+ [
+ "u8",
+ "gso_enabled"
+ ],
+ [
+ "u32",
+ "gso_size"
+ ],
+ {
+ "crc": "0xb1ecff05"
+ }
+ ],
+ [
+ "pg_create_interface_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xfda5941f"
+ }
+ ],
+ [
+ "pg_capture",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "interface_id"
+ ],
+ [
+ "u8",
+ "is_enabled"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "u32",
+ "pcap_name_length"
+ ],
+ [
+ "u8",
+ "pcap_file_name",
+ 0,
+ "pcap_name_length"
+ ],
+ {
+ "crc": "0x453da78d"
+ }
+ ],
+ [
+ "pg_capture_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "pg_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_enabled"
+ ],
+ [
+ "u32",
+ "stream_name_length"
+ ],
+ [
+ "u8",
+ "stream_name",
+ 0,
+ "stream_name_length"
+ ],
+ {
+ "crc": "0x0cb71d10"
+ }
+ ],
+ [
+ "pg_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "pg_create_interface": {
+ "reply": "pg_create_interface_reply"
+ },
+ "pg_capture": {
+ "reply": "pg_capture_reply"
+ },
+ "pg_enable_disable": {
+ "reply": "pg_enable_disable_reply"
+ }
+ },
+ "options": {
+ "version": "1.1.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x2583e07b"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/pipe.api.json b/internal/testbinapi/binapi2001/.vppapi/core/pipe.api.json
new file mode 100644
index 0000000..973f56d
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/pipe.api.json
@@ -0,0 +1,319 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "pipe_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_specified"
+ ],
+ [
+ "u32",
+ "user_instance"
+ ],
+ {
+ "crc": "0xbb263bd3"
+ }
+ ],
+ [
+ "pipe_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "pipe_sw_if_index",
+ 2
+ ],
+ {
+ "crc": "0xd4c2c2b3"
+ }
+ ],
+ [
+ "pipe_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "pipe_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "pipe_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "pipe_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "pipe_sw_if_index",
+ 2
+ ],
+ [
+ "u32",
+ "instance"
+ ],
+ {
+ "crc": "0x43ac107a"
+ }
+ ]
+ ],
+ "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": {
+ "pipe_create": {
+ "reply": "pipe_create_reply"
+ },
+ "pipe_delete": {
+ "reply": "pipe_delete_reply"
+ },
+ "pipe_dump": {
+ "reply": "pipe_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.0.1"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x1d68f11"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/policer.api.json b/internal/testbinapi/binapi2001/.vppapi/core/policer.api.json
new file mode 100644
index 0000000..1a3f2ba
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/policer.api.json
@@ -0,0 +1,264 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "policer_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "name",
+ 64
+ ],
+ [
+ "u32",
+ "cir"
+ ],
+ [
+ "u32",
+ "eir"
+ ],
+ [
+ "u64",
+ "cb"
+ ],
+ [
+ "u64",
+ "eb"
+ ],
+ [
+ "u8",
+ "rate_type"
+ ],
+ [
+ "u8",
+ "round_type"
+ ],
+ [
+ "u8",
+ "type"
+ ],
+ [
+ "u8",
+ "color_aware"
+ ],
+ [
+ "u8",
+ "conform_action_type"
+ ],
+ [
+ "u8",
+ "conform_dscp"
+ ],
+ [
+ "u8",
+ "exceed_action_type"
+ ],
+ [
+ "u8",
+ "exceed_dscp"
+ ],
+ [
+ "u8",
+ "violate_action_type"
+ ],
+ [
+ "u8",
+ "violate_dscp"
+ ],
+ {
+ "crc": "0xdfea2be8"
+ }
+ ],
+ [
+ "policer_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "policer_index"
+ ],
+ {
+ "crc": "0xa177cef2"
+ }
+ ],
+ [
+ "policer_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "match_name_valid"
+ ],
+ [
+ "u8",
+ "match_name",
+ 64
+ ],
+ {
+ "crc": "0x8be04d34"
+ }
+ ],
+ [
+ "policer_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "name",
+ 64
+ ],
+ [
+ "u32",
+ "cir"
+ ],
+ [
+ "u32",
+ "eir"
+ ],
+ [
+ "u64",
+ "cb"
+ ],
+ [
+ "u64",
+ "eb"
+ ],
+ [
+ "u8",
+ "rate_type"
+ ],
+ [
+ "u8",
+ "round_type"
+ ],
+ [
+ "u8",
+ "type"
+ ],
+ [
+ "u8",
+ "conform_action_type"
+ ],
+ [
+ "u8",
+ "conform_dscp"
+ ],
+ [
+ "u8",
+ "exceed_action_type"
+ ],
+ [
+ "u8",
+ "exceed_dscp"
+ ],
+ [
+ "u8",
+ "violate_action_type"
+ ],
+ [
+ "u8",
+ "violate_dscp"
+ ],
+ [
+ "u8",
+ "single_rate"
+ ],
+ [
+ "u8",
+ "color_aware"
+ ],
+ [
+ "u32",
+ "scale"
+ ],
+ [
+ "u32",
+ "cir_tokens_per_period"
+ ],
+ [
+ "u32",
+ "pir_tokens_per_period"
+ ],
+ [
+ "u32",
+ "current_limit"
+ ],
+ [
+ "u32",
+ "current_bucket"
+ ],
+ [
+ "u32",
+ "extended_limit"
+ ],
+ [
+ "u32",
+ "extended_bucket"
+ ],
+ [
+ "u64",
+ "last_update_time"
+ ],
+ {
+ "crc": "0xff2765f0"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "policer_add_del": {
+ "reply": "policer_add_del_reply"
+ },
+ "policer_dump": {
+ "reply": "policer_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x4218ed4f"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/punt.api.json b/internal/testbinapi/binapi2001/.vppapi/core/punt.api.json
new file mode 100644
index 0000000..2ca291d
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/punt.api.json
@@ -0,0 +1,629 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "punt_l4",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_ip_proto_t",
+ "protocol"
+ ],
+ [
+ "u16",
+ "port"
+ ]
+ ],
+ [
+ "punt_ip_proto",
+ [
+ "vl_api_address_family_t",
+ "af"
+ ],
+ [
+ "vl_api_ip_proto_t",
+ "protocol"
+ ]
+ ],
+ [
+ "punt_exception",
+ [
+ "u32",
+ "id"
+ ]
+ ],
+ [
+ "punt",
+ [
+ "vl_api_punt_type_t",
+ "type"
+ ],
+ [
+ "vl_api_punt_union_t",
+ "punt"
+ ]
+ ],
+ [
+ "punt_reason",
+ [
+ "u32",
+ "id"
+ ],
+ [
+ "string",
+ "name",
+ 0
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "set_punt",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add"
+ ],
+ [
+ "vl_api_punt_t",
+ "punt"
+ ],
+ {
+ "crc": "0x83799618"
+ }
+ ],
+ [
+ "set_punt_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "punt_socket_register",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "header_version"
+ ],
+ [
+ "vl_api_punt_t",
+ "punt"
+ ],
+ [
+ "string",
+ "pathname",
+ 108
+ ],
+ {
+ "crc": "0xc8cd10fa"
+ }
+ ],
+ [
+ "punt_socket_register_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "string",
+ "pathname",
+ 108
+ ],
+ {
+ "crc": "0xbd30ae90"
+ }
+ ],
+ [
+ "punt_socket_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_punt_type_t",
+ "type"
+ ],
+ {
+ "crc": "0x52974935"
+ }
+ ],
+ [
+ "punt_socket_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_punt_t",
+ "punt"
+ ],
+ [
+ "string",
+ "pathname",
+ 108
+ ],
+ {
+ "crc": "0x1de0ce75"
+ }
+ ],
+ [
+ "punt_socket_deregister",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_punt_t",
+ "punt"
+ ],
+ {
+ "crc": "0x98a444f4"
+ }
+ ],
+ [
+ "punt_socket_deregister_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "punt_reason_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_punt_reason_t",
+ "reason"
+ ],
+ {
+ "crc": "0x5c0dd4fe"
+ }
+ ],
+ [
+ "punt_reason_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_punt_reason_t",
+ "reason"
+ ],
+ {
+ "crc": "0x2c9d4a40"
+ }
+ ]
+ ],
+ "unions": [
+ [
+ "address_union",
+ [
+ "vl_api_ip4_address_t",
+ "ip4"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "ip6"
+ ]
+ ],
+ [
+ "punt_union",
+ [
+ "vl_api_punt_exception_t",
+ "exception"
+ ],
+ [
+ "vl_api_punt_l4_t",
+ "l4"
+ ],
+ [
+ "vl_api_punt_ip_proto_t",
+ "ip_proto"
+ ]
+ ]
+ ],
+ "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"
+ }
+ ],
+ [
+ "punt_type",
+ [
+ "PUNT_API_TYPE_L4",
+ 1
+ ],
+ [
+ "PUNT_API_TYPE_IP_PROTO",
+ 2
+ ],
+ [
+ "PUNT_API_TYPE_EXCEPTION",
+ 3
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "set_punt": {
+ "reply": "set_punt_reply"
+ },
+ "punt_socket_register": {
+ "reply": "punt_socket_register_reply"
+ },
+ "punt_socket_dump": {
+ "reply": "punt_socket_details",
+ "stream": true
+ },
+ "punt_socket_deregister": {
+ "reply": "punt_socket_deregister_reply"
+ },
+ "punt_reason_dump": {
+ "reply": "punt_reason_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "2.2.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"
+ }
+ },
+ "vl_api_version": "0x51716f7f"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/qos.api.json b/internal/testbinapi/binapi2001/.vppapi/core/qos.api.json
new file mode 100644
index 0000000..81a5f07
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/qos.api.json
@@ -0,0 +1,956 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "qos_store",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_qos_source_t",
+ "input_source"
+ ],
+ [
+ "u8",
+ "value"
+ ]
+ ],
+ [
+ "qos_record",
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_qos_source_t",
+ "input_source"
+ ]
+ ],
+ [
+ "qos_egress_map_row",
+ [
+ "u8",
+ "outputs",
+ 256
+ ]
+ ],
+ [
+ "qos_egress_map",
+ [
+ "u32",
+ "id"
+ ],
+ [
+ "vl_api_qos_egress_map_row_t",
+ "rows",
+ 4
+ ]
+ ],
+ [
+ "qos_mark",
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "map_id"
+ ],
+ [
+ "vl_api_qos_source_t",
+ "output_source"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "qos_store_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "vl_api_qos_store_t",
+ "store"
+ ],
+ {
+ "crc": "0x3507235e"
+ }
+ ],
+ [
+ "qos_store_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "qos_store_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "qos_store_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_qos_store_t",
+ "store"
+ ],
+ {
+ "crc": "0x038a6d48"
+ }
+ ],
+ [
+ "qos_record_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "vl_api_qos_record_t",
+ "record"
+ ],
+ {
+ "crc": "0x25b33f88"
+ }
+ ],
+ [
+ "qos_record_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "qos_record_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "qos_record_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_qos_record_t",
+ "record"
+ ],
+ {
+ "crc": "0x4956ccdd"
+ }
+ ],
+ [
+ "qos_egress_map_update",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_qos_egress_map_t",
+ "map"
+ ],
+ {
+ "crc": "0x6d1c065f"
+ }
+ ],
+ [
+ "qos_egress_map_update_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "qos_egress_map_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "id"
+ ],
+ {
+ "crc": "0x3a91bde5"
+ }
+ ],
+ [
+ "qos_egress_map_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "qos_egress_map_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "qos_egress_map_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_qos_egress_map_t",
+ "map"
+ ],
+ {
+ "crc": "0x46c5653c"
+ }
+ ],
+ [
+ "qos_mark_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "enable",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "vl_api_qos_mark_t",
+ "mark"
+ ],
+ {
+ "crc": "0x1a010f74"
+ }
+ ],
+ [
+ "qos_mark_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "qos_mark_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "qos_mark_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_qos_mark_t",
+ "mark"
+ ],
+ {
+ "crc": "0x89fe81a9"
+ }
+ ],
+ [
+ "qos_mark_details_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"
+ }
+ ],
+ [
+ "qos_source",
+ [
+ "QOS_API_SOURCE_EXT",
+ 0
+ ],
+ [
+ "QOS_API_SOURCE_VLAN",
+ 1
+ ],
+ [
+ "QOS_API_SOURCE_MPLS",
+ 2
+ ],
+ [
+ "QOS_API_SOURCE_IP",
+ 3
+ ],
+ {
+ "enumtype": "u8"
+ }
+ ]
+ ],
+ "services": {
+ "qos_store_enable_disable": {
+ "reply": "qos_store_enable_disable_reply"
+ },
+ "qos_store_dump": {
+ "reply": "qos_store_details",
+ "stream": true
+ },
+ "qos_record_enable_disable": {
+ "reply": "qos_record_enable_disable_reply"
+ },
+ "qos_record_dump": {
+ "reply": "qos_record_details",
+ "stream": true
+ },
+ "qos_egress_map_update": {
+ "reply": "qos_egress_map_update_reply"
+ },
+ "qos_egress_map_delete": {
+ "reply": "qos_egress_map_delete_reply"
+ },
+ "qos_egress_map_dump": {
+ "reply": "qos_egress_map_details",
+ "stream": true
+ },
+ "qos_mark_enable_disable": {
+ "reply": "qos_mark_enable_disable_reply"
+ },
+ "qos_mark_dump": {
+ "reply": "qos_mark_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.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": "0x86291f7f"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/rd_cp.api.json b/internal/testbinapi/binapi2001/.vppapi/core/rd_cp.api.json
new file mode 100644
index 0000000..87bb44d
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/rd_cp.api.json
@@ -0,0 +1,222 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "ip6_nd_address_autoconfig",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "enable"
+ ],
+ [
+ "bool",
+ "install_default_routes"
+ ],
+ {
+ "crc": "0x9e14a4a7"
+ }
+ ],
+ [
+ "ip6_nd_address_autoconfig_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": {
+ "ip6_nd_address_autoconfig": {
+ "reply": "ip6_nd_address_autoconfig_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.1"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ }
+ },
+ "vl_api_version": "0x5269dfb9"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/session.api.json b/internal/testbinapi/binapi2001/.vppapi/core/session.api.json
new file mode 100644
index 0000000..11a2ebf
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/session.api.json
@@ -0,0 +1,1372 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "application_attach",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "initial_segment_size"
+ ],
+ [
+ "u64",
+ "options",
+ 16
+ ],
+ [
+ "u8",
+ "namespace_id_len"
+ ],
+ [
+ "u8",
+ "namespace_id",
+ 64
+ ],
+ {
+ "crc": "0x81d4f974"
+ }
+ ],
+ [
+ "application_attach_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u64",
+ "app_event_queue_address"
+ ],
+ [
+ "u8",
+ "n_fds"
+ ],
+ [
+ "u8",
+ "fd_flags"
+ ],
+ [
+ "u32",
+ "segment_size"
+ ],
+ [
+ "u8",
+ "segment_name_length"
+ ],
+ [
+ "u8",
+ "segment_name",
+ 128
+ ],
+ [
+ "u32",
+ "app_index"
+ ],
+ [
+ "u64",
+ "segment_handle"
+ ],
+ {
+ "crc": "0x581866e8"
+ }
+ ],
+ [
+ "app_attach",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "options",
+ 16
+ ],
+ [
+ "u8",
+ "namespace_id_len"
+ ],
+ [
+ "u8",
+ "namespace_id",
+ 64
+ ],
+ {
+ "crc": "0xed08f4bd"
+ }
+ ],
+ [
+ "app_attach_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u64",
+ "app_mq"
+ ],
+ [
+ "u64",
+ "vpp_ctrl_mq"
+ ],
+ [
+ "u8",
+ "vpp_ctrl_mq_thread"
+ ],
+ [
+ "u32",
+ "app_index"
+ ],
+ [
+ "u8",
+ "n_fds"
+ ],
+ [
+ "u8",
+ "fd_flags"
+ ],
+ [
+ "u32",
+ "segment_size"
+ ],
+ [
+ "u8",
+ "segment_name_length"
+ ],
+ [
+ "u8",
+ "segment_name",
+ 128
+ ],
+ [
+ "u64",
+ "segment_handle"
+ ],
+ {
+ "crc": "0x0112f647"
+ }
+ ],
+ [
+ "app_add_cert_key_pair",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u16",
+ "cert_len"
+ ],
+ [
+ "u16",
+ "certkey_len"
+ ],
+ [
+ "u8",
+ "certkey",
+ 0,
+ "certkey_len"
+ ],
+ {
+ "crc": "0x02eb8016"
+ }
+ ],
+ [
+ "app_add_cert_key_pair_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "index"
+ ],
+ {
+ "crc": "0xb42958d0"
+ }
+ ],
+ [
+ "app_del_cert_key_pair",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "index"
+ ],
+ {
+ "crc": "0x8ac76db6"
+ }
+ ],
+ [
+ "app_del_cert_key_pair_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "application_tls_cert_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "app_index"
+ ],
+ [
+ "u16",
+ "cert_len"
+ ],
+ [
+ "u8",
+ "cert",
+ 0,
+ "cert_len"
+ ],
+ {
+ "crc": "0x3f5cfe45"
+ }
+ ],
+ [
+ "application_tls_cert_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "application_tls_key_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "app_index"
+ ],
+ [
+ "u16",
+ "key_len"
+ ],
+ [
+ "u8",
+ "key",
+ 0,
+ "key_len"
+ ],
+ {
+ "crc": "0x5eaf70cd"
+ }
+ ],
+ [
+ "application_tls_key_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "application_detach",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "application_detach_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "map_another_segment",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "fd_flags"
+ ],
+ [
+ "u32",
+ "segment_size"
+ ],
+ [
+ "u8",
+ "segment_name",
+ 128
+ ],
+ [
+ "u64",
+ "segment_handle"
+ ],
+ {
+ "crc": "0xdc2d630b"
+ }
+ ],
+ [
+ "map_another_segment_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "unmap_segment",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "segment_handle"
+ ],
+ {
+ "crc": "0xf77096f6"
+ }
+ ],
+ [
+ "unmap_segment_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "bind_uri",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "accept_cookie"
+ ],
+ [
+ "u8",
+ "uri",
+ 128
+ ],
+ {
+ "crc": "0xfae140cb"
+ }
+ ],
+ [
+ "bind_uri_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "unbind_uri",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "uri",
+ 128
+ ],
+ {
+ "crc": "0x294cf07d"
+ }
+ ],
+ [
+ "unbind_uri_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "connect_uri",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "client_queue_address"
+ ],
+ [
+ "u64",
+ "options",
+ 16
+ ],
+ [
+ "u8",
+ "uri",
+ 128
+ ],
+ {
+ "crc": "0xa36143d6"
+ }
+ ],
+ [
+ "connect_uri_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "disconnect_session",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "handle"
+ ],
+ {
+ "crc": "0x7279205b"
+ }
+ ],
+ [
+ "disconnect_session_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u64",
+ "handle"
+ ],
+ {
+ "crc": "0xd6960a03"
+ }
+ ],
+ [
+ "bind_sock",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "wrk_index"
+ ],
+ [
+ "u32",
+ "vrf"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "ip",
+ 16
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "u8",
+ "proto"
+ ],
+ [
+ "u64",
+ "options",
+ 16
+ ],
+ {
+ "crc": "0x0394633f"
+ }
+ ],
+ [
+ "bind_sock_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "unbind_sock",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "wrk_index"
+ ],
+ [
+ "u64",
+ "handle"
+ ],
+ {
+ "crc": "0x08880908"
+ }
+ ],
+ [
+ "unbind_sock_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "connect_sock",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "wrk_index"
+ ],
+ [
+ "u64",
+ "client_queue_address"
+ ],
+ [
+ "u64",
+ "options",
+ 16
+ ],
+ [
+ "u32",
+ "vrf"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "ip",
+ 16
+ ],
+ [
+ "u16",
+ "port"
+ ],
+ [
+ "u8",
+ "proto"
+ ],
+ [
+ "u64",
+ "parent_handle"
+ ],
+ [
+ "u8",
+ "hostname_len"
+ ],
+ [
+ "u8",
+ "hostname",
+ 0,
+ "hostname_len"
+ ],
+ {
+ "crc": "0xd2b460ca"
+ }
+ ],
+ [
+ "connect_sock_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "app_cut_through_registration_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "evt_q_address"
+ ],
+ [
+ "u64",
+ "peer_evt_q_address"
+ ],
+ [
+ "u32",
+ "wrk_index"
+ ],
+ [
+ "u8",
+ "n_fds"
+ ],
+ [
+ "u8",
+ "fd_flags"
+ ],
+ {
+ "crc": "0x6d73b1b9"
+ }
+ ],
+ [
+ "app_cut_through_registration_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "app_worker_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "app_index"
+ ],
+ [
+ "u32",
+ "wrk_index"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ {
+ "crc": "0x6d2b2279"
+ }
+ ],
+ [
+ "app_worker_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "wrk_index"
+ ],
+ [
+ "u64",
+ "app_event_queue_address"
+ ],
+ [
+ "u8",
+ "n_fds"
+ ],
+ [
+ "u8",
+ "fd_flags"
+ ],
+ [
+ "u8",
+ "segment_name_length"
+ ],
+ [
+ "u8",
+ "segment_name",
+ 128
+ ],
+ [
+ "u64",
+ "segment_handle"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ {
+ "crc": "0x56b21abc"
+ }
+ ],
+ [
+ "session_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_enable"
+ ],
+ {
+ "crc": "0x30ac9be7"
+ }
+ ],
+ [
+ "session_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "app_namespace_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "secret"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "ip4_fib_id"
+ ],
+ [
+ "u32",
+ "ip6_fib_id"
+ ],
+ [
+ "u8",
+ "namespace_id_len"
+ ],
+ [
+ "u8",
+ "namespace_id",
+ 64
+ ],
+ {
+ "crc": "0xdd074c65"
+ }
+ ],
+ [
+ "app_namespace_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "appns_index"
+ ],
+ {
+ "crc": "0x85137120"
+ }
+ ],
+ [
+ "session_rule_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "transport_proto"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "lcl_ip",
+ 16
+ ],
+ [
+ "u8",
+ "lcl_plen"
+ ],
+ [
+ "u8",
+ "rmt_ip",
+ 16
+ ],
+ [
+ "u8",
+ "rmt_plen"
+ ],
+ [
+ "u16",
+ "lcl_port"
+ ],
+ [
+ "u16",
+ "rmt_port"
+ ],
+ [
+ "u32",
+ "action_index"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u32",
+ "appns_index"
+ ],
+ [
+ "u8",
+ "scope"
+ ],
+ [
+ "u8",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0x4ab2eb06"
+ }
+ ],
+ [
+ "session_rule_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "session_rules_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "session_rules_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "transport_proto"
+ ],
+ [
+ "u8",
+ "is_ip4"
+ ],
+ [
+ "u8",
+ "lcl_ip",
+ 16
+ ],
+ [
+ "u8",
+ "lcl_plen"
+ ],
+ [
+ "u8",
+ "rmt_ip",
+ 16
+ ],
+ [
+ "u8",
+ "rmt_plen"
+ ],
+ [
+ "u16",
+ "lcl_port"
+ ],
+ [
+ "u16",
+ "rmt_port"
+ ],
+ [
+ "u32",
+ "action_index"
+ ],
+ [
+ "u32",
+ "appns_index"
+ ],
+ [
+ "u8",
+ "scope"
+ ],
+ [
+ "u8",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0xa52b0e96"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "application_attach": {
+ "reply": "application_attach_reply"
+ },
+ "app_attach": {
+ "reply": "app_attach_reply"
+ },
+ "app_add_cert_key_pair": {
+ "reply": "app_add_cert_key_pair_reply"
+ },
+ "app_del_cert_key_pair": {
+ "reply": "app_del_cert_key_pair_reply"
+ },
+ "application_tls_cert_add": {
+ "reply": "application_tls_cert_add_reply"
+ },
+ "application_tls_key_add": {
+ "reply": "application_tls_key_add_reply"
+ },
+ "application_detach": {
+ "reply": "application_detach_reply"
+ },
+ "map_another_segment": {
+ "reply": "map_another_segment_reply"
+ },
+ "unmap_segment": {
+ "reply": "unmap_segment_reply"
+ },
+ "bind_uri": {
+ "reply": "bind_uri_reply"
+ },
+ "unbind_uri": {
+ "reply": "unbind_uri_reply"
+ },
+ "connect_uri": {
+ "reply": "connect_uri_reply"
+ },
+ "disconnect_session": {
+ "reply": "disconnect_session_reply"
+ },
+ "bind_sock": {
+ "reply": "bind_sock_reply"
+ },
+ "unbind_sock": {
+ "reply": "unbind_sock_reply"
+ },
+ "connect_sock": {
+ "reply": "connect_sock_reply"
+ },
+ "app_cut_through_registration_add": {
+ "reply": "app_cut_through_registration_add_reply"
+ },
+ "app_worker_add_del": {
+ "reply": "app_worker_add_del_reply"
+ },
+ "session_enable_disable": {
+ "reply": "session_enable_disable_reply"
+ },
+ "app_namespace_add_del": {
+ "reply": "app_namespace_add_del_reply"
+ },
+ "session_rule_add_del": {
+ "reply": "session_rule_add_del_reply"
+ },
+ "session_rules_dump": {
+ "reply": "session_rules_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.7.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0xdf888b15"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/span.api.json b/internal/testbinapi/binapi2001/.vppapi/core/span.api.json
new file mode 100644
index 0000000..0063d9b
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/span.api.json
@@ -0,0 +1,125 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "sw_interface_span_enable_disable",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index_from"
+ ],
+ [
+ "u32",
+ "sw_if_index_to"
+ ],
+ [
+ "u8",
+ "state"
+ ],
+ [
+ "u8",
+ "is_l2"
+ ],
+ {
+ "crc": "0x7216258d"
+ }
+ ],
+ [
+ "sw_interface_span_enable_disable_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_span_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_l2"
+ ],
+ {
+ "crc": "0x67c54650"
+ }
+ ],
+ [
+ "sw_interface_span_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index_from"
+ ],
+ [
+ "u32",
+ "sw_if_index_to"
+ ],
+ [
+ "u8",
+ "state"
+ ],
+ [
+ "u8",
+ "is_l2"
+ ],
+ {
+ "crc": "0x23966371"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "sw_interface_span_enable_disable": {
+ "reply": "sw_interface_span_enable_disable_reply"
+ },
+ "sw_interface_span_dump": {
+ "reply": "sw_interface_span_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x10769b5"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/sr.api.json b/internal/testbinapi/binapi2001/.vppapi/core/sr.api.json
new file mode 100644
index 0000000..8f51656
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/sr.api.json
@@ -0,0 +1,656 @@
+{
+ "types": [
+ [
+ "srv6_sid",
+ [
+ "u8",
+ "addr",
+ 16
+ ]
+ ],
+ [
+ "srv6_sid_list",
+ [
+ "u8",
+ "num_sids"
+ ],
+ [
+ "u32",
+ "weight"
+ ],
+ [
+ "vl_api_srv6_sid_t",
+ "sids",
+ 16
+ ]
+ ],
+ [
+ "sr_ip6_address",
+ [
+ "u8",
+ "data",
+ 16
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "sr_localsid_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_del"
+ ],
+ [
+ "vl_api_srv6_sid_t",
+ "localsid"
+ ],
+ [
+ "u8",
+ "end_psp"
+ ],
+ [
+ "u8",
+ "behavior"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "vlan_index"
+ ],
+ [
+ "u32",
+ "fib_table"
+ ],
+ [
+ "u8",
+ "nh_addr6",
+ 16
+ ],
+ [
+ "u8",
+ "nh_addr4",
+ 4
+ ],
+ {
+ "crc": "0xb30489eb"
+ }
+ ],
+ [
+ "sr_localsid_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_policy_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "bsid_addr",
+ 16
+ ],
+ [
+ "u32",
+ "weight"
+ ],
+ [
+ "u8",
+ "is_encap"
+ ],
+ [
+ "u8",
+ "type"
+ ],
+ [
+ "u32",
+ "fib_table"
+ ],
+ [
+ "vl_api_srv6_sid_list_t",
+ "sids"
+ ],
+ {
+ "crc": "0x4b6e2484"
+ }
+ ],
+ [
+ "sr_policy_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_policy_mod",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "bsid_addr",
+ 16
+ ],
+ [
+ "u32",
+ "sr_policy_index"
+ ],
+ [
+ "u32",
+ "fib_table"
+ ],
+ [
+ "u8",
+ "operation"
+ ],
+ [
+ "u32",
+ "sl_index"
+ ],
+ [
+ "u32",
+ "weight"
+ ],
+ [
+ "vl_api_srv6_sid_list_t",
+ "sids"
+ ],
+ {
+ "crc": "0xc1dfaee0"
+ }
+ ],
+ [
+ "sr_policy_mod_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_policy_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_srv6_sid_t",
+ "bsid_addr"
+ ],
+ [
+ "u32",
+ "sr_policy_index"
+ ],
+ {
+ "crc": "0xe4133171"
+ }
+ ],
+ [
+ "sr_policy_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_set_encap_source",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "encaps_source",
+ 16
+ ],
+ {
+ "crc": "0xd05bb4de"
+ }
+ ],
+ [
+ "sr_set_encap_source_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_set_encap_hop_limit",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "hop_limit"
+ ],
+ {
+ "crc": "0xaa75d7d0"
+ }
+ ],
+ [
+ "sr_set_encap_hop_limit_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_steering_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_del"
+ ],
+ [
+ "u8",
+ "bsid_addr",
+ 16
+ ],
+ [
+ "u32",
+ "sr_policy_index"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u8",
+ "prefix_addr",
+ 16
+ ],
+ [
+ "u32",
+ "mask_width"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "traffic_type"
+ ],
+ {
+ "crc": "0x28b5dcab"
+ }
+ ],
+ [
+ "sr_steering_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_localsids_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "sr_localsids_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_srv6_sid_t",
+ "addr"
+ ],
+ [
+ "u8",
+ "end_psp"
+ ],
+ [
+ "u16",
+ "behavior"
+ ],
+ [
+ "u32",
+ "fib_table"
+ ],
+ [
+ "u32",
+ "vlan_index"
+ ],
+ [
+ "u8",
+ "xconnect_nh_addr6",
+ 16
+ ],
+ [
+ "u8",
+ "xconnect_nh_addr4",
+ 4
+ ],
+ [
+ "u32",
+ "xconnect_iface_or_vrf_table"
+ ],
+ {
+ "crc": "0x0791babc"
+ }
+ ],
+ [
+ "sr_policies_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "sr_policies_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_srv6_sid_t",
+ "bsid"
+ ],
+ [
+ "u8",
+ "type"
+ ],
+ [
+ "u8",
+ "is_encap"
+ ],
+ [
+ "u32",
+ "fib_table"
+ ],
+ [
+ "u8",
+ "num_sid_lists"
+ ],
+ [
+ "vl_api_srv6_sid_list_t",
+ "sid_lists",
+ 0,
+ "num_sid_lists"
+ ],
+ {
+ "crc": "0x5087f460"
+ }
+ ],
+ [
+ "sr_steering_pol_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "sr_steering_pol_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "traffic_type"
+ ],
+ [
+ "u32",
+ "fib_table"
+ ],
+ [
+ "u8",
+ "prefix_addr",
+ 16
+ ],
+ [
+ "u32",
+ "mask_width"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_srv6_sid_t",
+ "bsid"
+ ],
+ {
+ "crc": "0x5627d483"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "sr_localsid_add_del": {
+ "reply": "sr_localsid_add_del_reply"
+ },
+ "sr_policy_add": {
+ "reply": "sr_policy_add_reply"
+ },
+ "sr_policy_mod": {
+ "reply": "sr_policy_mod_reply"
+ },
+ "sr_policy_del": {
+ "reply": "sr_policy_del_reply"
+ },
+ "sr_set_encap_source": {
+ "reply": "sr_set_encap_source_reply"
+ },
+ "sr_set_encap_hop_limit": {
+ "reply": "sr_set_encap_hop_limit_reply"
+ },
+ "sr_steering_add_del": {
+ "reply": "sr_steering_add_del_reply"
+ },
+ "sr_localsids_dump": {
+ "reply": "sr_localsids_details",
+ "stream": true
+ },
+ "sr_policies_dump": {
+ "reply": "sr_policies_details",
+ "stream": true
+ },
+ "sr_steering_pol_dump": {
+ "reply": "sr_steering_pol_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.2.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0xbf277f96"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/sr_mpls.api.json b/internal/testbinapi/binapi2001/.vppapi/core/sr_mpls.api.json
new file mode 100644
index 0000000..6fc2497
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/sr_mpls.api.json
@@ -0,0 +1,324 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "sr_mpls_policy_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bsid"
+ ],
+ [
+ "u32",
+ "weight"
+ ],
+ [
+ "u8",
+ "type"
+ ],
+ [
+ "u8",
+ "n_segments"
+ ],
+ [
+ "u32",
+ "segments",
+ 0,
+ "n_segments"
+ ],
+ {
+ "crc": "0x6f5b21cc"
+ }
+ ],
+ [
+ "sr_mpls_policy_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_mpls_policy_mod",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bsid"
+ ],
+ [
+ "u8",
+ "operation"
+ ],
+ [
+ "u32",
+ "sl_index"
+ ],
+ [
+ "u32",
+ "weight"
+ ],
+ [
+ "u8",
+ "n_segments"
+ ],
+ [
+ "u32",
+ "segments",
+ 0,
+ "n_segments"
+ ],
+ {
+ "crc": "0x09d338ac"
+ }
+ ],
+ [
+ "sr_mpls_policy_mod_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_mpls_policy_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bsid"
+ ],
+ {
+ "crc": "0xe29d34fa"
+ }
+ ],
+ [
+ "sr_mpls_policy_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_mpls_steering_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_del"
+ ],
+ [
+ "u32",
+ "bsid"
+ ],
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u8",
+ "prefix_addr",
+ 16
+ ],
+ [
+ "u32",
+ "mask_width"
+ ],
+ [
+ "u8",
+ "traffic_type"
+ ],
+ [
+ "u8",
+ "next_hop",
+ 16
+ ],
+ [
+ "u8",
+ "nh_type"
+ ],
+ [
+ "u32",
+ "color"
+ ],
+ [
+ "u8",
+ "co_bits"
+ ],
+ [
+ "u32",
+ "vpn_label"
+ ],
+ {
+ "crc": "0x1591f94a"
+ }
+ ],
+ [
+ "sr_mpls_steering_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sr_mpls_policy_assign_endpoint_color",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "bsid"
+ ],
+ [
+ "u8",
+ "endpoint",
+ 16
+ ],
+ [
+ "u8",
+ "endpoint_type"
+ ],
+ [
+ "u32",
+ "color"
+ ],
+ {
+ "crc": "0x6c82a6da"
+ }
+ ],
+ [
+ "sr_mpls_policy_assign_endpoint_color_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "sr_mpls_policy_add": {
+ "reply": "sr_mpls_policy_add_reply"
+ },
+ "sr_mpls_policy_mod": {
+ "reply": "sr_mpls_policy_mod_reply"
+ },
+ "sr_mpls_policy_del": {
+ "reply": "sr_mpls_policy_del_reply"
+ },
+ "sr_mpls_steering_add_del": {
+ "reply": "sr_mpls_steering_add_del_reply"
+ },
+ "sr_mpls_policy_assign_endpoint_color": {
+ "reply": "sr_mpls_policy_assign_endpoint_color_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x933a0861"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/syslog.api.json b/internal/testbinapi/binapi2001/.vppapi/core/syslog.api.json
new file mode 100644
index 0000000..93923b5
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/syslog.api.json
@@ -0,0 +1,542 @@
+{
+ "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": [
+ [
+ "syslog_set_sender",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "src_address"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "collector_address"
+ ],
+ [
+ "u16",
+ "collector_port"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "u32",
+ "max_msg_size"
+ ],
+ {
+ "crc": "0xbb641285"
+ }
+ ],
+ [
+ "syslog_set_sender_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "syslog_get_sender",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "syslog_get_sender_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "src_address"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "collector_address"
+ ],
+ [
+ "u16",
+ "collector_port"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "u32",
+ "max_msg_size"
+ ],
+ {
+ "crc": "0xd3da60ac"
+ }
+ ],
+ [
+ "syslog_set_filter",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_syslog_severity_t",
+ "severity"
+ ],
+ {
+ "crc": "0x571348c3"
+ }
+ ],
+ [
+ "syslog_set_filter_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "syslog_get_filter",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "syslog_get_filter_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_syslog_severity_t",
+ "severity"
+ ],
+ {
+ "crc": "0xeb1833f8"
+ }
+ ]
+ ],
+ "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"
+ }
+ ],
+ [
+ "syslog_severity",
+ [
+ "SYSLOG_API_SEVERITY_EMERG",
+ 0
+ ],
+ [
+ "SYSLOG_API_SEVERITY_ALERT",
+ 1
+ ],
+ [
+ "SYSLOG_API_SEVERITY_CRIT",
+ 2
+ ],
+ [
+ "SYSLOG_API_SEVERITY_ERR",
+ 3
+ ],
+ [
+ "SYSLOG_API_SEVERITY_WARN",
+ 4
+ ],
+ [
+ "SYSLOG_API_SEVERITY_NOTICE",
+ 5
+ ],
+ [
+ "SYSLOG_API_SEVERITY_INFO",
+ 6
+ ],
+ [
+ "SYSLOG_API_SEVERITY_DBG",
+ 7
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "syslog_set_sender": {
+ "reply": "syslog_set_sender_reply"
+ },
+ "syslog_get_sender": {
+ "reply": "syslog_get_sender_reply"
+ },
+ "syslog_set_filter": {
+ "reply": "syslog_set_filter_reply"
+ },
+ "syslog_get_filter": {
+ "reply": "syslog_get_filter_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": "0xb0790f43"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/tapv2.api.json b/internal/testbinapi/binapi2001/.vppapi/core/tapv2.api.json
new file mode 100644
index 0000000..c36b943
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/tapv2.api.json
@@ -0,0 +1,775 @@
+{
+ "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": [
+ [
+ "tap_create_v2",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "id",
+ {
+ "default": 4294967295
+ }
+ ],
+ [
+ "bool",
+ "use_random_mac",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ [
+ "u8",
+ "num_rx_queues",
+ {
+ "default": 1
+ }
+ ],
+ [
+ "u16",
+ "tx_ring_sz"
+ ],
+ [
+ "u16",
+ "rx_ring_sz"
+ ],
+ [
+ "bool",
+ "host_mtu_set"
+ ],
+ [
+ "u32",
+ "host_mtu_size"
+ ],
+ [
+ "bool",
+ "host_mac_addr_set"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "host_mac_addr"
+ ],
+ [
+ "bool",
+ "host_ip4_prefix_set"
+ ],
+ [
+ "vl_api_ip4_address_with_prefix_t",
+ "host_ip4_prefix"
+ ],
+ [
+ "bool",
+ "host_ip6_prefix_set"
+ ],
+ [
+ "vl_api_ip6_address_with_prefix_t",
+ "host_ip6_prefix"
+ ],
+ [
+ "bool",
+ "host_ip4_gw_set"
+ ],
+ [
+ "vl_api_ip4_address_t",
+ "host_ip4_gw"
+ ],
+ [
+ "bool",
+ "host_ip6_gw_set"
+ ],
+ [
+ "vl_api_ip6_address_t",
+ "host_ip6_gw"
+ ],
+ [
+ "vl_api_tap_flags_t",
+ "tap_flags"
+ ],
+ [
+ "bool",
+ "host_namespace_set"
+ ],
+ [
+ "string",
+ "host_namespace",
+ 64
+ ],
+ [
+ "bool",
+ "host_if_name_set"
+ ],
+ [
+ "string",
+ "host_if_name",
+ 64
+ ],
+ [
+ "bool",
+ "host_bridge_set"
+ ],
+ [
+ "string",
+ "host_bridge",
+ 64
+ ],
+ [
+ "string",
+ "tag",
+ 0
+ ],
+ {
+ "crc": "0x445835fd"
+ }
+ ],
+ [
+ "tap_create_v2_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "tap_delete_v2",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "tap_delete_v2_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_tap_v2_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index",
+ {
+ "default": 4294967295
+ }
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "sw_interface_tap_v2_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "id"
+ ],
+ [
+ "u16",
+ "tx_ring_sz"
+ ],
+ [
+ "u16",
+ "rx_ring_sz"
+ ],
+ [
+ "u32",
+ "host_mtu_size"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "host_mac_addr"
+ ],
+ [
+ "vl_api_ip4_address_with_prefix_t",
+ "host_ip4_prefix"
+ ],
+ [
+ "vl_api_ip6_address_with_prefix_t",
+ "host_ip6_prefix"
+ ],
+ [
+ "vl_api_tap_flags_t",
+ "tap_flags"
+ ],
+ [
+ "string",
+ "dev_name",
+ 64
+ ],
+ [
+ "string",
+ "host_if_name",
+ 64
+ ],
+ [
+ "string",
+ "host_namespace",
+ 64
+ ],
+ [
+ "string",
+ "host_bridge",
+ 64
+ ],
+ {
+ "crc": "0xe53c16de"
+ }
+ ]
+ ],
+ "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"
+ }
+ ],
+ [
+ "tap_flags",
+ [
+ "TAP_FLAG_GSO",
+ 1
+ ],
+ [
+ "TAP_FLAG_CSUM_OFFLOAD",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "tap_create_v2": {
+ "reply": "tap_create_v2_reply"
+ },
+ "tap_delete_v2": {
+ "reply": "tap_delete_v2_reply"
+ },
+ "sw_interface_tap_v2_dump": {
+ "reply": "sw_interface_tap_v2_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "3.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": "0x7d58f9a4"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/tcp.api.json b/internal/testbinapi/binapi2001/.vppapi/core/tcp.api.json
new file mode 100644
index 0000000..97223c6
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/tcp.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": [
+ [
+ "tcp_configure_src_addresses",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "vrf_id"
+ ],
+ [
+ "vl_api_address_t",
+ "first_address"
+ ],
+ [
+ "vl_api_address_t",
+ "last_address"
+ ],
+ {
+ "crc": "0x4b02b946"
+ }
+ ],
+ [
+ "tcp_configure_src_addresses_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": {
+ "tcp_configure_src_addresses": {
+ "reply": "tcp_configure_src_addresses_reply"
+ }
+ },
+ "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"
+ }
+ },
+ "vl_api_version": "0x4d731ac5"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/udp.api.json b/internal/testbinapi/binapi2001/.vppapi/core/udp.api.json
new file mode 100644
index 0000000..9aa3f52
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/udp.api.json
@@ -0,0 +1,457 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "udp_encap",
+ [
+ "u32",
+ "table_id"
+ ],
+ [
+ "u16",
+ "src_port"
+ ],
+ [
+ "u16",
+ "dst_port"
+ ],
+ [
+ "vl_api_address_t",
+ "src_ip"
+ ],
+ [
+ "vl_api_address_t",
+ "dst_ip"
+ ],
+ [
+ "u32",
+ "id"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "udp_encap_add",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_udp_encap_t",
+ "udp_encap"
+ ],
+ {
+ "crc": "0x61d5fc48"
+ }
+ ],
+ [
+ "udp_encap_add_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "id"
+ ],
+ {
+ "crc": "0xe2fc8294"
+ }
+ ],
+ [
+ "udp_encap_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "id"
+ ],
+ {
+ "crc": "0x3a91bde5"
+ }
+ ],
+ [
+ "udp_encap_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "udp_encap_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "udp_encap_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_udp_encap_t",
+ "udp_encap"
+ ],
+ {
+ "crc": "0x87c82821"
+ }
+ ]
+ ],
+ "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_encap_add": {
+ "reply": "udp_encap_add_reply"
+ },
+ "udp_encap_del": {
+ "reply": "udp_encap_del_reply"
+ },
+ "udp_encap_dump": {
+ "reply": "udp_encap_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "1.1.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": "0xa6b4c475"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/vhost_user.api.json b/internal/testbinapi/binapi2001/.vppapi/core/vhost_user.api.json
new file mode 100644
index 0000000..839ade2
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/vhost_user.api.json
@@ -0,0 +1,528 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "create_vhost_user_if",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_server"
+ ],
+ [
+ "string",
+ "sock_filename",
+ 256
+ ],
+ [
+ "bool",
+ "renumber"
+ ],
+ [
+ "bool",
+ "disable_mrg_rxbuf"
+ ],
+ [
+ "bool",
+ "disable_indirect_desc"
+ ],
+ [
+ "bool",
+ "enable_gso"
+ ],
+ [
+ "u32",
+ "custom_dev_instance"
+ ],
+ [
+ "bool",
+ "use_custom_mac"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ [
+ "string",
+ "tag",
+ 64
+ ],
+ {
+ "crc": "0x591ee951"
+ }
+ ],
+ [
+ "create_vhost_user_if_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "modify_vhost_user_if",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_server"
+ ],
+ [
+ "string",
+ "sock_filename",
+ 256
+ ],
+ [
+ "bool",
+ "renumber"
+ ],
+ [
+ "bool",
+ "enable_gso"
+ ],
+ [
+ "u32",
+ "custom_dev_instance"
+ ],
+ {
+ "crc": "0xfcfeaf16"
+ }
+ ],
+ [
+ "modify_vhost_user_if_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "delete_vhost_user_if",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "delete_vhost_user_if_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_vhost_user_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "string",
+ "interface_name",
+ 64
+ ],
+ [
+ "u32",
+ "virtio_net_hdr_sz"
+ ],
+ [
+ "vl_api_virtio_net_features_first_32_t",
+ "features_first_32"
+ ],
+ [
+ "vl_api_virtio_net_features_last_32_t",
+ "features_last_32"
+ ],
+ [
+ "bool",
+ "is_server"
+ ],
+ [
+ "string",
+ "sock_filename",
+ 256
+ ],
+ [
+ "u32",
+ "num_regions"
+ ],
+ [
+ "i32",
+ "sock_errno"
+ ],
+ {
+ "crc": "0x98530df1"
+ }
+ ],
+ [
+ "sw_interface_vhost_user_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index",
+ {
+ "default": 4294967295
+ }
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ]
+ ],
+ "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"
+ }
+ ],
+ [
+ "virtio_net_features_first_32",
+ [
+ "VIRTIO_NET_F_API_CSUM",
+ 1
+ ],
+ [
+ "VIRTIO_NET_F_API_GUEST_CSUM",
+ 2
+ ],
+ [
+ "VIRTIO_NET_F_API_GUEST_TSO4",
+ 128
+ ],
+ [
+ "VIRTIO_NET_F_API_GUEST_TSO6",
+ 256
+ ],
+ [
+ "VIRTIO_NET_F_API_GUEST_UFO",
+ 1024
+ ],
+ [
+ "VIRTIO_NET_F_API_HOST_TSO4",
+ 2048
+ ],
+ [
+ "VIRTIO_NET_F_API_HOST_TSO6",
+ 4096
+ ],
+ [
+ "VIRTIO_NET_F_API_HOST_UFO",
+ 16384
+ ],
+ [
+ "VIRTIO_NET_F_API_MRG_RXBUF",
+ 32768
+ ],
+ [
+ "VIRTIO_NET_F_API_CTRL_VQ",
+ 131072
+ ],
+ [
+ "VIRTIO_NET_F_API_GUEST_ANNOUNCE",
+ 2097152
+ ],
+ [
+ "VIRTIO_NET_F_API_MQ",
+ 4194304
+ ],
+ [
+ "VHOST_F_API_LOG_ALL",
+ 67108864
+ ],
+ [
+ "VIRTIO_F_API_ANY_LAYOUT",
+ 134217728
+ ],
+ [
+ "VIRTIO_F_API_INDIRECT_DESC",
+ 268435456
+ ],
+ [
+ "VHOST_USER_F_API_PROTOCOL_FEATURES",
+ 1073741824
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "virtio_net_features_last_32",
+ [
+ "VIRTIO_F_API_VERSION_1",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "create_vhost_user_if": {
+ "reply": "create_vhost_user_if_reply"
+ },
+ "modify_vhost_user_if": {
+ "reply": "modify_vhost_user_if_reply"
+ },
+ "delete_vhost_user_if": {
+ "reply": "delete_vhost_user_if_reply"
+ },
+ "sw_interface_vhost_user_dump": {
+ "reply": "sw_interface_vhost_user_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "4.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ }
+ },
+ "vl_api_version": "0xb547a33d"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/virtio.api.json b/internal/testbinapi/binapi2001/.vppapi/core/virtio.api.json
new file mode 100644
index 0000000..eb3a12c
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/virtio.api.json
@@ -0,0 +1,365 @@
+{
+ "types": [
+ [
+ "pci_address",
+ [
+ "u16",
+ "domain"
+ ],
+ [
+ "u8",
+ "bus"
+ ],
+ [
+ "u8",
+ "slot"
+ ],
+ [
+ "u8",
+ "function"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "virtio_pci_create",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_pci_address_t",
+ "pci_addr"
+ ],
+ [
+ "bool",
+ "use_random_mac"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_address"
+ ],
+ [
+ "bool",
+ "gso_enabled"
+ ],
+ [
+ "bool",
+ "checksum_offload_enabled"
+ ],
+ [
+ "u64",
+ "features"
+ ],
+ {
+ "crc": "0xa9f1370c"
+ }
+ ],
+ [
+ "virtio_pci_create_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "virtio_pci_delete",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "virtio_pci_delete_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "sw_interface_virtio_pci_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "sw_interface_virtio_pci_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_pci_address_t",
+ "pci_addr"
+ ],
+ [
+ "vl_api_mac_address_t",
+ "mac_addr"
+ ],
+ [
+ "u16",
+ "tx_ring_sz"
+ ],
+ [
+ "u16",
+ "rx_ring_sz"
+ ],
+ [
+ "u64",
+ "features"
+ ],
+ {
+ "crc": "0x16187f3a"
+ }
+ ]
+ ],
+ "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": {
+ "virtio_pci_create": {
+ "reply": "virtio_pci_create_reply"
+ },
+ "virtio_pci_delete": {
+ "reply": "virtio_pci_delete_reply"
+ },
+ "sw_interface_virtio_pci_dump": {
+ "reply": "sw_interface_virtio_pci_details",
+ "stream": true
+ }
+ },
+ "options": {
+ "version": "2.0.0"
+ },
+ "aliases": {
+ "interface_index": {
+ "type": "u32"
+ },
+ "mac_address": {
+ "type": "u8",
+ "length": 6
+ }
+ },
+ "vl_api_version": "0xb64fcf02"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/virtio_types.api.json b/internal/testbinapi/binapi2001/.vppapi/core/virtio_types.api.json
new file mode 100644
index 0000000..a4cc4cf
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/virtio_types.api.json
@@ -0,0 +1,93 @@
+{
+ "types": [],
+ "messages": [],
+ "unions": [],
+ "enums": [
+ [
+ "virtio_net_features_first_32",
+ [
+ "VIRTIO_NET_F_API_CSUM",
+ 1
+ ],
+ [
+ "VIRTIO_NET_F_API_GUEST_CSUM",
+ 2
+ ],
+ [
+ "VIRTIO_NET_F_API_GUEST_TSO4",
+ 128
+ ],
+ [
+ "VIRTIO_NET_F_API_GUEST_TSO6",
+ 256
+ ],
+ [
+ "VIRTIO_NET_F_API_GUEST_UFO",
+ 1024
+ ],
+ [
+ "VIRTIO_NET_F_API_HOST_TSO4",
+ 2048
+ ],
+ [
+ "VIRTIO_NET_F_API_HOST_TSO6",
+ 4096
+ ],
+ [
+ "VIRTIO_NET_F_API_HOST_UFO",
+ 16384
+ ],
+ [
+ "VIRTIO_NET_F_API_MRG_RXBUF",
+ 32768
+ ],
+ [
+ "VIRTIO_NET_F_API_CTRL_VQ",
+ 131072
+ ],
+ [
+ "VIRTIO_NET_F_API_GUEST_ANNOUNCE",
+ 2097152
+ ],
+ [
+ "VIRTIO_NET_F_API_MQ",
+ 4194304
+ ],
+ [
+ "VHOST_F_API_LOG_ALL",
+ 67108864
+ ],
+ [
+ "VIRTIO_F_API_ANY_LAYOUT",
+ 134217728
+ ],
+ [
+ "VIRTIO_F_API_INDIRECT_DESC",
+ 268435456
+ ],
+ [
+ "VHOST_USER_F_API_PROTOCOL_FEATURES",
+ 1073741824
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ],
+ [
+ "virtio_net_features_last_32",
+ [
+ "VIRTIO_F_API_VERSION_1",
+ 1
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {},
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x7a70a44e"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/vpe.api.json b/internal/testbinapi/binapi2001/.vppapi/core/vpe.api.json
new file mode 100644
index 0000000..ba487d2
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/vpe.api.json
@@ -0,0 +1,772 @@
+{
+ "types": [
+ [
+ "version",
+ [
+ "u32",
+ "major"
+ ],
+ [
+ "u32",
+ "minor"
+ ],
+ [
+ "u32",
+ "patch"
+ ],
+ [
+ "u8",
+ "pre_release",
+ 17
+ ],
+ [
+ "u8",
+ "build_metadata",
+ 17
+ ]
+ ],
+ [
+ "thread_data",
+ [
+ "u32",
+ "id"
+ ],
+ [
+ "u8",
+ "name",
+ 64
+ ],
+ [
+ "u8",
+ "type",
+ 64
+ ],
+ [
+ "u32",
+ "pid"
+ ],
+ [
+ "u32",
+ "cpu_id"
+ ],
+ [
+ "u32",
+ "core"
+ ],
+ [
+ "u32",
+ "cpu_socket"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "control_ping",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "control_ping_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "vpe_pid"
+ ],
+ {
+ "crc": "0xf6b0b8ca"
+ }
+ ],
+ [
+ "cli",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u64",
+ "cmd_in_shmem"
+ ],
+ {
+ "crc": "0x23bfbfff"
+ }
+ ],
+ [
+ "cli_inband",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "string",
+ "cmd",
+ 0
+ ],
+ {
+ "crc": "0xf8377302"
+ }
+ ],
+ [
+ "cli_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u64",
+ "reply_in_shmem"
+ ],
+ {
+ "crc": "0x06d68297"
+ }
+ ],
+ [
+ "cli_inband_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "string",
+ "reply",
+ 0
+ ],
+ {
+ "crc": "0x05879051"
+ }
+ ],
+ [
+ "get_node_index",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "node_name",
+ 64
+ ],
+ {
+ "crc": "0x6c9a495d"
+ }
+ ],
+ [
+ "get_node_index_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "node_index"
+ ],
+ {
+ "crc": "0xa8600b89"
+ }
+ ],
+ [
+ "add_node_next",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "node_name",
+ 64
+ ],
+ [
+ "u8",
+ "next_name",
+ 64
+ ],
+ {
+ "crc": "0x9ab92f7a"
+ }
+ ],
+ [
+ "add_node_next_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "next_index"
+ ],
+ {
+ "crc": "0x2ed75f32"
+ }
+ ],
+ [
+ "show_version",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_version_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "string",
+ "program",
+ 32
+ ],
+ [
+ "string",
+ "version",
+ 32
+ ],
+ [
+ "string",
+ "build_date",
+ 32
+ ],
+ [
+ "string",
+ "build_directory",
+ 256
+ ],
+ {
+ "crc": "0xc919bde1"
+ }
+ ],
+ [
+ "show_threads",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_threads_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "count"
+ ],
+ [
+ "vl_api_thread_data_t",
+ "thread_data",
+ 0,
+ "count"
+ ],
+ {
+ "crc": "0xf5e0b66f"
+ }
+ ],
+ [
+ "get_node_graph",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "get_node_graph_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u64",
+ "reply_in_shmem"
+ ],
+ {
+ "crc": "0x06d68297"
+ }
+ ],
+ [
+ "get_next_index",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "node_name",
+ 64
+ ],
+ [
+ "u8",
+ "next_name",
+ 64
+ ],
+ {
+ "crc": "0x9ab92f7a"
+ }
+ ],
+ [
+ "get_next_index_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "next_index"
+ ],
+ {
+ "crc": "0x2ed75f32"
+ }
+ ],
+ [
+ "log_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_timestamp_t",
+ "start_timestamp"
+ ],
+ {
+ "crc": "0x6ab31753"
+ }
+ ],
+ [
+ "log_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_timestamp_t",
+ "timestamp"
+ ],
+ [
+ "vl_api_log_level_t",
+ "level"
+ ],
+ [
+ "string",
+ "msg_class",
+ 32
+ ],
+ [
+ "string",
+ "message",
+ 256
+ ],
+ {
+ "crc": "0x255827a1"
+ }
+ ],
+ [
+ "show_vpe_system_time",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ {
+ "crc": "0x51077d14"
+ }
+ ],
+ [
+ "show_vpe_system_time_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_timestamp_t",
+ "vpe_system_time"
+ ],
+ {
+ "crc": "0x7ffd8193"
+ }
+ ],
+ [
+ "get_f64_endian_value",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "f64",
+ "f64_one",
+ {
+ "default": 1.0
+ }
+ ],
+ {
+ "crc": "0x809fcd44"
+ }
+ ],
+ [
+ "get_f64_endian_value_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "retval"
+ ],
+ [
+ "f64",
+ "f64_one_result"
+ ],
+ {
+ "crc": "0x7e02e404"
+ }
+ ],
+ [
+ "get_f64_increment_by_one",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "f64",
+ "f64_value",
+ {
+ "default": 1.0
+ }
+ ],
+ {
+ "crc": "0xb64f027e"
+ }
+ ],
+ [
+ "get_f64_increment_by_one_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "retval"
+ ],
+ [
+ "f64",
+ "f64_value"
+ ],
+ {
+ "crc": "0xd25dbaa3"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [
+ [
+ "log_level",
+ [
+ "VPE_API_LOG_LEVEL_EMERG",
+ 0
+ ],
+ [
+ "VPE_API_LOG_LEVEL_ALERT",
+ 1
+ ],
+ [
+ "VPE_API_LOG_LEVEL_CRIT",
+ 2
+ ],
+ [
+ "VPE_API_LOG_LEVEL_ERR",
+ 3
+ ],
+ [
+ "VPE_API_LOG_LEVEL_WARNING",
+ 4
+ ],
+ [
+ "VPE_API_LOG_LEVEL_NOTICE",
+ 5
+ ],
+ [
+ "VPE_API_LOG_LEVEL_INFO",
+ 6
+ ],
+ [
+ "VPE_API_LOG_LEVEL_DEBUG",
+ 7
+ ],
+ [
+ "VPE_API_LOG_LEVEL_DISABLED",
+ 8
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "control_ping": {
+ "reply": "control_ping_reply"
+ },
+ "cli": {
+ "reply": "cli_reply"
+ },
+ "cli_inband": {
+ "reply": "cli_inband_reply"
+ },
+ "get_node_index": {
+ "reply": "get_node_index_reply"
+ },
+ "add_node_next": {
+ "reply": "add_node_next_reply"
+ },
+ "show_version": {
+ "reply": "show_version_reply"
+ },
+ "show_threads": {
+ "reply": "show_threads_reply"
+ },
+ "get_node_graph": {
+ "reply": "get_node_graph_reply"
+ },
+ "get_next_index": {
+ "reply": "get_next_index_reply"
+ },
+ "log_dump": {
+ "reply": "log_details",
+ "stream": true
+ },
+ "show_vpe_system_time": {
+ "reply": "show_vpe_system_time_reply"
+ },
+ "get_f64_endian_value": {
+ "reply": "get_f64_endian_value_reply"
+ },
+ "get_f64_increment_by_one": {
+ "reply": "get_f64_increment_by_one_reply"
+ }
+ },
+ "options": {
+ "version": "1.6.0"
+ },
+ "aliases": {
+ "timestamp": {
+ "type": "f64"
+ },
+ "timedelta": {
+ "type": "f64"
+ }
+ },
+ "vl_api_version": "0xc6c0bcf6"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/vpe_types.api.json b/internal/testbinapi/binapi2001/.vppapi/core/vpe_types.api.json
new file mode 100644
index 0000000..5463cc4
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/vpe_types.api.json
@@ -0,0 +1,86 @@
+{
+ "types": [
+ [
+ "version",
+ [
+ "u32",
+ "major"
+ ],
+ [
+ "u32",
+ "minor"
+ ],
+ [
+ "u32",
+ "patch"
+ ],
+ [
+ "u8",
+ "pre_release",
+ 17
+ ],
+ [
+ "u8",
+ "build_metadata",
+ 17
+ ]
+ ]
+ ],
+ "messages": [],
+ "unions": [],
+ "enums": [
+ [
+ "log_level",
+ [
+ "VPE_API_LOG_LEVEL_EMERG",
+ 0
+ ],
+ [
+ "VPE_API_LOG_LEVEL_ALERT",
+ 1
+ ],
+ [
+ "VPE_API_LOG_LEVEL_CRIT",
+ 2
+ ],
+ [
+ "VPE_API_LOG_LEVEL_ERR",
+ 3
+ ],
+ [
+ "VPE_API_LOG_LEVEL_WARNING",
+ 4
+ ],
+ [
+ "VPE_API_LOG_LEVEL_NOTICE",
+ 5
+ ],
+ [
+ "VPE_API_LOG_LEVEL_INFO",
+ 6
+ ],
+ [
+ "VPE_API_LOG_LEVEL_DEBUG",
+ 7
+ ],
+ [
+ "VPE_API_LOG_LEVEL_DISABLED",
+ 8
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {},
+ "options": {},
+ "aliases": {
+ "timestamp": {
+ "type": "f64"
+ },
+ "timedelta": {
+ "type": "f64"
+ }
+ },
+ "vl_api_version": "0x3369988d"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/vxlan.api.json b/internal/testbinapi/binapi2001/.vppapi/core/vxlan.api.json
new file mode 100644
index 0000000..8cdf8a7
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/vxlan.api.json
@@ -0,0 +1,275 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "vxlan_add_del_tunnel",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u32",
+ "instance"
+ ],
+ [
+ "u8",
+ "src_address",
+ 16
+ ],
+ [
+ "u8",
+ "dst_address",
+ 16
+ ],
+ [
+ "u32",
+ "mcast_sw_if_index"
+ ],
+ [
+ "u32",
+ "encap_vrf_id"
+ ],
+ [
+ "u32",
+ "decap_next_index"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ {
+ "crc": "0x00f4bdd0"
+ }
+ ],
+ [
+ "vxlan_add_del_tunnel_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xfda5941f"
+ }
+ ],
+ [
+ "vxlan_tunnel_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x529cb13f"
+ }
+ ],
+ [
+ "vxlan_tunnel_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u32",
+ "instance"
+ ],
+ [
+ "u8",
+ "src_address",
+ 16
+ ],
+ [
+ "u8",
+ "dst_address",
+ 16
+ ],
+ [
+ "u32",
+ "mcast_sw_if_index"
+ ],
+ [
+ "u32",
+ "encap_vrf_id"
+ ],
+ [
+ "u32",
+ "decap_next_index"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ {
+ "crc": "0xce38e127"
+ }
+ ],
+ [
+ "sw_interface_set_vxlan_bypass",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "enable"
+ ],
+ {
+ "crc": "0xe74ca095"
+ }
+ ],
+ [
+ "sw_interface_set_vxlan_bypass_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ],
+ [
+ "vxlan_offload_rx",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "hw_if_index"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "enable"
+ ],
+ {
+ "crc": "0xf0b08786"
+ }
+ ],
+ [
+ "vxlan_offload_rx_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "vxlan_add_del_tunnel": {
+ "reply": "vxlan_add_del_tunnel_reply"
+ },
+ "vxlan_tunnel_dump": {
+ "reply": "vxlan_tunnel_details",
+ "stream": true
+ },
+ "sw_interface_set_vxlan_bypass": {
+ "reply": "sw_interface_set_vxlan_bypass_reply"
+ },
+ "vxlan_offload_rx": {
+ "reply": "vxlan_offload_rx_reply"
+ }
+ },
+ "options": {
+ "version": "1.1.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0xa95aa271"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/vxlan_gbp.api.json b/internal/testbinapi/binapi2001/.vppapi/core/vxlan_gbp.api.json
new file mode 100644
index 0000000..52feb9b
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/vxlan_gbp.api.json
@@ -0,0 +1,656 @@
+{
+ "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"
+ ]
+ ],
+ [
+ "vxlan_gbp_tunnel",
+ [
+ "u32",
+ "instance"
+ ],
+ [
+ "vl_api_address_t",
+ "src"
+ ],
+ [
+ "vl_api_address_t",
+ "dst"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "mcast_sw_if_index"
+ ],
+ [
+ "u32",
+ "encap_table_id"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "vl_api_vxlan_gbp_api_tunnel_mode_t",
+ "mode"
+ ]
+ ]
+ ],
+ "messages": [
+ [
+ "vxlan_gbp_tunnel_add_del",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "bool",
+ "is_add",
+ {
+ "default": "true"
+ }
+ ],
+ [
+ "vl_api_vxlan_gbp_tunnel_t",
+ "tunnel"
+ ],
+ {
+ "crc": "0x8c819166"
+ }
+ ],
+ [
+ "vxlan_gbp_tunnel_add_del_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x5383d31f"
+ }
+ ],
+ [
+ "vxlan_gbp_tunnel_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xf9e6675e"
+ }
+ ],
+ [
+ "vxlan_gbp_tunnel_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_vxlan_gbp_tunnel_t",
+ "tunnel"
+ ],
+ {
+ "crc": "0x1da24016"
+ }
+ ],
+ [
+ "sw_interface_set_vxlan_gbp_bypass",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "vl_api_interface_index_t",
+ "sw_if_index"
+ ],
+ [
+ "bool",
+ "is_ipv6"
+ ],
+ [
+ "bool",
+ "enable",
+ {
+ "default": "true"
+ }
+ ],
+ {
+ "crc": "0x65247409"
+ }
+ ],
+ [
+ "sw_interface_set_vxlan_gbp_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": [
+ [
+ "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"
+ }
+ ],
+ [
+ "vxlan_gbp_api_tunnel_mode",
+ [
+ "VXLAN_GBP_API_TUNNEL_MODE_L2",
+ 1
+ ],
+ [
+ "VXLAN_GBP_API_TUNNEL_MODE_L3",
+ 2
+ ],
+ {
+ "enumtype": "u32"
+ }
+ ]
+ ],
+ "services": {
+ "vxlan_gbp_tunnel_add_del": {
+ "reply": "vxlan_gbp_tunnel_add_del_reply"
+ },
+ "vxlan_gbp_tunnel_dump": {
+ "reply": "vxlan_gbp_tunnel_details",
+ "stream": true
+ },
+ "sw_interface_set_vxlan_gbp_bypass": {
+ "reply": "sw_interface_set_vxlan_gbp_bypass_reply"
+ }
+ },
+ "options": {
+ "version": "1.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": "0xdc218362"
+}
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/vxlan_gpe.api.json b/internal/testbinapi/binapi2001/.vppapi/core/vxlan_gpe.api.json
new file mode 100644
index 0000000..f1ff47d
--- /dev/null
+++ b/internal/testbinapi/binapi2001/.vppapi/core/vxlan_gpe.api.json
@@ -0,0 +1,224 @@
+{
+ "types": [],
+ "messages": [
+ [
+ "vxlan_gpe_add_del_tunnel",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "local",
+ 16
+ ],
+ [
+ "u8",
+ "remote",
+ 16
+ ],
+ [
+ "u32",
+ "mcast_sw_if_index"
+ ],
+ [
+ "u32",
+ "encap_vrf_id"
+ ],
+ [
+ "u32",
+ "decap_vrf_id"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "is_add"
+ ],
+ {
+ "crc": "0xd15850ba"
+ }
+ ],
+ [
+ "vxlan_gpe_add_del_tunnel_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0xfda5941f"
+ }
+ ],
+ [
+ "vxlan_gpe_tunnel_dump",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ {
+ "crc": "0x529cb13f"
+ }
+ ],
+ [
+ "vxlan_gpe_tunnel_details",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "local",
+ 16
+ ],
+ [
+ "u8",
+ "remote",
+ 16
+ ],
+ [
+ "u32",
+ "vni"
+ ],
+ [
+ "u8",
+ "protocol"
+ ],
+ [
+ "u32",
+ "mcast_sw_if_index"
+ ],
+ [
+ "u32",
+ "encap_vrf_id"
+ ],
+ [
+ "u32",
+ "decap_vrf_id"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ {
+ "crc": "0x2673fbfa"
+ }
+ ],
+ [
+ "sw_interface_set_vxlan_gpe_bypass",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "client_index"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "u32",
+ "sw_if_index"
+ ],
+ [
+ "u8",
+ "is_ipv6"
+ ],
+ [
+ "u8",
+ "enable"
+ ],
+ {
+ "crc": "0xe74ca095"
+ }
+ ],
+ [
+ "sw_interface_set_vxlan_gpe_bypass_reply",
+ [
+ "u16",
+ "_vl_msg_id"
+ ],
+ [
+ "u32",
+ "context"
+ ],
+ [
+ "i32",
+ "retval"
+ ],
+ {
+ "crc": "0xe8d4e804"
+ }
+ ]
+ ],
+ "unions": [],
+ "enums": [],
+ "services": {
+ "vxlan_gpe_add_del_tunnel": {
+ "reply": "vxlan_gpe_add_del_tunnel_reply"
+ },
+ "vxlan_gpe_tunnel_dump": {
+ "reply": "vxlan_gpe_tunnel_details",
+ "stream": true
+ },
+ "sw_interface_set_vxlan_gpe_bypass": {
+ "reply": "sw_interface_set_vxlan_gpe_bypass_reply"
+ }
+ },
+ "options": {
+ "version": "1.0.0"
+ },
+ "aliases": {},
+ "vl_api_version": "0x25bfb55d"
+}
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"
+}