|
@@ -30,7 +30,8 @@ static int xfrm4_tunnel_check_size(struct sk_buff *skb)
|
|
|
|
|
|
|
|
mtu = dst_mtu(skb_dst(skb));
|
|
mtu = dst_mtu(skb_dst(skb));
|
|
|
if ((!skb_is_gso(skb) && skb->len > mtu) ||
|
|
if ((!skb_is_gso(skb) && skb->len > mtu) ||
|
|
|
- (skb_is_gso(skb) && skb_gso_network_seglen(skb) > ip_skb_dst_mtu(skb->sk, skb))) {
|
|
|
|
|
|
|
+ (skb_is_gso(skb) &&
|
|
|
|
|
+ !skb_gso_validate_network_len(skb, ip_skb_dst_mtu(skb->sk, skb)))) {
|
|
|
skb->protocol = htons(ETH_P_IP);
|
|
skb->protocol = htons(ETH_P_IP);
|
|
|
|
|
|
|
|
if (skb->sk)
|
|
if (skb->sk)
|