Fix binapigen decoding and minor improvements
[govpp.git] / internal / testbinapi / binapi2001 / .vppapi / plugins / map.api.json
diff --git a/internal/testbinapi/binapi2001/.vppapi/plugins/map.api.json b/internal/testbinapi/binapi2001/.vppapi/plugins/map.api.json
new file mode 100644 (file)
index 0000000..065092a
--- /dev/null
@@ -0,0 +1,1283 @@
+{
+    "types": [
+        [
+            "address",
+            [
+                "vl_api_address_family_t",
+                "af"
+            ],
+            [
+                "vl_api_address_union_t",
+                "un"
+            ]
+        ],
+        [
+            "prefix",
+            [
+                "vl_api_address_t",
+                "address"
+            ],
+            [
+                "u8",
+                "len"
+            ]
+        ],
+        [
+            "mprefix",
+            [
+                "vl_api_address_family_t",
+                "af"
+            ],
+            [
+                "u16",
+                "grp_address_length"
+            ],
+            [
+                "vl_api_address_union_t",
+                "grp_address"
+            ],
+            [
+                "vl_api_address_union_t",
+                "src_address"
+            ]
+        ],
+        [
+            "ip6_prefix",
+            [
+                "vl_api_ip6_address_t",
+                "address"
+            ],
+            [
+                "u8",
+                "len"
+            ]
+        ],
+        [
+            "ip4_prefix",
+            [
+                "vl_api_ip4_address_t",
+                "address"
+            ],
+            [
+                "u8",
+                "len"
+            ]
+        ],
+        [
+            "prefix_matcher",
+            [
+                "u8",
+                "le"
+            ],
+            [
+                "u8",
+                "ge"
+            ]
+        ]
+    ],
+    "messages": [
+        [
+            "map_add_domain",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "vl_api_ip6_prefix_t",
+                "ip6_prefix"
+            ],
+            [
+                "vl_api_ip4_prefix_t",
+                "ip4_prefix"
+            ],
+            [
+                "vl_api_ip6_prefix_t",
+                "ip6_src"
+            ],
+            [
+                "u8",
+                "ea_bits_len"
+            ],
+            [
+                "u8",
+                "psid_offset"
+            ],
+            [
+                "u8",
+                "psid_length"
+            ],
+            [
+                "u16",
+                "mtu"
+            ],
+            [
+                "string",
+                "tag",
+                64
+            ],
+            {
+                "crc": "0x7a5a18c9"
+            }
+        ],
+        [
+            "map_add_domain_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "index"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0x3e6d4e2c"
+            }
+        ],
+        [
+            "map_del_domain",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "index"
+            ],
+            {
+                "crc": "0x8ac76db6"
+            }
+        ],
+        [
+            "map_del_domain_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "map_add_del_rule",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "index"
+            ],
+            [
+                "bool",
+                "is_add"
+            ],
+            [
+                "vl_api_ip6_address_t",
+                "ip6_dst"
+            ],
+            [
+                "u16",
+                "psid"
+            ],
+            {
+                "crc": "0xc65b32f7"
+            }
+        ],
+        [
+            "map_add_del_rule_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "map_domain_dump",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            {
+                "crc": "0x51077d14"
+            }
+        ],
+        [
+            "map_domain_details",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "domain_index"
+            ],
+            [
+                "vl_api_ip6_prefix_t",
+                "ip6_prefix"
+            ],
+            [
+                "vl_api_ip4_prefix_t",
+                "ip4_prefix"
+            ],
+            [
+                "vl_api_ip6_prefix_t",
+                "ip6_src"
+            ],
+            [
+                "u8",
+                "ea_bits_len"
+            ],
+            [
+                "u8",
+                "psid_offset"
+            ],
+            [
+                "u8",
+                "psid_length"
+            ],
+            [
+                "u8",
+                "flags"
+            ],
+            [
+                "u16",
+                "mtu"
+            ],
+            [
+                "string",
+                "tag",
+                64
+            ],
+            {
+                "crc": "0xfc1859dd"
+            }
+        ],
+        [
+            "map_rule_dump",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u32",
+                "domain_index"
+            ],
+            {
+                "crc": "0xe43e6ff6"
+            }
+        ],
+        [
+            "map_rule_details",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "vl_api_ip6_address_t",
+                "ip6_dst"
+            ],
+            [
+                "u16",
+                "psid"
+            ],
+            {
+                "crc": "0xc7cbeea5"
+            }
+        ],
+        [
+            "map_if_enable_disable",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "vl_api_interface_index_t",
+                "sw_if_index"
+            ],
+            [
+                "bool",
+                "is_enable"
+            ],
+            [
+                "bool",
+                "is_translation"
+            ],
+            {
+                "crc": "0x59bb32f4"
+            }
+        ],
+        [
+            "map_if_enable_disable_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "map_summary_stats",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            {
+                "crc": "0x51077d14"
+            }
+        ],
+        [
+            "map_summary_stats_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            [
+                "u64",
+                "total_bindings"
+            ],
+            [
+                "u64",
+                "total_pkts",
+                2
+            ],
+            [
+                "u64",
+                "total_bytes",
+                2
+            ],
+            [
+                "u64",
+                "total_ip4_fragments"
+            ],
+            [
+                "u64",
+                "total_security_check",
+                2
+            ],
+            {
+                "crc": "0x0e4ace0e"
+            }
+        ],
+        [
+            "map_param_set_fragmentation",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "bool",
+                "inner"
+            ],
+            [
+                "bool",
+                "ignore_df"
+            ],
+            {
+                "crc": "0x9ff54d90"
+            }
+        ],
+        [
+            "map_param_set_fragmentation_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "map_param_set_icmp",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "vl_api_ip4_address_t",
+                "ip4_err_relay_src"
+            ],
+            {
+                "crc": "0x58210cbf"
+            }
+        ],
+        [
+            "map_param_set_icmp_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "map_param_set_icmp6",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "bool",
+                "enable_unreachable"
+            ],
+            {
+                "crc": "0x5d01f8c1"
+            }
+        ],
+        [
+            "map_param_set_icmp6_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "map_param_add_del_pre_resolve",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "bool",
+                "is_add"
+            ],
+            [
+                "vl_api_ip4_address_t",
+                "ip4_nh_address"
+            ],
+            [
+                "vl_api_ip6_address_t",
+                "ip6_nh_address"
+            ],
+            {
+                "crc": "0x17008c66"
+            }
+        ],
+        [
+            "map_param_add_del_pre_resolve_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "map_param_set_security_check",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "bool",
+                "enable"
+            ],
+            [
+                "bool",
+                "fragments"
+            ],
+            {
+                "crc": "0x6abe9836"
+            }
+        ],
+        [
+            "map_param_set_security_check_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "map_param_set_traffic_class",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "bool",
+                "copy"
+            ],
+            [
+                "u8",
+                "tc_class"
+            ],
+            {
+                "crc": "0x9cac455c"
+            }
+        ],
+        [
+            "map_param_set_traffic_class_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "map_param_set_tcp",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "u16",
+                "tcp_mss"
+            ],
+            {
+                "crc": "0x87a825d9"
+            }
+        ],
+        [
+            "map_param_set_tcp_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            {
+                "crc": "0xe8d4e804"
+            }
+        ],
+        [
+            "map_param_get",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "client_index"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            {
+                "crc": "0x51077d14"
+            }
+        ],
+        [
+            "map_param_get_reply",
+            [
+                "u16",
+                "_vl_msg_id"
+            ],
+            [
+                "u32",
+                "context"
+            ],
+            [
+                "i32",
+                "retval"
+            ],
+            [
+                "u8",
+                "frag_inner"
+            ],
+            [
+                "u8",
+                "frag_ignore_df"
+            ],
+            [
+                "vl_api_ip4_address_t",
+                "icmp_ip4_err_relay_src"
+            ],
+            [
+                "bool",
+                "icmp6_enable_unreachable"
+            ],
+            [
+                "vl_api_ip4_address_t",
+                "ip4_nh_address"
+            ],
+            [
+                "vl_api_ip6_address_t",
+                "ip6_nh_address"
+            ],
+            [
+                "u16",
+                "ip4_lifetime_ms"
+            ],
+            [
+                "u16",
+                "ip4_pool_size"
+            ],
+            [
+                "u32",
+                "ip4_buffers"
+            ],
+            [
+                "f64",
+                "ip4_ht_ratio"
+            ],
+            [
+                "bool",
+                "sec_check_enable"
+            ],
+            [
+                "bool",
+                "sec_check_fragments"
+            ],
+            [
+                "bool",
+                "tc_copy"
+            ],
+            [
+                "u8",
+                "tc_class"
+            ],
+            {
+                "crc": "0x28092156"
+            }
+        ]
+    ],
+    "unions": [
+        [
+            "address_union",
+            [
+                "vl_api_ip4_address_t",
+                "ip4"
+            ],
+            [
+                "vl_api_ip6_address_t",
+                "ip6"
+            ]
+        ]
+    ],
+    "enums": [
+        [
+            "address_family",
+            [
+                "ADDRESS_IP4",
+                0
+            ],
+            [
+                "ADDRESS_IP6",
+                1
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "ip_ecn",
+            [
+                "IP_API_ECN_NONE",
+                0
+            ],
+            [
+                "IP_API_ECN_ECT0",
+                1
+            ],
+            [
+                "IP_API_ECN_ECT1",
+                2
+            ],
+            [
+                "IP_API_ECN_CE",
+                3
+            ],
+            {
+                "enumtype": "u8"
+            }
+        ],
+        [
+            "ip_dscp",
+            [
+                "IP_API_DSCP_CS0",
+                0
+            ],
+            [
+                "IP_API_DSCP_CS1",
+                8
+            ],
+            [
+                "IP_API_DSCP_AF11",
+                10
+            ],
+            [
+                "IP_API_DSCP_AF12",
+                12
+            ],
+            [
+                "IP_API_DSCP_AF13",
+                14
+            ],
+            [
+                "IP_API_DSCP_CS2",
+                16
+            ],
+            [
+                "IP_API_DSCP_AF21",
+                18
+            ],
+            [
+                "IP_API_DSCP_AF22",
+                20
+            ],
+            [
+                "IP_API_DSCP_AF23",
+                22
+            ],
+            [
+                "IP_API_DSCP_CS3",
+                24
+            ],
+            [
+                "IP_API_DSCP_AF31",
+                26
+            ],
+            [
+                "IP_API_DSCP_AF32",
+                28
+            ],
+            [
+                "IP_API_DSCP_AF33",
+                30
+            ],
+            [
+                "IP_API_DSCP_CS4",
+                32
+            ],
+            [
+                "IP_API_DSCP_AF41",
+                34
+            ],
+            [
+                "IP_API_DSCP_AF42",
+                36
+            ],
+            [
+                "IP_API_DSCP_AF43",
+                38
+            ],
+            [
+                "IP_API_DSCP_CS5",
+                40
+            ],
+            [
+                "IP_API_DSCP_EF",
+                46
+            ],
+            [
+                "IP_API_DSCP_CS6",
+                48
+            ],
+            [
+                "IP_API_DSCP_CS7",
+                50
+            ],
+            {
+                "enumtype": "u8"
+            }
+        ],
+        [
+            "ip_proto",
+            [
+                "IP_API_PROTO_HOPOPT",
+                0
+            ],
+            [
+                "IP_API_PROTO_ICMP",
+                1
+            ],
+            [
+                "IP_API_PROTO_IGMP",
+                2
+            ],
+            [
+                "IP_API_PROTO_TCP",
+                6
+            ],
+            [
+                "IP_API_PROTO_UDP",
+                17
+            ],
+            [
+                "IP_API_PROTO_GRE",
+                47
+            ],
+            [
+                "IP_API_PROTO_AH",
+                50
+            ],
+            [
+                "IP_API_PROTO_ESP",
+                51
+            ],
+            [
+                "IP_API_PROTO_EIGRP",
+                88
+            ],
+            [
+                "IP_API_PROTO_OSPF",
+                89
+            ],
+            [
+                "IP_API_PROTO_SCTP",
+                132
+            ],
+            [
+                "IP_API_PROTO_RESERVED",
+                255
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "if_status_flags",
+            [
+                "IF_STATUS_API_FLAG_ADMIN_UP",
+                1
+            ],
+            [
+                "IF_STATUS_API_FLAG_LINK_UP",
+                2
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "mtu_proto",
+            [
+                "MTU_PROTO_API_L3",
+                1
+            ],
+            [
+                "MTU_PROTO_API_IP4",
+                2
+            ],
+            [
+                "MTU_PROTO_API_IP6",
+                3
+            ],
+            [
+                "MTU_PROTO_API_MPLS",
+                4
+            ],
+            [
+                "MTU_PROTO_API_N",
+                5
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "link_duplex",
+            [
+                "LINK_DUPLEX_API_UNKNOWN",
+                0
+            ],
+            [
+                "LINK_DUPLEX_API_HALF",
+                1
+            ],
+            [
+                "LINK_DUPLEX_API_FULL",
+                2
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "sub_if_flags",
+            [
+                "SUB_IF_API_FLAG_NO_TAGS",
+                1
+            ],
+            [
+                "SUB_IF_API_FLAG_ONE_TAG",
+                2
+            ],
+            [
+                "SUB_IF_API_FLAG_TWO_TAGS",
+                4
+            ],
+            [
+                "SUB_IF_API_FLAG_DOT1AD",
+                8
+            ],
+            [
+                "SUB_IF_API_FLAG_EXACT_MATCH",
+                16
+            ],
+            [
+                "SUB_IF_API_FLAG_DEFAULT",
+                32
+            ],
+            [
+                "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
+                64
+            ],
+            [
+                "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
+                128
+            ],
+            [
+                "SUB_IF_API_FLAG_MASK_VNET",
+                254
+            ],
+            [
+                "SUB_IF_API_FLAG_DOT1AH",
+                256
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "rx_mode",
+            [
+                "RX_MODE_API_UNKNOWN",
+                0
+            ],
+            [
+                "RX_MODE_API_POLLING",
+                1
+            ],
+            [
+                "RX_MODE_API_INTERRUPT",
+                2
+            ],
+            [
+                "RX_MODE_API_ADAPTIVE",
+                3
+            ],
+            [
+                "RX_MODE_API_DEFAULT",
+                4
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ],
+        [
+            "if_type",
+            [
+                "IF_API_TYPE_HARDWARE",
+                1
+            ],
+            [
+                "IF_API_TYPE_SUB",
+                2
+            ],
+            [
+                "IF_API_TYPE_P2P",
+                3
+            ],
+            [
+                "IF_API_TYPE_PIPE",
+                4
+            ],
+            {
+                "enumtype": "u32"
+            }
+        ]
+    ],
+    "services": {
+        "map_add_domain": {
+            "reply": "map_add_domain_reply"
+        },
+        "map_del_domain": {
+            "reply": "map_del_domain_reply"
+        },
+        "map_add_del_rule": {
+            "reply": "map_add_del_rule_reply"
+        },
+        "map_domain_dump": {
+            "reply": "map_domain_details",
+            "stream": true
+        },
+        "map_rule_dump": {
+            "reply": "map_rule_details",
+            "stream": true
+        },
+        "map_if_enable_disable": {
+            "reply": "map_if_enable_disable_reply"
+        },
+        "map_summary_stats": {
+            "reply": "map_summary_stats_reply"
+        },
+        "map_param_set_fragmentation": {
+            "reply": "map_param_set_fragmentation_reply"
+        },
+        "map_param_set_icmp": {
+            "reply": "map_param_set_icmp_reply"
+        },
+        "map_param_set_icmp6": {
+            "reply": "map_param_set_icmp6_reply"
+        },
+        "map_param_add_del_pre_resolve": {
+            "reply": "map_param_add_del_pre_resolve_reply"
+        },
+        "map_param_set_security_check": {
+            "reply": "map_param_set_security_check_reply"
+        },
+        "map_param_set_traffic_class": {
+            "reply": "map_param_set_traffic_class_reply"
+        },
+        "map_param_set_tcp": {
+            "reply": "map_param_set_tcp_reply"
+        },
+        "map_param_get": {
+            "reply": "map_param_get_reply"
+        }
+    },
+    "options": {
+        "version": "4.1.1"
+    },
+    "aliases": {
+        "ip4_address": {
+            "type": "u8",
+            "length": 4
+        },
+        "ip6_address": {
+            "type": "u8",
+            "length": 16
+        },
+        "address_with_prefix": {
+            "type": "vl_api_prefix_t"
+        },
+        "ip4_address_with_prefix": {
+            "type": "vl_api_ip4_prefix_t"
+        },
+        "ip6_address_with_prefix": {
+            "type": "vl_api_ip6_prefix_t"
+        },
+        "interface_index": {
+            "type": "u32"
+        }
+    },
+    "vl_api_version": "0x42c84657"
+}