aboutsummaryrefslogtreecommitdiffstats
path: root/internal/testbinapi/binapi2001/.vppapi/core
diff options
context:
space:
mode:
Diffstat (limited to 'internal/testbinapi/binapi2001/.vppapi/core')
-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
59 files changed, 40429 insertions, 0 deletions
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"
+}