|
@@ -828,7 +828,7 @@ static int __ip_append_data(struct sock *sk,
|
|
|
cork->length += length;
|
|
|
if (((length > mtu) || (skb && skb_is_gso(skb))) &&
|
|
|
(sk->sk_protocol == IPPROTO_UDP) &&
|
|
|
- (rt->dst.dev->features & NETIF_F_UFO)) {
|
|
|
+ (rt->dst.dev->features & NETIF_F_UFO) && !rt->dst.header_len) {
|
|
|
err = ip_ufo_append_data(sk, queue, getfrag, from, length,
|
|
|
hh_len, fragheaderlen, transhdrlen,
|
|
|
mtu, flags);
|