Fix binapigen decoding and minor improvements
[govpp.git] / internal / testbinapi / binapi2001 / .vppapi / core / ip.api.json
diff --git a/internal/testbinapi/binapi2001/.vppapi/core/ip.api.json b/internal/testbinapi/binapi2001/.vppapi/core/ip.api.json
new file mode 100644 (file)
index 0000000..66f0284
--- /dev/null
@@ -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"
+}