Thread (13 messages) 13 messages, 5 authors, 2024-02-29

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

From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2024-02-29 14:44:39
Also in: lkml

Martin KaFai Lau wrote:
On 2/28/24 7:53 AM, Willem de Bruijn wrote:
quoted
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?
Before your patch, I believe FQ had no such guard rails. An skb with
any clockid from SO_TXTIME can arrive at FQ.

With the new clockid field, we could add guard rails in fq_enqueue.
If the bit is set, look up sk_clockid.


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help