Re: [PATCH] ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output

From: Sergei Shtylyov
Date: Fri Dec 09 2016 - 07:03:56 EST


Hello!

On 12/9/2016 6:08 AM, Zheng Li wrote:

From: zheng li <james.z.li@xxxxxxxxxxxx>

There is an inconsitent conditional judgement in __ip_append_data and

Inconsistent.

ip_finish_output functions, the variable length in __ip_append_data just
include the length of applicatoin's payload and udp header, don't include

Application.

the length of ip header, but in ip_finish_output use
(skb->len > ip_skb_dst_mtu(skb)) as judgement, and skb->len include the
length of ip header.

That cuase some particular applicatoin's udp payload whose length is

Causes, application.

between (MTU - IP Header) and MTU were framented by ip_fragment even

Fragmented.

though the rst->dev support UFO feature.

Add the length of ip header to length in __ip_append_data to keep
consistent conditional judgement as ip_finish_output for ip fragment.

Signed-off-by: Zheng Li <james.z.li@xxxxxxxxxxxx>
[...]

MBR, Sergei