Messages in this thread Patch in this message | | | Date | Fri, 15 May 2015 10:06:00 +0200 | From | Willy Tarreau <> | Subject | [ 30/48] ipv4: Dont use ufo handling on later transformed packets |
| |
2.6.32-longterm review patch. If anyone has any objections, please let me know.
------------------
From: Steffen Klassert <steffen.klassert@secunet.com>
We might call ip_ufo_append_data() for packets that will be IPsec transformed later. This function should be used just for real udp packets. So we check for rt->dst.header_len which is only nonzero on IPsec handling and call ip_ufo_append_data() just if rt->dst.header_len is zero.
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit c146066ab80267c3305de5dda6a4083f06df9265) Signed-off-by: Willy Tarreau <w@1wt.eu> --- net/ipv4/ip_output.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index faa6623..bd5c4b3 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@ -878,6 +878,7 @@ int ip_append_data(struct sock *sk, if (((length > mtu) || (skb && skb_has_frags(skb))) && (sk->sk_protocol == IPPROTO_UDP) && (rt->u.dst.dev->features & NETIF_F_UFO)) { + (rt->u.dst.dev->features & NETIF_F_UFO) && !rt->u.dst.header_len) { err = ip_ufo_append_data(sk, getfrag, from, length, hh_len, fragheaderlen, transhdrlen, mtu, flags); -- 1.7.12.2.21.g234cd45.dirty
| |