From: Xin Long <lucien....@gmail.com>
Date: Mon, 18 Dec 2017 14:20:56 +0800

> Unlike ip tunnels, now vxlan doesn't do any pmtu update for
> upper dst pmtu, even if it doesn't match the lower dst pmtu
> any more.
> 
> The problem can be reproduced when reducing the vxlan lower
> dev's pmtu when running netperf. In jianlin's testing, the
> performance went to 1/7 of the previous.
> 
> This patch is to update the upper dst pmtu to match the lower
> dst pmtu on tx path so that packets can be sent out even when
> lower dev's pmtu has been changed.
> 
> It also works for metadata dst.
> 
> Note that this patch doesn't process any pmtu icmp packet.
> But even in the future, the support for pmtu icmp packets
> process of udp tunnels will also needs this.
> 
> The same thing will be done for geneve in another patch.
> 
> Signed-off-by: Xin Long <lucien....@gmail.com>

Yikes...

You're going to have to find a way to fix this without
invoking ->update_pmtu() on every single transmit.  That's
really excessive, especially for an operation which is
going to be a NOP %99.9999 of the time.

We need some way, instead, for the MTU change event to propagate
properly.  I know this might be hard, but doing this in the transmit
handler on every packet to deal with it is not the way to go.

Thanks.

Reply via email to