Re: [PATCH net-next v2] net: Modify mono_delivery_time with clockid_delivery_time

From: Martin KaFai Lau
Date: Wed Feb 28 2024 - 22:06:48 EST


On 2/28/24 7:53 AM, Willem de Bruijn wrote:
Sidenote: with sk_clockid, FQ could detect when skb->tstamp is not
set in monotonic (i.e., set by SO_TXTIME) and drop the packet or
ignore the embedded timestamp, warn, etc.

Thanks for cc-ing me. Sorry for the late reply. I just catch up to this thread and the v1.

I think it is needed to detect if skb->tstamp is monotonic or not in fq. The container (with the veth setup) may use sch_etf while the host usually uses fq at the physical NIC and expects monotonic skb->tstamp.

During forward (e.g. by bpf_redirect / ip[6]_forward from a veth to a physical NIC), skb_clear_tstamp() only forwards the monotonic skb->tstamp now. While sch_etf does check sk_clockid first before using skb->tstamp, fq does not check that now.
or fq_packet_beyond_horizon() is enough to catch this clock discrepancy?