• Martin KaFai Lau's avatar
    net: ipv6: Get rcv timestamp if needed when handling hop-by-hop IOAM option · b6561f84
    Martin KaFai Lau authored
    IOAM is a hop-by-hop option with a temporary iana allocation (49).
    Since it is hop-by-hop, it is done before the input routing decision.
    One of the traced data field is the (rcv) timestamp.
    
    When the locally generated skb is looping from egress to ingress over
    a virtual interface (e.g. veth, loopback...), skb->tstamp may have the
    delivery time before it is known that it will be delivered locally
    and received by another sk.
    
    Like handling the network tapping (tcpdump) in the earlier patch,
    this patch gets the timestamp if needed without over-writing the
    delivery_time in the skb->tstamp.  skb_tstamp_cond() is added to do the
    ktime_get_real() with an extra cond arg to check on top of the
    netstamp_needed_key static key.  skb_tstamp_cond() will also be used in
    a latter patch and it needs the netstamp_needed_key check.
    Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b6561f84
ioam6.c 22 KB