+ if (task->accur_pos) {
+ task->delayed_latency_entries = prox_zmalloc(sizeof(*task->delayed_latency_entries) * task->generator_count , socket_id);
+ PROX_PANIC(task->delayed_latency_entries == NULL, "Failed to allocate array for storing delayed latency entries\n");
+ for (uint i = 0; i < task->generator_count; i++) {
+ task->delayed_latency_entries[i] = prox_zmalloc(sizeof(**task->delayed_latency_entries) * ACCURACY_BUFFER_SIZE, socket_id);
+ PROX_PANIC(task->delayed_latency_entries[i] == NULL, "Failed to allocate array for storing delayed latency entries\n");
+ }
+ if (task->unique_id_pos == 0) {
+ /* When using accuracy feature, the accuracy from TX is written ACCURACY_BUFFER_SIZE packets later
+ * We can only retrieve the good packet if a packet id is written to it.
+ * Otherwise we will use the packet RECEIVED ACCURACY_BUFFER_SIZE packets ago which is OK if
+ * packets are not re-ordered. If packets are re-ordered, then the matching between
+ * the tx accuracy znd the latency is wrong.
+ */
+ plog_warn("\tWhen accuracy feature is used, a unique id should ideally also be used\n");
+ }
+ }
+