}
}
+static void
+event_port_flush(uint8_t dev_id __rte_unused, struct rte_event ev,
+ void *args __rte_unused)
+{
+ rte_mempool_put(args, ev.event_ptr);
+}
+
static inline void
worker_cleanup(uint8_t dev_id, uint8_t port_id, struct rte_event events[],
uint16_t nb_enq, uint16_t nb_deq)
events[i].op = RTE_EVENT_OP_RELEASE;
rte_event_enqueue_burst(dev_id, port_id, events, nb_deq);
}
+
+ rte_event_port_quiesce(dev_id, port_id, event_port_flush, NULL);
}
void set_worker_generic_setup_data(struct setup_data *caps, bool burst);
* selected.
*/
+static void
+ipsec_event_port_flush(uint8_t eventdev_id __rte_unused, struct rte_event ev,
+ void *args __rte_unused)
+{
+ rte_pktmbuf_free(ev.mbuf);
+}
+
/* Workers registered */
#define IPSEC_EVENTMODE_WORKERS 2
rte_event_enqueue_burst(links[0].eventdev_id,
links[0].event_port_id, &ev, 1);
}
+
+ rte_event_port_quiesce(links[0].eventdev_id, links[0].event_port_id,
+ ipsec_event_port_flush, NULL);
}
/*
rte_event_enqueue_burst(links[0].eventdev_id,
links[0].event_port_id, &ev, 1);
}
+
+ rte_event_port_quiesce(links[0].eventdev_id, links[0].event_port_id,
+ ipsec_event_port_flush, NULL);
}
static uint8_t
}
}
+static void
+l2fwd_event_port_flush(uint8_t event_d_id __rte_unused, struct rte_event ev,
+ void *args __rte_unused)
+{
+ if (ev.event_type & RTE_EVENT_TYPE_VECTOR)
+ l2fwd_event_vector_array_free(&ev, 1);
+ else
+ rte_pktmbuf_free(ev.mbuf);
+}
+
void
l2fwd_event_worker_cleanup(uint8_t event_d_id, uint8_t port_id,
struct rte_event events[], uint16_t nb_enq,
events[i].op = RTE_EVENT_OP_RELEASE;
rte_event_enqueue_burst(event_d_id, port_id, events, nb_deq);
}
+
+ rte_event_port_quiesce(event_d_id, port_id, l2fwd_event_port_flush,
+ NULL);
}
}
}
+static void
+l3fwd_event_port_flush(uint8_t event_d_id __rte_unused, struct rte_event ev,
+ void *args __rte_unused)
+{
+ if (ev.event_type & RTE_EVENT_TYPE_VECTOR)
+ l3fwd_event_vector_array_free(&ev, 1);
+ else
+ rte_pktmbuf_free(ev.mbuf);
+}
+
void
l3fwd_event_worker_cleanup(uint8_t event_d_id, uint8_t event_p_id,
struct rte_event events[], uint16_t nb_enq,
events[i].op = RTE_EVENT_OP_RELEASE;
rte_event_enqueue_burst(event_d_id, event_p_id, events, nb_deq);
}
+
+ rte_event_port_quiesce(event_d_id, event_p_id, l3fwd_event_port_flush,
+ NULL);
}