]> rtime.felk.cvut.cz Git - zynq/linux.git/blobdiff - net/ipv4/route.c
Merge tag 'v4.0.8' into xlnx_4.0.8-rt6
[zynq/linux.git] / net / ipv4 / route.c
index ad5064362c5c7da56e9e22f1a012972bfff58e0e..e262a087050b4585cfb8997ae9633f89cb7eb772 100644 (file)
@@ -903,6 +903,10 @@ static int ip_error(struct sk_buff *skb)
        bool send;
        int code;
 
+       /* IP on this device is disabled. */
+       if (!in_dev)
+               goto out;
+
        net = dev_net(rt->dst.dev);
        if (!IN_DEV_FORWARD(in_dev)) {
                switch (rt->dst.error) {
@@ -963,10 +967,7 @@ static void __ip_rt_update_pmtu(struct rtable *rt, struct flowi4 *fl4, u32 mtu)
        if (dst_metric_locked(dst, RTAX_MTU))
                return;
 
-       if (dst->dev->mtu < mtu)
-               return;
-
-       if (rt->rt_pmtu && rt->rt_pmtu < mtu)
+       if (ipv4_mtu(dst) < mtu)
                return;
 
        if (mtu < ip_rt_min_pmtu)