{
    "types": [
        [
            "address",
            [
                "vl_api_address_family_t",
                "af"
            ],
            [
                "vl_api_address_union_t",
                "un"
            ]
        ],
        [
            "prefix",
            [
                "vl_api_address_t",
                "address"
            ],
            [
                "u8",
                "len"
            ]
        ],
        [
            "mprefix",
            [
                "vl_api_address_family_t",
                "af"
            ],
            [
                "u16",
                "grp_address_length"
            ],
            [
                "vl_api_address_union_t",
                "grp_address"
            ],
            [
                "vl_api_address_union_t",
                "src_address"
            ]
        ],
        [
            "ip6_prefix",
            [
                "vl_api_ip6_address_t",
                "address"
            ],
            [
                "u8",
                "len"
            ]
        ],
        [
            "ip4_prefix",
            [
                "vl_api_ip4_address_t",
                "address"
            ],
            [
                "u8",
                "len"
            ]
        ],
        [
            "prefix_matcher",
            [
                "u8",
                "le"
            ],
            [
                "u8",
                "ge"
            ]
        ]
    ],
    "messages": [
        [
            "tap_create_v2",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            [
                "u32",
                "id",
                {
                    "default": 4294967295
                }
            ],
            [
                "bool",
                "use_random_mac",
                {
                    "default": "true"
                }
            ],
            [
                "vl_api_mac_address_t",
                "mac_address"
            ],
            [
                "u8",
                "num_rx_queues",
                {
                    "default": 1
                }
            ],
            [
                "u16",
                "tx_ring_sz"
            ],
            [
                "u16",
                "rx_ring_sz"
            ],
            [
                "bool",
                "host_mtu_set"
            ],
            [
                "u32",
                "host_mtu_size"
            ],
            [
                "bool",
                "host_mac_addr_set"
            ],
            [
                "vl_api_mac_address_t",
                "host_mac_addr"
            ],
            [
                "bool",
                "host_ip4_prefix_set"
            ],
            [
                "vl_api_ip4_address_with_prefix_t",
                "host_ip4_prefix"
            ],
            [
                "bool",
                "host_ip6_prefix_set"
            ],
            [
                "vl_api_ip6_address_with_prefix_t",
                "host_ip6_prefix"
            ],
            [
                "bool",
                "host_ip4_gw_set"
            ],
            [
                "vl_api_ip4_address_t",
                "host_ip4_gw"
            ],
            [
                "bool",
                "host_ip6_gw_set"
            ],
            [
                "vl_api_ip6_address_t",
                "host_ip6_gw"
            ],
            [
                "vl_api_tap_flags_t",
                "tap_flags"
            ],
            [
                "bool",
                "host_namespace_set"
            ],
            [
                "string",
                "host_namespace",
                64
            ],
            [
                "bool",
                "host_if_name_set"
            ],
            [
                "string",
                "host_if_name",
                64
            ],
            [
                "bool",
                "host_bridge_set"
            ],
            [
                "string",
                "host_bridge",
                64
            ],
            [
                "string",
                "tag",
                0
            ],
            {
                "crc": "0x445835fd"
            }
        ],
        [
            "tap_create_v2_reply",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "i32",
                "retval"
            ],
            [
                "vl_api_interface_index_t",
                "sw_if_index"
            ],
            {
                "crc": "0x5383d31f"
            }
        ],
        [
            "tap_delete_v2",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            [
                "vl_api_interface_index_t",
                "sw_if_index"
            ],
            {
                "crc": "0xf9e6675e"
            }
        ],
        [
            "tap_delete_v2_reply",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "i32",
                "retval"
            ],
            {
                "crc": "0xe8d4e804"
            }
        ],
        [
            "sw_interface_tap_v2_dump",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            [
                "vl_api_interface_index_t",
                "sw_if_index",
                {
                    "default": 4294967295
                }
            ],
            {
                "crc": "0xf9e6675e"
            }
        ],
        [
            "sw_interface_tap_v2_details",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "u32",
                "sw_if_index"
            ],
            [
                "u32",
                "id"
            ],
            [
                "u16",
                "tx_ring_sz"
            ],
            [
                "u16",
                "rx_ring_sz"
            ],
            [
                "u32",
                "host_mtu_size"
            ],
            [
                "vl_api_mac_address_t",
                "host_mac_addr"
            ],
            [
                "vl_api_ip4_address_with_prefix_t",
                "host_ip4_prefix"
            ],
            [
                "vl_api_ip6_address_with_prefix_t",
                "host_ip6_prefix"
            ],
            [
                "vl_api_tap_flags_t",
                "tap_flags"
            ],
            [
                "string",
                "dev_name",
                64
            ],
            [
                "string",
                "host_if_name",
                64
            ],
            [
                "string",
                "host_namespace",
                64
            ],
            [
                "string",
                "host_bridge",
                64
            ],
            {
                "crc": "0xe53c16de"
            }
        ]
    ],
    "unions": [
        [
            "address_union",
            [
                "vl_api_ip4_address_t",
                "ip4"
            ],
            [
                "vl_api_ip6_address_t",
                "ip6"
            ]
        ]
    ],
    "enums": [
        [
            "if_status_flags",
            [
                "IF_STATUS_API_FLAG_ADMIN_UP",
                1
            ],
            [
                "IF_STATUS_API_FLAG_LINK_UP",
                2
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "mtu_proto",
            [
                "MTU_PROTO_API_L3",
                1
            ],
            [
                "MTU_PROTO_API_IP4",
                2
            ],
            [
                "MTU_PROTO_API_IP6",
                3
            ],
            [
                "MTU_PROTO_API_MPLS",
                4
            ],
            [
                "MTU_PROTO_API_N",
                5
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "link_duplex",
            [
                "LINK_DUPLEX_API_UNKNOWN",
                0
            ],
            [
                "LINK_DUPLEX_API_HALF",
                1
            ],
            [
                "LINK_DUPLEX_API_FULL",
                2
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "sub_if_flags",
            [
                "SUB_IF_API_FLAG_NO_TAGS",
                1
            ],
            [
                "SUB_IF_API_FLAG_ONE_TAG",
                2
            ],
            [
                "SUB_IF_API_FLAG_TWO_TAGS",
                4
            ],
            [
                "SUB_IF_API_FLAG_DOT1AD",
                8
            ],
            [
                "SUB_IF_API_FLAG_EXACT_MATCH",
                16
            ],
            [
                "SUB_IF_API_FLAG_DEFAULT",
                32
            ],
            [
                "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
                64
            ],
            [
                "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
                128
            ],
            [
                "SUB_IF_API_FLAG_MASK_VNET",
                254
            ],
            [
                "SUB_IF_API_FLAG_DOT1AH",
                256
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "rx_mode",
            [
                "RX_MODE_API_UNKNOWN",
                0
            ],
            [
                "RX_MODE_API_POLLING",
                1
            ],
            [
                "RX_MODE_API_INTERRUPT",
                2
            ],
            [
                "RX_MODE_API_ADAPTIVE",
                3
            ],
            [
                "RX_MODE_API_DEFAULT",
                4
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "if_type",
            [
                "IF_API_TYPE_HARDWARE",
                1
            ],
            [
                "IF_API_TYPE_SUB",
                2
            ],
            [
                "IF_API_TYPE_P2P",
                3
            ],
            [
                "IF_API_TYPE_PIPE",
                4
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "address_family",
            [
                "ADDRESS_IP4",
                0
            ],
            [
                "ADDRESS_IP6",
                1
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "ip_ecn",
            [
                "IP_API_ECN_NONE",
                0
            ],
            [
                "IP_API_ECN_ECT0",
                1
            ],
            [
                "IP_API_ECN_ECT1",
                2
            ],
            [
                "IP_API_ECN_CE",
                3
            ],
            {
                "enumtype": "u8"
            }
        ],
        [
            "ip_dscp",
            [
                "IP_API_DSCP_CS0",
                0
            ],
            [
                "IP_API_DSCP_CS1",
                8
            ],
            [
                "IP_API_DSCP_AF11",
                10
            ],
            [
                "IP_API_DSCP_AF12",
                12
            ],
            [
                "IP_API_DSCP_AF13",
                14
            ],
            [
                "IP_API_DSCP_CS2",
                16
            ],
            [
                "IP_API_DSCP_AF21",
                18
            ],
            [
                "IP_API_DSCP_AF22",
                20
            ],
            [
                "IP_API_DSCP_AF23",
                22
            ],
            [
                "IP_API_DSCP_CS3",
                24
            ],
            [
                "IP_API_DSCP_AF31",
                26
            ],
            [
                "IP_API_DSCP_AF32",
                28
            ],
            [
                "IP_API_DSCP_AF33",
                30
            ],
            [
                "IP_API_DSCP_CS4",
                32
            ],
            [
                "IP_API_DSCP_AF41",
                34
            ],
            [
                "IP_API_DSCP_AF42",
                36
            ],
            [
                "IP_API_DSCP_AF43",
                38
            ],
            [
                "IP_API_DSCP_CS5",
                40
            ],
            [
                "IP_API_DSCP_EF",
                46
            ],
            [
                "IP_API_DSCP_CS6",
                48
            ],
            [
                "IP_API_DSCP_CS7",
                50
            ],
            {
                "enumtype": "u8"
            }
        ],
        [
            "ip_proto",
            [
                "IP_API_PROTO_HOPOPT",
                0
            ],
            [
                "IP_API_PROTO_ICMP",
                1
            ],
            [
                "IP_API_PROTO_IGMP",
                2
            ],
            [
                "IP_API_PROTO_TCP",
                6
            ],
            [
                "IP_API_PROTO_UDP",
                17
            ],
            [
                "IP_API_PROTO_GRE",
                47
            ],
            [
                "IP_API_PROTO_AH",
                50
            ],
            [
                "IP_API_PROTO_ESP",
                51
            ],
            [
                "IP_API_PROTO_EIGRP",
                88
            ],
            [
                "IP_API_PROTO_OSPF",
                89
            ],
            [
                "IP_API_PROTO_SCTP",
                132
            ],
            [
                "IP_API_PROTO_RESERVED",
                255
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "tap_flags",
            [
                "TAP_FLAG_GSO",
                1
            ],
            [
                "TAP_FLAG_CSUM_OFFLOAD",
                2
            ],
            {
                "enumtype": "u32"
            }
        ]
    ],
    "services": {
        "tap_create_v2": {
            "reply": "tap_create_v2_reply"
        },
        "tap_delete_v2": {
            "reply": "tap_delete_v2_reply"
        },
        "sw_interface_tap_v2_dump": {
            "reply": "sw_interface_tap_v2_details",
            "stream": true
        }
    },
    "options": {
        "version": "3.0.0"
    },
    "aliases": {
        "interface_index": {
            "type": "u32"
        },
        "mac_address": {
            "type": "u8",
            "length": 6
        },
        "ip4_address": {
            "type": "u8",
            "length": 4
        },
        "ip6_address": {
            "type": "u8",
            "length": 16
        },
        "address_with_prefix": {
            "type": "vl_api_prefix_t"
        },
        "ip4_address_with_prefix": {
            "type": "vl_api_ip4_prefix_t"
        },
        "ip6_address_with_prefix": {
            "type": "vl_api_ip6_prefix_t"
        }
    },
    "vl_api_version": "0x7d58f9a4"
}