From b8ebcf9de4ddcb15a9b0ba1eaadb529473165c50 Mon Sep 17 00:00:00 2001 From: Nicolas Iooss Date: Tue, 18 Feb 2025 15:07:11 +0000 Subject: [PATCH] Add additional socket timestamping flags While trying to collect the ACK timestamps, it appeared SOF_TIMESTAMPING_TX_ACK was missing from TimestampingFlag. It was already added to libc a few years ago in https://github.com/rust-lang/libc/pull/2881 . Add the missing flags to TimestampingFlag. --- changelog/2606.added.md | 1 + src/sys/socket/mod.rs | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 changelog/2606.added.md diff --git a/changelog/2606.added.md b/changelog/2606.added.md new file mode 100644 index 0000000000..a793c462ed --- /dev/null +++ b/changelog/2606.added.md @@ -0,0 +1 @@ +Add additional socket timestamping flags to `sys::socket::TimestampingFlag`. diff --git a/src/sys/socket/mod.rs b/src/sys/socket/mod.rs index e26e327d78..c2ca1abbbb 100644 --- a/src/sys/socket/mod.rs +++ b/src/sys/socket/mod.rs @@ -281,8 +281,21 @@ libc_bitflags! { SOF_TIMESTAMPING_RX_SOFTWARE; /// Generate a unique identifier along with each transmitted packet SOF_TIMESTAMPING_OPT_ID; + /// Collect transmitting timestamps prior to entering the packet scheduler + SOF_TIMESTAMPING_TX_SCHED; + /// Collect transmitting timestamps when all data in the send buffer has been acknowledged + SOF_TIMESTAMPING_TX_ACK; + /// Support receive control messages for all timestamped packets + SOF_TIMESTAMPING_OPT_CMSG; /// Return transmit timestamps alongside an empty packet instead of the original packet SOF_TIMESTAMPING_OPT_TSONLY; + /// Collect optional stats that are obtained along with the transmit timestamps + SOF_TIMESTAMPING_OPT_STATS; + /// Enable the SCM_TIMESTAMPING_PKTINFO control message for incoming packets with hardware timestamps + SOF_TIMESTAMPING_OPT_PKTINFO; + /// Request both hardware and software timestamps for outgoing packets when SOF_TIMESTAMPING_TX_HARDWARE and + /// SOF_TIMESTAMPING_TX_SOFTWARE are enabled at the same time + SOF_TIMESTAMPING_OPT_TX_SWHW; } }