*/
uint64_t processed, hpr_removed;
+ /*
+ * This monotonically increases with each datagram received. It is used for
+ * diagnostic purposes only.
+ */
+ uint64_t datagram_id;
+
/*
* Address of peer we received the datagram from, and the local interface
* address we received it on. If local address support is not enabled, local
*/
size_t mtu;
+ /* The datagram_id to use for the next datagram we receive. */
+ uint64_t next_datagram_id;
+
/* Time retrieval callback. */
OSSL_TIME (*now)(void *arg);
void *now_arg;
urxe->data_len = msg[i].data_len;
/* Time we received datagram. */
urxe->time = now;
+ urxe->datagram_id = demux->next_datagram_id++;
/* Move from free list to pending list. */
ossl_list_urxe_remove(&demux->urx_free, urxe);
ossl_list_urxe_insert_tail(&demux->urx_pending, urxe);