diff mbox series

[ovs-dev] ovs: clear skb->tstamp in forwarding path

Message ID 20210818022215.5979-1-fankaixi.li@bytedance.com
State Awaiting Upstream
Headers show
Series [ovs-dev] ovs: clear skb->tstamp in forwarding path | expand

Commit Message

Kaixi Fan Aug. 18, 2021, 2:22 a.m. UTC
From: kaixi.fan <fankaixi.li@bytedance.com>

fq qdisc requires tstamp to be cleared in the forwarding path. Now ovs
doesn't clear skb->tstamp. We encountered a problem with linux
version 5.4.56 and ovs version 2.14.1, and packets failed to
dequeue from qdisc when fq qdisc was attached to ovs port.

Signed-off-by: kaixi.fan <fankaixi.li@bytedance.com>
Signed-off-by: xiexiaohui <xiexiaohui.xxh@bytedance.com>
Reviewed-by: Cong Wang <cong.wang@bytedance.com>
---
 net/openvswitch/vport.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Eric Dumazet Aug. 18, 2021, 9:32 a.m. UTC | #1
On 8/18/21 4:22 AM, fankaixi.li@bytedance.com wrote:
> From: kaixi.fan <fankaixi.li@bytedance.com>
> 
> fq qdisc requires tstamp to be cleared in the forwarding path. Now ovs
> doesn't clear skb->tstamp. We encountered a problem with linux
> version 5.4.56 and ovs version 2.14.1, and packets failed to
> dequeue from qdisc when fq qdisc was attached to ovs port.
> 

Fixes: fb420d5d91c1 ("tcp/fq: move back to CLOCK_MONOTONIC")

This is more precise than " version 5.4.56 and ovs version ..."

Thanks.

> Signed-off-by: kaixi.fan <fankaixi.li@bytedance.com>
> Signed-off-by: xiexiaohui <xiexiaohui.xxh@bytedance.com>
> Reviewed-by: Cong Wang <cong.wang@bytedance.com>
> ---
>  net/openvswitch/vport.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/net/openvswitch/vport.c b/net/openvswitch/vport.c
> index 88deb5b41429..cf2ce5812489 100644
> --- a/net/openvswitch/vport.c
> +++ b/net/openvswitch/vport.c
> @@ -507,6 +507,7 @@ void ovs_vport_send(struct vport *vport, struct sk_buff *skb, u8 mac_proto)
>  	}
>  
>  	skb->dev = vport->dev;
> +	skb->tstamp = 0;
>  	vport->ops->send(skb);
>  	return;
>  
>
patchwork-bot+netdevbpf@kernel.org Aug. 18, 2021, 10:40 a.m. UTC | #2
Hello:

This patch was applied to netdev/net.git (refs/heads/master):

On Wed, 18 Aug 2021 10:22:15 +0800 you wrote:
> From: kaixi.fan <fankaixi.li@bytedance.com>
> 
> fq qdisc requires tstamp to be cleared in the forwarding path. Now ovs
> doesn't clear skb->tstamp. We encountered a problem with linux
> version 5.4.56 and ovs version 2.14.1, and packets failed to
> dequeue from qdisc when fq qdisc was attached to ovs port.
> 
> [...]

Here is the summary with links:
  - ovs: clear skb->tstamp in forwarding path
    https://git.kernel.org/netdev/net/c/01634047bf0d

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Kaixi Fan Aug. 19, 2021, 2:06 a.m. UTC | #3
Eric Dumazet <eric.dumazet@gmail.com> 于2021年8月18日周三 下午5:32写道:
>
>
>
> On 8/18/21 4:22 AM, fankaixi.li@bytedance.com wrote:
> > From: kaixi.fan <fankaixi.li@bytedance.com>
> >
> > fq qdisc requires tstamp to be cleared in the forwarding path. Now ovs
> > doesn't clear skb->tstamp. We encountered a problem with linux
> > version 5.4.56 and ovs version 2.14.1, and packets failed to
> > dequeue from qdisc when fq qdisc was attached to ovs port.
> >
>
> Fixes: fb420d5d91c1 ("tcp/fq: move back to CLOCK_MONOTONIC")
>
> This is more precise than " version 5.4.56 and ovs version ..."
>
> Thanks.
>
> > Signed-off-by: kaixi.fan <fankaixi.li@bytedance.com>
> > Signed-off-by: xiexiaohui <xiexiaohui.xxh@bytedance.com>
> > Reviewed-by: Cong Wang <cong.wang@bytedance.com>
> > ---
> >  net/openvswitch/vport.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/net/openvswitch/vport.c b/net/openvswitch/vport.c
> > index 88deb5b41429..cf2ce5812489 100644
> > --- a/net/openvswitch/vport.c
> > +++ b/net/openvswitch/vport.c
> > @@ -507,6 +507,7 @@ void ovs_vport_send(struct vport *vport, struct sk_buff *skb, u8 mac_proto)
> >       }
> >
> >       skb->dev = vport->dev;
> > +     skb->tstamp = 0;
> >       vport->ops->send(skb);
> >       return;
> >
> >

Hi Eric Dumazet,

Yes and many thanks.
diff mbox series

Patch

diff --git a/net/openvswitch/vport.c b/net/openvswitch/vport.c
index 88deb5b41429..cf2ce5812489 100644
--- a/net/openvswitch/vport.c
+++ b/net/openvswitch/vport.c
@@ -507,6 +507,7 @@  void ovs_vport_send(struct vport *vport, struct sk_buff *skb, u8 mac_proto)
 	}
 
 	skb->dev = vport->dev;
+	skb->tstamp = 0;
 	vport->ops->send(skb);
 	return;