{
    "types": [
        [
            "address",
            [
                "vl_api_address_family_t",
                "af"
            ],
            [
                "vl_api_address_union_t",
                "un"
            ]
        ],
        [
            "prefix",
            [
                "vl_api_address_t",
                "address"
            ],
            [
                "u8",
                "len"
            ]
        ],
        [
            "mprefix",
            [
                "vl_api_address_family_t",
                "af"
            ],
            [
                "u16",
                "grp_address_length"
            ],
            [
                "vl_api_address_union_t",
                "grp_address"
            ],
            [
                "vl_api_address_union_t",
                "src_address"
            ]
        ],
        [
            "ip6_prefix",
            [
                "vl_api_ip6_address_t",
                "address"
            ],
            [
                "u8",
                "len"
            ]
        ],
        [
            "ip4_prefix",
            [
                "vl_api_ip4_address_t",
                "address"
            ],
            [
                "u8",
                "len"
            ]
        ],
        [
            "prefix_matcher",
            [
                "u8",
                "le"
            ],
            [
                "u8",
                "ge"
            ]
        ],
        [
            "qos_store",
            [
                "vl_api_interface_index_t",
                "sw_if_index"
            ],
            [
                "vl_api_qos_source_t",
                "input_source"
            ],
            [
                "u8",
                "value"
            ]
        ],
        [
            "qos_record",
            [
                "vl_api_interface_index_t",
                "sw_if_index"
            ],
            [
                "vl_api_qos_source_t",
                "input_source"
            ]
        ],
        [
            "qos_egress_map_row",
            [
                "u8",
                "outputs",
                256
            ]
        ],
        [
            "qos_egress_map",
            [
                "u32",
                "id"
            ],
            [
                "vl_api_qos_egress_map_row_t",
                "rows",
                4
            ]
        ],
        [
            "qos_mark",
            [
                "u32",
                "sw_if_index"
            ],
            [
                "u32",
                "map_id"
            ],
            [
                "vl_api_qos_source_t",
                "output_source"
            ]
        ]
    ],
    "messages": [
        [
            "qos_store_enable_disable",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            [
                "bool",
                "enable",
                {
                    "default": "true"
                }
            ],
            [
                "vl_api_qos_store_t",
                "store"
            ],
            {
                "crc": "0x3507235e"
            }
        ],
        [
            "qos_store_enable_disable_reply",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "i32",
                "retval"
            ],
            {
                "crc": "0xe8d4e804"
            }
        ],
        [
            "qos_store_dump",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            {
                "crc": "0x51077d14"
            }
        ],
        [
            "qos_store_details",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "vl_api_qos_store_t",
                "store"
            ],
            {
                "crc": "0x038a6d48"
            }
        ],
        [
            "qos_record_enable_disable",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            [
                "bool",
                "enable",
                {
                    "default": "true"
                }
            ],
            [
                "vl_api_qos_record_t",
                "record"
            ],
            {
                "crc": "0x25b33f88"
            }
        ],
        [
            "qos_record_enable_disable_reply",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "i32",
                "retval"
            ],
            {
                "crc": "0xe8d4e804"
            }
        ],
        [
            "qos_record_dump",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            {
                "crc": "0x51077d14"
            }
        ],
        [
            "qos_record_details",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "vl_api_qos_record_t",
                "record"
            ],
            {
                "crc": "0x4956ccdd"
            }
        ],
        [
            "qos_egress_map_update",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            [
                "vl_api_qos_egress_map_t",
                "map"
            ],
            {
                "crc": "0x6d1c065f"
            }
        ],
        [
            "qos_egress_map_update_reply",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "i32",
                "retval"
            ],
            {
                "crc": "0xe8d4e804"
            }
        ],
        [
            "qos_egress_map_delete",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            [
                "u32",
                "id"
            ],
            {
                "crc": "0x3a91bde5"
            }
        ],
        [
            "qos_egress_map_delete_reply",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "i32",
                "retval"
            ],
            {
                "crc": "0xe8d4e804"
            }
        ],
        [
            "qos_egress_map_dump",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            {
                "crc": "0x51077d14"
            }
        ],
        [
            "qos_egress_map_details",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "vl_api_qos_egress_map_t",
                "map"
            ],
            {
                "crc": "0x46c5653c"
            }
        ],
        [
            "qos_mark_enable_disable",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            [
                "bool",
                "enable",
                {
                    "default": "true"
                }
            ],
            [
                "vl_api_qos_mark_t",
                "mark"
            ],
            {
                "crc": "0x1a010f74"
            }
        ],
        [
            "qos_mark_enable_disable_reply",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "i32",
                "retval"
            ],
            {
                "crc": "0xe8d4e804"
            }
        ],
        [
            "qos_mark_dump",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "client_index"
            ],
            [
                "u32",
                "context"
            ],
            [
                "vl_api_interface_index_t",
                "sw_if_index"
            ],
            {
                "crc": "0xf9e6675e"
            }
        ],
        [
            "qos_mark_details",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "vl_api_qos_mark_t",
                "mark"
            ],
            {
                "crc": "0x89fe81a9"
            }
        ],
        [
            "qos_mark_details_reply",
            [
                "u16",
                "_vl_msg_id"
            ],
            [
                "u32",
                "context"
            ],
            [
                "i32",
                "retval"
            ],
            {
                "crc": "0xe8d4e804"
            }
        ]
    ],
    "unions": [
        [
            "address_union",
            [
                "vl_api_ip4_address_t",
                "ip4"
            ],
            [
                "vl_api_ip6_address_t",
                "ip6"
            ]
        ]
    ],
    "enums": [
        [
            "address_family",
            [
                "ADDRESS_IP4",
                0
            ],
            [
                "ADDRESS_IP6",
                1
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "ip_ecn",
            [
                "IP_API_ECN_NONE",
                0
            ],
            [
                "IP_API_ECN_ECT0",
                1
            ],
            [
                "IP_API_ECN_ECT1",
                2
            ],
            [
                "IP_API_ECN_CE",
                3
            ],
            {
                "enumtype": "u8"
            }
        ],
        [
            "ip_dscp",
            [
                "IP_API_DSCP_CS0",
                0
            ],
            [
                "IP_API_DSCP_CS1",
                8
            ],
            [
                "IP_API_DSCP_AF11",
                10
            ],
            [
                "IP_API_DSCP_AF12",
                12
            ],
            [
                "IP_API_DSCP_AF13",
                14
            ],
            [
                "IP_API_DSCP_CS2",
                16
            ],
            [
                "IP_API_DSCP_AF21",
                18
            ],
            [
                "IP_API_DSCP_AF22",
                20
            ],
            [
                "IP_API_DSCP_AF23",
                22
            ],
            [
                "IP_API_DSCP_CS3",
                24
            ],
            [
                "IP_API_DSCP_AF31",
                26
            ],
            [
                "IP_API_DSCP_AF32",
                28
            ],
            [
                "IP_API_DSCP_AF33",
                30
            ],
            [
                "IP_API_DSCP_CS4",
                32
            ],
            [
                "IP_API_DSCP_AF41",
                34
            ],
            [
                "IP_API_DSCP_AF42",
                36
            ],
            [
                "IP_API_DSCP_AF43",
                38
            ],
            [
                "IP_API_DSCP_CS5",
                40
            ],
            [
                "IP_API_DSCP_EF",
                46
            ],
            [
                "IP_API_DSCP_CS6",
                48
            ],
            [
                "IP_API_DSCP_CS7",
                50
            ],
            {
                "enumtype": "u8"
            }
        ],
        [
            "ip_proto",
            [
                "IP_API_PROTO_HOPOPT",
                0
            ],
            [
                "IP_API_PROTO_ICMP",
                1
            ],
            [
                "IP_API_PROTO_IGMP",
                2
            ],
            [
                "IP_API_PROTO_TCP",
                6
            ],
            [
                "IP_API_PROTO_UDP",
                17
            ],
            [
                "IP_API_PROTO_GRE",
                47
            ],
            [
                "IP_API_PROTO_AH",
                50
            ],
            [
                "IP_API_PROTO_ESP",
                51
            ],
            [
                "IP_API_PROTO_EIGRP",
                88
            ],
            [
                "IP_API_PROTO_OSPF",
                89
            ],
            [
                "IP_API_PROTO_SCTP",
                132
            ],
            [
                "IP_API_PROTO_RESERVED",
                255
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "if_status_flags",
            [
                "IF_STATUS_API_FLAG_ADMIN_UP",
                1
            ],
            [
                "IF_STATUS_API_FLAG_LINK_UP",
                2
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "mtu_proto",
            [
                "MTU_PROTO_API_L3",
                1
            ],
            [
                "MTU_PROTO_API_IP4",
                2
            ],
            [
                "MTU_PROTO_API_IP6",
                3
            ],
            [
                "MTU_PROTO_API_MPLS",
                4
            ],
            [
                "MTU_PROTO_API_N",
                5
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "link_duplex",
            [
                "LINK_DUPLEX_API_UNKNOWN",
                0
            ],
            [
                "LINK_DUPLEX_API_HALF",
                1
            ],
            [
                "LINK_DUPLEX_API_FULL",
                2
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "sub_if_flags",
            [
                "SUB_IF_API_FLAG_NO_TAGS",
                1
            ],
            [
                "SUB_IF_API_FLAG_ONE_TAG",
                2
            ],
            [
                "SUB_IF_API_FLAG_TWO_TAGS",
                4
            ],
            [
                "SUB_IF_API_FLAG_DOT1AD",
                8
            ],
            [
                "SUB_IF_API_FLAG_EXACT_MATCH",
                16
            ],
            [
                "SUB_IF_API_FLAG_DEFAULT",
                32
            ],
            [
                "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
                64
            ],
            [
                "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
                128
            ],
            [
                "SUB_IF_API_FLAG_MASK_VNET",
                254
            ],
            [
                "SUB_IF_API_FLAG_DOT1AH",
                256
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "rx_mode",
            [
                "RX_MODE_API_UNKNOWN",
                0
            ],
            [
                "RX_MODE_API_POLLING",
                1
            ],
            [
                "RX_MODE_API_INTERRUPT",
                2
            ],
            [
                "RX_MODE_API_ADAPTIVE",
                3
            ],
            [
                "RX_MODE_API_DEFAULT",
                4
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "if_type",
            [
                "IF_API_TYPE_HARDWARE",
                1
            ],
            [
                "IF_API_TYPE_SUB",
                2
            ],
            [
                "IF_API_TYPE_P2P",
                3
            ],
            [
                "IF_API_TYPE_PIPE",
                4
            ],
            {
                "enumtype": "u32"
            }
        ],
        [
            "qos_source",
            [
                "QOS_API_SOURCE_EXT",
                0
            ],
            [
                "QOS_API_SOURCE_VLAN",
                1
            ],
            [
                "QOS_API_SOURCE_MPLS",
                2
            ],
            [
                "QOS_API_SOURCE_IP",
                3
            ],
            {
                "enumtype": "u8"
            }
        ]
    ],
    "services": {
        "qos_store_enable_disable": {
            "reply": "qos_store_enable_disable_reply"
        },
        "qos_store_dump": {
            "reply": "qos_store_details",
            "stream": true
        },
        "qos_record_enable_disable": {
            "reply": "qos_record_enable_disable_reply"
        },
        "qos_record_dump": {
            "reply": "qos_record_details",
            "stream": true
        },
        "qos_egress_map_update": {
            "reply": "qos_egress_map_update_reply"
        },
        "qos_egress_map_delete": {
            "reply": "qos_egress_map_delete_reply"
        },
        "qos_egress_map_dump": {
            "reply": "qos_egress_map_details",
            "stream": true
        },
        "qos_mark_enable_disable": {
            "reply": "qos_mark_enable_disable_reply"
        },
        "qos_mark_dump": {
            "reply": "qos_mark_details",
            "stream": true
        }
    },
    "options": {
        "version": "1.1.1"
    },
    "aliases": {
        "ip4_address": {
            "type": "u8",
            "length": 4
        },
        "ip6_address": {
            "type": "u8",
            "length": 16
        },
        "address_with_prefix": {
            "type": "vl_api_prefix_t"
        },
        "ip4_address_with_prefix": {
            "type": "vl_api_ip4_prefix_t"
        },
        "ip6_address_with_prefix": {
            "type": "vl_api_ip6_prefix_t"
        },
        "interface_index": {
            "type": "u32"
        }
    },
    "vl_api_version": "0x86291f7f"
}