[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1516235294.3606.18.camel@gmail.com>
Date: Wed, 17 Jan 2018 16:28:14 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Jesus Sanchez-Palencia <jesus.sanchez-palencia@...el.com>,
netdev@...r.kernel.org
Cc: jhs@...atatu.com, xiyou.wangcong@...il.com, jiri@...nulli.us,
vinicius.gomes@...el.com, richardcochran@...il.com,
intel-wired-lan@...ts.osuosl.org, anna-maria@...utronix.de,
henrik@...tad.us, tglx@...utronix.de, john.stultz@...aro.org,
andre.guedes@...el.com, ivan.briano@...el.com,
levi.pearson@...man.com, Richard Cochran <rcochran@...utronix.de>
Subject: Re: [RFC v2 net-next 02/10] net: ipv4: raw: Hook into time based
transmission.
On Wed, 2018-01-17 at 15:06 -0800, Jesus Sanchez-Palencia wrote:
> From: Richard Cochran <rcochran@...utronix.de>
>
> For raw packets, copy the desired future transmit time from the CMSG
> cookie into the skb.
>
> Signed-off-by: Richard Cochran <rcochran@...utronix.de>
> Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@...el.com>
> ---
> net/ipv4/raw.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
> index 136544b36a46..e37ea8ab6a78 100644
> --- a/net/ipv4/raw.c
> +++ b/net/ipv4/raw.c
> @@ -381,6 +381,7 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
>
> skb->priority = sk->sk_priority;
> skb->mark = sk->sk_mark;
> + skb->tstamp = sockc->transmit_time;
> skb_dst_set(skb, &rt->dst);
> *rtp = NULL;
>
> @@ -562,6 +563,7 @@ static int raw_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
> }
>
> ipc.sockc.tsflags = sk->sk_tsflags;
> + ipc.sockc.transmit_time = 0;
> ipc.addr = inet->inet_saddr;
> ipc.opt = NULL;
> ipc.tx_flags = 0;
It seems that skb_scrub_packet() will clear skb->tstamp, meaning that
going through a tunnel will break your feature.
Maybe we need to remove skb->tstamp clear from skb_scrub_packet() and
do the cleaning only in forwarding path.
Powered by blists - more mailing lists