/* CTF 1.8 */
typealias integer {size = 8; base = x;}:= uint8_t;
typealias integer {size = 16; base = x;} := uint16_t;
typealias integer {size = 32; base = x;} := uint32_t;
typealias integer {size = 64; base = x;} := uint64_t;
typealias integer {size = 8; signed = true;}  := int8_t;
typealias integer {size = 16; signed = true;} := int16_t;
typealias integer {size = 32; signed = true;} := int32_t;
typealias integer {size = 64; signed = true;} := int64_t;
typealias integer {size = 64; base = x;} := uintptr_t;
typealias integer {size = 64; base = x;} := long;
typealias integer {size = 8; signed = false; encoding = ASCII; } := string_bounded_t;

typealias integer {size = 64; base = x;} := size_t;
typealias floating_point {
    exp_dig = 8;
    mant_dig = 24;
} := float;

typealias floating_point {
    exp_dig = 11;
    mant_dig = 53;
} := double;

trace {
    major = 1;
    minor = 8;
    uuid = "000012f3-00a6-4370-8f50-222ddd514176";
    byte_order = le;
    packet.header := struct {
	    uint32_t magic;
	    uint8_t  uuid[16];
    };
};

env {
    dpdk_version = "MLNX_DPDK 22.11.0.0.8";
    tracer_name = "dpdk";
};

clock {
    name = "dpdk";
    freq =           2600000000;
    offset_s =          1674425283;
    offset =          2161379011;
};

typealias integer {
    size = 48; align = 1; signed = false;
    map = clock.dpdk.value;
} := uint48_clock_dpdk_t;

stream {
    packet.context := struct {
         uint32_t cpu_id;
         string_bounded_t name[32];
    };
    event.header := struct {
          uint48_clock_dpdk_t timestamp;
          uint16_t id;
    } align(64);
};

event {
    id = 0;
    name = "lib.eventdev.configure";
    fields := struct {
        uint8_t dev_id;
        uint32_t dev_conf_dequeue_timeout_ns;
        int32_t dev_conf_nb_events_limit;
        uint8_t dev_conf_nb_event_queues;
        uint8_t dev_conf_nb_event_ports;
        uint32_t dev_conf_nb_event_queue_flows;
        uint32_t dev_conf_nb_event_port_dequeue_depth;
        uint32_t dev_conf_nb_event_port_enqueue_depth;
        uint32_t dev_conf_event_dev_cfg;
        uint8_t dev_conf_nb_single_link_event_port_queues;
        int32_t rc;
    };
};

event {
    id = 1;
    name = "lib.eventdev.queue.setup";
    fields := struct {
        uint8_t dev_id;
        uint8_t queue_id;
        uint32_t queue_conf_nb_atomic_flows;
        uint32_t queue_conf_nb_atomic_order_sequences;
        uint32_t queue_conf_event_queue_cfg;
        uint8_t queue_conf_schedule_type;
        uint8_t queue_conf_priority;
    };
};

event {
    id = 2;
    name = "lib.eventdev.port.setup";
    fields := struct {
        uint8_t dev_id;
        uint8_t port_id;
        int32_t port_conf_new_event_threshold;
        uint16_t port_conf_dequeue_depth;
        uint16_t port_conf_enqueue_depth;
        uint32_t port_conf_event_port_cfg;
        int32_t rc;
    };
};

event {
    id = 3;
    name = "lib.eventdev.port.link";
    fields := struct {
        uint8_t dev_id;
        uint8_t port_id;
        uint16_t nb_links;
        int32_t rc;
    };
};

event {
    id = 4;
    name = "lib.eventdev.port.unlink";
    fields := struct {
        uint8_t dev_id;
        uint8_t port_id;
        uint16_t nb_unlinks;
        int32_t rc;
    };
};

event {
    id = 5;
    name = "lib.eventdev.start";
    fields := struct {
        uint8_t dev_id;
        int32_t rc;
    };
};

event {
    id = 6;
    name = "lib.eventdev.stop";
    fields := struct {
        uint8_t dev_id;
    };
};

event {
    id = 7;
    name = "lib.eventdev.close";
    fields := struct {
        uint8_t dev_id;
    };
};

event {
    id = 8;
    name = "lib.eventdev.enq.burst";
    fields := struct {
        uint8_t dev_id;
        uint8_t port_id;
        uintptr_t ev_table;
        uint16_t nb_events;
        uintptr_t enq_mode_cb;
    };
};

event {
    id = 9;
    name = "lib.eventdev.deq.burst";
    fields := struct {
        uint8_t dev_id;
        uint8_t port_id;
        uintptr_t ev_table;
        uint16_t nb_events;
    };
};

event {
    id = 10;
    name = "lib.eventdev.maintain";
    fields := struct {
        uint8_t dev_id;
        uint8_t port_id;
        int32_t op;
    };
};

event {
    id = 11;
    name = "lib.eventdev.rx.adapter.create";
    fields := struct {
        uint8_t adptr_id;
        uint8_t dev_id;
        uintptr_t conf_cb;
        uintptr_t conf_arg;
    };
};

event {
    id = 12;
    name = "lib.eventdev.rx.adapter.free";
    fields := struct {
        uint8_t adptr_id;
    };
};

event {
    id = 13;
    name = "lib.eventdev.rx.adapter.queue.add";
    fields := struct {
        uint8_t adptr_id;
        uint16_t eth_dev_id;
        int32_t rx_queue_id;
        uint32_t queue_conf_rx_queue_flags;
        uint16_t queue_conf_servicing_weight;
        uint8_t queue_conf_ev_queue_id;
        uint8_t queue_conf_ev_priority;
        int32_t rc;
    };
};

event {
    id = 14;
    name = "lib.eventdev.rx.adapter.queue.del";
    fields := struct {
        uint8_t adptr_id;
        uint16_t eth_dev_id;
        int32_t rx_queue_id;
        int32_t rc;
    };
};

event {
    id = 15;
    name = "lib.eventdev.rx.adapter.start";
    fields := struct {
        uint8_t adptr_id;
    };
};

event {
    id = 16;
    name = "lib.eventdev.rx.adapter.stop";
    fields := struct {
        uint8_t adptr_id;
    };
};

event {
    id = 17;
    name = "lib.eventdev.tx.adapter.create";
    fields := struct {
        uint8_t adptr_id;
        uint8_t dev_id;
        int32_t port_conf_new_event_threshold;
        uint16_t port_conf_dequeue_depth;
        uint16_t port_conf_enqueue_depth;
        uint32_t port_conf_event_port_cfg;
        uintptr_t conf_cb;
        int32_t rc;
    };
};

event {
    id = 18;
    name = "lib.eventdev.tx.adapter.free";
    fields := struct {
        uint8_t adptr_id;
        int32_t rc;
    };
};

event {
    id = 19;
    name = "lib.eventdev.tx.adapter.queue.add";
    fields := struct {
        uint8_t adptr_id;
        uint16_t eth_dev_id;
        int32_t queue;
        int32_t rc;
    };
};

event {
    id = 20;
    name = "lib.eventdev.tx.adapter.queue.del";
    fields := struct {
        uint8_t adptr_id;
        uint16_t eth_dev_id;
        int32_t queue;
        int32_t rc;
    };
};

event {
    id = 21;
    name = "lib.eventdev.tx.adapter.start";
    fields := struct {
        uint8_t adptr_id;
        int32_t rc;
    };
};

event {
    id = 22;
    name = "lib.eventdev.tx.adapter.stop";
    fields := struct {
        uint8_t adptr_id;
        int32_t rc;
    };
};

event {
    id = 23;
    name = "lib.eventdev.tx.adapter.enq";
    fields := struct {
        uint8_t dev_id;
        uint8_t port_id;
        uintptr_t ev_table;
        uint16_t nb_events;
        uint8_t flags;
    };
};

event {
    id = 24;
    name = "lib.eventdev.timer.create";
    fields := struct {
        uint16_t adapter_id;
        uintptr_t adapter;
        uintptr_t conf;
        uint8_t conf_event_dev_id;
        uint16_t conf_timer_adapter_id;
        uint64_t conf_timer_tick_ns;
        uint64_t conf_max_tmo_ns;
        uint64_t conf_nb_timers;
        uint64_t conf_flags;
        uintptr_t conf_cb;
    };
};

event {
    id = 25;
    name = "lib.eventdev.timer.start";
    fields := struct {
        uintptr_t adapter;
    };
};

event {
    id = 26;
    name = "lib.eventdev.timer.stop";
    fields := struct {
        uintptr_t adapter;
    };
};

event {
    id = 27;
    name = "lib.eventdev.timer.free";
    fields := struct {
        uintptr_t adapter;
    };
};

event {
    id = 28;
    name = "lib.eventdev.timer.burst";
    fields := struct {
        uintptr_t adapter;
        uintptr_t evtims_table;
        uint16_t nb_evtims;
    };
};

event {
    id = 29;
    name = "lib.eventdev.timer.tick.burst";
    fields := struct {
        uintptr_t adapter;
        uint64_t timeout_ticks;
        uintptr_t evtims_table;
        uint16_t nb_evtims;
    };
};

event {
    id = 30;
    name = "lib.eventdev.timer.cancel";
    fields := struct {
        uintptr_t adapter;
        uintptr_t evtims_table;
        uint16_t nb_evtims;
    };
};

event {
    id = 31;
    name = "lib.eventdev.crypto.create";
    fields := struct {
        uint8_t adptr_id;
        uint8_t dev_id;
        uintptr_t adapter;
        uint8_t mode;
        int32_t port_conf_new_event_threshold;
        uint16_t port_conf_dequeue_depth;
        uint16_t port_conf_enqueue_depth;
        uint32_t port_conf_event_port_cfg;
    };
};

event {
    id = 32;
    name = "lib.eventdev.crypto.free";
    fields := struct {
        uint8_t adptr_id;
        uintptr_t adapter;
    };
};

event {
    id = 33;
    name = "lib.eventdev.crypto.queue.add";
    fields := struct {
        uint8_t adptr_id;
        uint8_t cdev_id;
        int32_t queue_pair_id;
        uintptr_t conf;
    };
};

event {
    id = 34;
    name = "lib.eventdev.crypto.queue.del";
    fields := struct {
        uint8_t adptr_id;
        uint8_t cdev_id;
        int32_t queue_pair_id;
        int32_t rc;
    };
};

event {
    id = 35;
    name = "lib.eventdev.crypto.start";
    fields := struct {
        uint8_t adptr_id;
        uintptr_t adapter;
    };
};

event {
    id = 36;
    name = "lib.eventdev.crypto.stop";
    fields := struct {
        uint8_t adptr_id;
    };
};

event {
    id = 37;
    name = "lib.eventdev.crypto.enq";
    fields := struct {
        uint8_t dev_id;
        uint8_t port_id;
        uintptr_t ev_table;
        uint16_t nb_events;
    };
};

event {
    id = 38;
    name = "lib.cryptodev.configure";
    fields := struct {
        uint8_t dev_id;
        uint16_t conf_nb_queue_pairs;
        int64_t conf_ff_disable;
    };
};

event {
    id = 39;
    name = "lib.cryptodev.start";
    fields := struct {
        uint8_t dev_id;
        int32_t rc;
    };
};

event {
    id = 40;
    name = "lib.cryptodev.stop";
    fields := struct {
        uint8_t dev_id;
    };
};

event {
    id = 41;
    name = "lib.cryptodev.close";
    fields := struct {
        uint8_t dev_id;
        int32_t rc;
    };
};

event {
    id = 42;
    name = "lib.cryptodev.queue.pair.setup";
    fields := struct {
        uint8_t dev_id;
        uint16_t queue_pair_id;
        uint32_t conf_nb_descriptors;
        uintptr_t conf_mp_session;
    };
};

event {
    id = 43;
    name = "lib.cryptodev.sym.pool.create";
    fields := struct {
        string_bounded_t name[32];
        uint32_t nb_elts;
        uint32_t elt_size;
        uint32_t cache_size;
        uint16_t user_data_size;
        uintptr_t mempool;
    };
};

event {
    id = 44;
    name = "lib.cryptodev.asym.pool.create";
    fields := struct {
        string_bounded_t name[32];
        uint32_t nb_elts;
        uint16_t user_data_size;
        uint32_t cache_size;
        uintptr_t mempool;
    };
};

event {
    id = 45;
    name = "lib.cryptodev.sym.create";
    fields := struct {
        uint8_t dev_id;
        uintptr_t sess;
        uintptr_t xforms;
        uintptr_t mempool;
    };
};

event {
    id = 46;
    name = "lib.cryptodev.asym.create";
    fields := struct {
        uint8_t dev_id;
        uintptr_t xforms;
        uintptr_t mempool;
        uintptr_t sess;
    };
};

event {
    id = 47;
    name = "lib.cryptodev.sym.free";
    fields := struct {
        uint8_t dev_id;
        uintptr_t sess;
    };
};

event {
    id = 48;
    name = "lib.cryptodev.asym.free";
    fields := struct {
        uint8_t dev_id;
        uintptr_t sess;
    };
};

event {
    id = 49;
    name = "lib.cryptodev.enq.burst";
    fields := struct {
        uint8_t dev_id;
        uint16_t qp_id;
        uintptr_t ops;
        uint16_t nb_ops;
    };
};

event {
    id = 50;
    name = "lib.cryptodev.deq.burst";
    fields := struct {
        uint8_t dev_id;
        uint16_t qp_id;
        uintptr_t ops;
        uint16_t nb_ops;
    };
};

event {
    id = 51;
    name = "lib.cryptodev.callback.register";
    fields := struct {
        uint8_t dev_id;
        int32_t _event;
        uintptr_t cb_fn;
    };
};

event {
    id = 52;
    name = "lib.cryptodev.callback.unregister";
    fields := struct {
        uint8_t dev_id;
        int32_t _event;
        uintptr_t cb_fn;
    };
};

event {
    id = 53;
    name = "lib.cryptodev.device.count.by.driver";
    fields := struct {
        uint8_t driver_id;
        uint8_t dev_count;
    };
};

event {
    id = 54;
    name = "lib.cryptodev.devices.get";
    fields := struct {
        string_bounded_t driver_name[32];
        uint8_t count;
    };
};

event {
    id = 55;
    name = "lib.cryptodev.driver.id.get";
    fields := struct {
        string_bounded_t name[32];
        int32_t driver_id;
    };
};

event {
    id = 56;
    name = "lib.cryptodev.driver.name.get";
    fields := struct {
        uint8_t driver_id;
        string_bounded_t name[32];
    };
};

event {
    id = 57;
    name = "lib.cryptodev.get.aead.algo.enum";
    fields := struct {
        string_bounded_t algo_string[32];
        int32_t algo_enum;
        int32_t ret;
    };
};

event {
    id = 58;
    name = "lib.cryptodev.get.auth.algo.enum";
    fields := struct {
        string_bounded_t algo_string[32];
        int32_t algo_enum;
        int32_t ret;
    };
};

event {
    id = 59;
    name = "lib.cryptodev.get.cipher.algo.enum";
    fields := struct {
        string_bounded_t algo_string[32];
        int32_t algo_enum;
        int32_t ret;
    };
};

event {
    id = 60;
    name = "lib.cryptodev.get.dev.id";
    fields := struct {
        string_bounded_t name[32];
        int32_t ret;
    };
};

event {
    id = 61;
    name = "lib.cryptodev.get.feature.name";
    fields := struct {
        uint64_t flag;
    };
};

event {
    id = 62;
    name = "lib.cryptodev.get.sec.ctx";
    fields := struct {
        uint8_t dev_id;
        uintptr_t sec_ctx;
    };
};

event {
    id = 63;
    name = "lib.cryptodev.info.get";
    fields := struct {
        uint8_t dev_id;
        string_bounded_t driver_name[32];
    };
};

event {
    id = 64;
    name = "lib.cryptodev.is.valid.dev";
    fields := struct {
        uint8_t dev_id;
        uint32_t ret;
    };
};

event {
    id = 65;
    name = "lib.cryptodev.name.get";
    fields := struct {
        uint8_t dev_id;
        string_bounded_t name[32];
    };
};

event {
    id = 66;
    name = "lib.cryptodev.queue.pair.count";
    fields := struct {
        uintptr_t dev;
        string_bounded_t name[32];
        uint8_t socket_id;
        uint8_t dev_id;
        uint16_t nb_queue_pairs;
    };
};

event {
    id = 67;
    name = "lib.cryptodev.socket.id";
    fields := struct {
        uint8_t dev_id;
        string_bounded_t name[32];
        int32_t socket_id;
    };
};

event {
    id = 68;
    name = "lib.cryptodev.stats.get";
    fields := struct {
        uint8_t dev_id;
        uint64_t stats_enqueued_count;
        uint64_t stats_dequeued_count;
        uint64_t stats_enqueue_err_count;
        uint64_t stats_dequeue_err_count;
    };
};

event {
    id = 69;
    name = "lib.cryptodev.stats.reset";
    fields := struct {
        uint8_t dev_id;
    };
};

event {
    id = 70;
    name = "lib.cryptodev.sym.capability.check.aead";
    fields := struct {
        uintptr_t capability;
        int32_t capability_xform_type;
        uint16_t key_size;
        uint16_t digest_size;
        uint16_t aad_size;
        uint16_t iv_size;
        int32_t ret;
    };
};

event {
    id = 71;
    name = "lib.cryptodev.sym.capability.check.auth";
    fields := struct {
        uintptr_t capability;
        int32_t capability_xform_type;
        uint16_t key_size;
        uint16_t digest_size;
        uint16_t iv_size;
        int32_t ret;
    };
};

event {
    id = 72;
    name = "lib.cryptodev.sym.capability.check.cipher";
    fields := struct {
        uintptr_t capability;
        int32_t capability_xform_type;
        uint16_t key_size;
        uint16_t iv_size;
        int32_t ret;
    };
};

event {
    id = 73;
    name = "lib.cryptodev.sym.capability.get";
    fields := struct {
        uint8_t dev_id;
        string_bounded_t driver_name[32];
        uint8_t driver_id;
        int32_t idx_type;
        uintptr_t sym_capability;
    };
};

event {
    id = 74;
    name = "lib.cryptodev.sym.get.private.session.size";
    fields := struct {
        uint8_t dev_id;
        uint32_t priv_sess_size;
    };
};

event {
    id = 75;
    name = "lib.cryptodev.asym.capability.get";
    fields := struct {
        string_bounded_t driver_name[32];
        uint8_t driver_id;
        int32_t idx_type;
        uintptr_t asym_cap;
    };
};

event {
    id = 76;
    name = "lib.cryptodev.asym.get.private.session.size";
    fields := struct {
        uint8_t dev_id;
        uint32_t priv_sess_size;
    };
};

event {
    id = 77;
    name = "lib.cryptodev.asym.get.xform.enum";
    fields := struct {
        string_bounded_t xform_string[32];
        int32_t xform_enum;
        int32_t ret;
    };
};

event {
    id = 78;
    name = "lib.cryptodev.asym.xform.capability.check.modlen";
    fields := struct {
        uintptr_t capability;
        uint16_t modlen;
        int32_t ret;
    };
};

event {
    id = 79;
    name = "lib.cryptodev.asym.xform.capability.check.optype";
    fields := struct {
        uint32_t op_types;
        int32_t op_type;
        int32_t ret;
    };
};

event {
    id = 80;
    name = "lib.cryptodev.sym.cpu.crypto.process";
    fields := struct {
        uint8_t dev_id;
        uintptr_t sess;
    };
};

event {
    id = 81;
    name = "lib.cryptodev.sym.session.get.user.data";
    fields := struct {
        uintptr_t sess;
        uintptr_t data;
    };
};

event {
    id = 82;
    name = "lib.cryptodev.sym.session.set.user.data";
    fields := struct {
        uintptr_t sess;
        uintptr_t data;
        uint16_t size;
    };
};

event {
    id = 83;
    name = "lib.cryptodev.get.qp.status";
    fields := struct {
        uint8_t dev_id;
        uint16_t queue_pair_id;
        int32_t ret;
    };
};

event {
    id = 84;
    name = "lib.cryptodev.configure.raw.dp.ctx";
    fields := struct {
        uint8_t dev_id;
        uint16_t qp_id;
        int32_t sess_type;
    };
};

event {
    id = 85;
    name = "lib.cryptodev.get.raw.dp.ctx.size";
    fields := struct {
        uint8_t dev_id;
    };
};

event {
    id = 86;
    name = "lib.cryptodev.add.deq.callback";
    fields := struct {
        uint8_t dev_id;
        uint16_t qp_id;
        uintptr_t cb_fn;
    };
};

event {
    id = 87;
    name = "lib.cryptodev.add.enq.callback";
    fields := struct {
        uint8_t dev_id;
        uint16_t qp_id;
        uintptr_t cb_fn;
    };
};

event {
    id = 88;
    name = "lib.cryptodev.remove.deq.callback";
    fields := struct {
        uint8_t dev_id;
        uint16_t qp_id;
        uintptr_t fn;
    };
};

event {
    id = 89;
    name = "lib.cryptodev.remove.enq.callback";
    fields := struct {
        uint8_t dev_id;
        uint16_t qp_id;
        uintptr_t fn;
    };
};

event {
    id = 90;
    name = "lib.cryptodev.asym.session.get.user.data";
    fields := struct {
        uintptr_t sess;
        uintptr_t data;
    };
};

event {
    id = 91;
    name = "lib.cryptodev.asym.session.set.user.data";
    fields := struct {
        uintptr_t sess;
        uintptr_t data;
        uint16_t size;
    };
};

event {
    id = 92;
    name = "lib.cryptodev.session.event.mdata.set";
    fields := struct {
        uint8_t dev_id;
        uintptr_t sess;
        int32_t op_type;
        int32_t sess_type;
        uintptr_t ev_mdata;
        uint16_t size;
    };
};

event {
    id = 93;
    name = "lib.cryptodev.allocate.driver";
    fields := struct {
        string_bounded_t name[32];
    };
};

event {
    id = 94;
    name = "lib.cryptodev.op.pool.create";
    fields := struct {
        string_bounded_t name[32];
        int32_t socket_id;
        int32_t type;
        uint32_t nb_elts;
        uintptr_t mp;
    };
};

event {
    id = 95;
    name = "lib.cryptodev.count";
    fields := struct {
        uint8_t nb_devs;
    };
};

event {
    id = 96;
    name = "lib.ethdev.configure";
    fields := struct {
        uint16_t port_id;
        uint16_t nb_rx_q;
        uint16_t nb_tx_q;
        uint32_t dev_conf_link_speeds;
        uint32_t dev_conf_rxmode_mq_mode;
        uint32_t dev_conf_rxmode_mtu;
        uint64_t dev_conf_rxmode_offloads;
        uint32_t dev_conf_txmode_mq_mode;
        uint64_t dev_conf_txmode_offloads;
        uint32_t dev_conf_lpbk_mode;
        int32_t rc;
    };
};

event {
    id = 97;
    name = "lib.ethdev.rxq.setup";
    fields := struct {
        uint16_t port_id;
        uint16_t rx_queue_id;
        uint16_t nb_rx_desc;
        uintptr_t mp;
        uint8_t rx_conf_rx_thresh_pthresh;
        uint8_t rx_conf_rx_thresh_hthresh;
        uint8_t rx_conf_rx_thresh_wthresh;
        uint8_t rx_conf_rx_drop_en;
        uint8_t rx_conf_rx_deferred_start;
        uint64_t rx_conf_offloads;
        int32_t rc;
    };
};

event {
    id = 98;
    name = "lib.ethdev.txq.setup";
    fields := struct {
        uint16_t port_id;
        uint16_t tx_queue_id;
        uint16_t nb_tx_desc;
        uint8_t tx_conf_tx_thresh_pthresh;
        uint8_t tx_conf_tx_thresh_hthresh;
        uint8_t tx_conf_tx_thresh_wthresh;
        uint8_t tx_conf_tx_deferred_start;
        uint16_t tx_conf_tx_free_thresh;
        uint64_t tx_conf_offloads;
    };
};

event {
    id = 99;
    name = "lib.ethdev.start";
    fields := struct {
        uint16_t port_id;
    };
};

event {
    id = 100;
    name = "lib.ethdev.stop";
    fields := struct {
        uint16_t port_id;
        int32_t ret;
    };
};

event {
    id = 101;
    name = "lib.ethdev.close";
    fields := struct {
        uint16_t port_id;
    };
};

event {
    id = 102;
    name = "lib.ethdev.rx.burst";
    fields := struct {
        uint16_t port_id;
        uint16_t queue_id;
        uintptr_t pkt_tbl;
        uint16_t nb_rx;
    };
};

event {
    id = 103;
    name = "lib.ethdev.tx.burst";
    fields := struct {
        uint16_t port_id;
        uint16_t queue_id;
        uintptr_t pkts_tbl;
        uint16_t nb_pkts;
    };
};

event {
    id = 104;
    name = "lib.mempool.ops.deq.bulk";
    fields := struct {
        uintptr_t mempool;
        uintptr_t obj_table;
        uint32_t nb_objs;
    };
};

event {
    id = 105;
    name = "lib.mempool.ops.deq.contig";
    fields := struct {
        uintptr_t mempool;
        uintptr_t first_obj_table;
        uint32_t nb_objs;
    };
};

event {
    id = 106;
    name = "lib.mempool.ops.enq.bulk";
    fields := struct {
        uintptr_t mempool;
        uintptr_t obj_table;
        uint32_t nb_objs;
    };
};

event {
    id = 107;
    name = "lib.mempool.generic.put";
    fields := struct {
        uintptr_t mempool;
        uintptr_t obj_table;
        uint32_t nb_objs;
        uintptr_t cache;
    };
};

event {
    id = 108;
    name = "lib.mempool.put.bulk";
    fields := struct {
        uintptr_t mempool;
        uintptr_t obj_table;
        uint32_t nb_objs;
        uintptr_t cache;
    };
};

event {
    id = 109;
    name = "lib.mempool.generic.get";
    fields := struct {
        uintptr_t mempool;
        uintptr_t obj_table;
        uint32_t nb_objs;
        uintptr_t cache;
    };
};

event {
    id = 110;
    name = "lib.mempool.get.bulk";
    fields := struct {
        uintptr_t mempool;
        uintptr_t obj_table;
        uint32_t nb_objs;
        uintptr_t cache;
    };
};

event {
    id = 111;
    name = "lib.mempool.get.blocks";
    fields := struct {
        uintptr_t mempool;
        uintptr_t first_obj_table;
        uint32_t nb_objs;
    };
};

event {
    id = 112;
    name = "lib.mempool.create";
    fields := struct {
        string_bounded_t name[32];
        uint32_t nb_elts;
        uint32_t elt_size;
        uint32_t cache_size;
        uint32_t private_data_size;
        uintptr_t mp_init;
        uintptr_t mp_init_arg;
        uintptr_t obj_init;
        uintptr_t obj_init_arg;
        uint32_t flags;
        uintptr_t mempool;
        int32_t mempool_ops_index;
    };
};

event {
    id = 113;
    name = "lib.mempool.create.empty";
    fields := struct {
        string_bounded_t name[32];
        uint32_t nb_elts;
        uint32_t elt_size;
        uint32_t cache_size;
        uint32_t private_data_size;
        uint32_t flags;
        uintptr_t mempool;
        int32_t mempool_ops_index;
    };
};

event {
    id = 114;
    name = "lib.mempool.free";
    fields := struct {
        uintptr_t mempool;
        string_bounded_t mempool_name[32];
    };
};

event {
    id = 115;
    name = "lib.mempool.populate.iova";
    fields := struct {
        uintptr_t mempool;
        string_bounded_t mempool_name[32];
        uintptr_t vaddr;
        uint64_t iova;
        size_t len;
        uintptr_t free_cb;
        uintptr_t opaque;
    };
};

event {
    id = 116;
    name = "lib.mempool.populate.virt";
    fields := struct {
        uintptr_t mempool;
        string_bounded_t mempool_name[32];
        uintptr_t addr;
        size_t len;
        size_t pg_sz;
        uintptr_t free_cb;
        uintptr_t opaque;
    };
};

event {
    id = 117;
    name = "lib.mempool.populate.default";
    fields := struct {
        uintptr_t mempool;
        string_bounded_t mempool_name[32];
    };
};

event {
    id = 118;
    name = "lib.mempool.populate.anon";
    fields := struct {
        uintptr_t mempool;
        string_bounded_t mempool_name[32];
    };
};

event {
    id = 119;
    name = "lib.mempool.cache_create";
    fields := struct {
        uint32_t size;
        int32_t socket_id;
        uintptr_t cache;
        uint32_t cache_len;
        uint32_t cache_flushthresh;
    };
};

event {
    id = 120;
    name = "lib.mempool.cache.free";
    fields := struct {
        uintptr_t cache;
    };
};

event {
    id = 121;
    name = "lib.mempool.default.cache";
    fields := struct {
        uintptr_t mempool;
        uint32_t lcore_id;
        uintptr_t default_cache;
    };
};

event {
    id = 122;
    name = "lib.mempool.get.page.size";
    fields := struct {
        uintptr_t mempool;
        string_bounded_t mempool_name[32];
        size_t pg_sz;
    };
};

event {
    id = 123;
    name = "lib.mempool.cache.flush";
    fields := struct {
        uintptr_t cache;
        uintptr_t mempool;
    };
};

event {
    id = 124;
    name = "lib.mempool.ops.populate";
    fields := struct {
        uintptr_t mempool;
        string_bounded_t mempool_name[32];
        uint32_t max_objs;
        uintptr_t vaddr;
        uint64_t iova;
        size_t len;
        uintptr_t obj_cb;
        uintptr_t obj_cb_arg;
    };
};

event {
    id = 125;
    name = "lib.mempool.ops.alloc";
    fields := struct {
        uintptr_t mempool;
        string_bounded_t mempool_name[32];
    };
};

event {
    id = 126;
    name = "lib.mempool.ops.free";
    fields := struct {
        uintptr_t mempool;
        string_bounded_t mempool_name[32];
    };
};

event {
    id = 127;
    name = "lib.mempool.set.ops.byname";
    fields := struct {
        uintptr_t mempool;
        string_bounded_t mempool_name[32];
        string_bounded_t name[32];
        uintptr_t pool_config;
    };
};

event {
    id = 128;
    name = "lib.eal.generic.void";
    fields := struct {
    };
};

event {
    id = 129;
    name = "lib.eal.generic.u64";
    fields := struct {
        uint64_t in;
    };
};

event {
    id = 130;
    name = "lib.eal.generic.u32";
    fields := struct {
        uint32_t in;
    };
};

event {
    id = 131;
    name = "lib.eal.generic.u16";
    fields := struct {
        uint16_t in;
    };
};

event {
    id = 132;
    name = "lib.eal.generic.u8";
    fields := struct {
        uint8_t in;
    };
};

event {
    id = 133;
    name = "lib.eal.generic.i64";
    fields := struct {
        int64_t in;
    };
};

event {
    id = 134;
    name = "lib.eal.generic.i32";
    fields := struct {
        int32_t in;
    };
};

event {
    id = 135;
    name = "lib.eal.generic.i16";
    fields := struct {
        int16_t in;
    };
};

event {
    id = 136;
    name = "lib.eal.generic.i8";
    fields := struct {
        int8_t in;
    };
};

event {
    id = 137;
    name = "lib.eal.generic.int";
    fields := struct {
        int32_t in;
    };
};

event {
    id = 138;
    name = "lib.eal.generic.long";
    fields := struct {
        long in;
    };
};

event {
    id = 139;
    name = "lib.eal.generic.float";
    fields := struct {
        float in;
    };
};

event {
    id = 140;
    name = "lib.eal.generic.double";
    fields := struct {
        double in;
    };
};

event {
    id = 141;
    name = "lib.eal.generic.ptr";
    fields := struct {
        uintptr_t ptr;
    };
};

event {
    id = 142;
    name = "lib.eal.generic.string";
    fields := struct {
        string_bounded_t str[32];
    };
};

event {
    id = 143;
    name = "lib.eal.generic.size_t";
    fields := struct {
        size_t sz;
    };
};

event {
    id = 144;
    name = "lib.eal.generic.func";
    fields := struct {
        string_bounded_t func[32];
    };
};

event {
    id = 145;
    name = "lib.eal.alarm.set";
    fields := struct {
        uint64_t us;
        uintptr_t cb_fn;
        uintptr_t cb_arg;
        int32_t rc;
    };
};

event {
    id = 146;
    name = "lib.eal.alarm.cancel";
    fields := struct {
        uintptr_t cb_fn;
        uintptr_t cb_arg;
        int32_t count;
    };
};

event {
    id = 147;
    name = "lib.eal.mem.zmalloc";
    fields := struct {
        string_bounded_t type[32];
        size_t size;
        uint32_t _align;
        int32_t socket;
        uintptr_t ptr;
    };
};

event {
    id = 148;
    name = "lib.eal.mem.malloc";
    fields := struct {
        string_bounded_t type[32];
        size_t size;
        uint32_t _align;
        int32_t socket;
        uintptr_t ptr;
    };
};

event {
    id = 149;
    name = "lib.eal.mem.realloc";
    fields := struct {
        size_t size;
        uint32_t _align;
        int32_t socket;
        uintptr_t ptr;
    };
};

event {
    id = 150;
    name = "lib.eal.mem.free";
    fields := struct {
        uintptr_t ptr;
    };
};

event {
    id = 151;
    name = "lib.eal.memzone.reserve";
    fields := struct {
        string_bounded_t name[32];
        size_t len;
        int32_t socket_id;
        uint32_t flags;
        uint32_t _align;
        uint32_t bound;
        uintptr_t mz;
    };
};

event {
    id = 152;
    name = "lib.eal.memzone.lookup";
    fields := struct {
        string_bounded_t name[32];
        uintptr_t memzone;
    };
};

event {
    id = 153;
    name = "lib.eal.memzone.free";
    fields := struct {
        string_bounded_t name[32];
        uintptr_t addr;
        int32_t rc;
    };
};

event {
    id = 154;
    name = "lib.eal.thread.remote.launch";
    fields := struct {
        uintptr_t f;
        uintptr_t arg;
        uint32_t worker_id;
        int32_t rc;
    };
};

event {
    id = 155;
    name = "lib.eal.thread.lcore.ready";
    fields := struct {
        uint32_t lcore_id;
        string_bounded_t cpuset[32];
    };
};

event {
    id = 156;
    name = "lib.eal.intr.register";
    fields := struct {
        int32_t rc;
        int32_t handle_dev_fd;
        int32_t handle_fd;
        int32_t handle_type;
        uint32_t handle_max_intr;
        uint32_t handle_nb_efd;
        uintptr_t cb;
        uintptr_t cb_arg;
    };
};

event {
    id = 157;
    name = "lib.eal.intr.unregister";
    fields := struct {
        int32_t rc;
        int32_t handle_dev_fd;
        int32_t handle_fd;
        int32_t handle_type;
        uint32_t handle_max_intr;
        uint32_t handle_nb_efd;
        uintptr_t cb;
        uintptr_t cb_arg;
    };
};

event {
    id = 158;
    name = "lib.eal.intr.enable";
    fields := struct {
        int32_t rc;
        int32_t handle_dev_fd;
        int32_t handle_fd;
        int32_t handle_type;
        uint32_t handle_max_intr;
        uint32_t handle_nb_efd;
    };
};

event {
    id = 159;
    name = "lib.eal.intr.disable";
    fields := struct {
        int32_t rc;
        int32_t handle_dev_fd;
        int32_t handle_fd;
        int32_t handle_type;
        uint32_t handle_max_intr;
        uint32_t handle_nb_efd;
    };
};

event {
    id = 160;
    name = "pmd.net.mlx5.tx.entry";
    fields := struct {
        uint16_t port_id;
        uint16_t queue_id;
    };
};

event {
    id = 161;
    name = "pmd.net.mlx5.tx.exit";
    fields := struct {
        uint16_t nb_sent;
        uint16_t nb_req;
    };
};

event {
    id = 162;
    name = "pmd.net.mlx5.tx.wqe";
    fields := struct {
        uint32_t opcode;
    };
};

event {
    id = 163;
    name = "pmd.net.mlx5.tx.wait";
    fields := struct {
        uint64_t ts;
    };
};

event {
    id = 164;
    name = "pmd.net.mlx5.tx.push";
    fields := struct {
        uintptr_t mbuf;
        uint32_t mbuf_pkt_len;
        uint16_t mbuf_nb_segs;
        uint16_t wqe_id;
    };
};

event {
    id = 165;
    name = "pmd.net.mlx5.tx.complete";
    fields := struct {
        uint16_t port_id;
        uint16_t queue_id;
        uint64_t ts;
        uint16_t wqe_id;
    };
};

