aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/ip_output.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r--net/ipv4/ip_output.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 8971780aec7c..22aa11971ed1 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -449,7 +449,6 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
449 __be16 not_last_frag; 449 __be16 not_last_frag;
450 struct rtable *rt = skb_rtable(skb); 450 struct rtable *rt = skb_rtable(skb);
451 int err = 0; 451 int err = 0;
452 bool forwarding = IPCB(skb)->flags & IPSKB_FORWARDED;
453 452
454 dev = rt->dst.dev; 453 dev = rt->dst.dev;
455 454
@@ -459,7 +458,7 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
459 458
460 iph = ip_hdr(skb); 459 iph = ip_hdr(skb);
461 460
462 mtu = ip_dst_mtu_maybe_forward(&rt->dst, forwarding); 461 mtu = ip_skb_dst_mtu(skb);
463 if (unlikely(((iph->frag_off & htons(IP_DF)) && !skb->local_df) || 462 if (unlikely(((iph->frag_off & htons(IP_DF)) && !skb->local_df) ||
464 (IPCB(skb)->frag_max_size && 463 (IPCB(skb)->frag_max_size &&
465 IPCB(skb)->frag_max_size > mtu))) { 464 IPCB(skb)->frag_max_size > mtu))) {