Patchwork ipv4: Minor logic clean-up in ipv4_mtu

login
register
mail settings
Submitter Alexander Duyck
Date Aug. 27, 2012, 4:30 p.m.
Message ID <20120827162930.2969.96733.stgit@gitlad.jf.intel.com>
Download mbox | patch
Permalink /patch/180247/
State Accepted
Delegated to: David Miller
Headers show

Comments

Alexander Duyck - Aug. 27, 2012, 4:30 p.m.
In ipv4_mtu there is some logic where we are testing for a non-zero value
and a timer expiration, then setting the value to zero, and then testing if
the value is zero we set it to a value based on the dst.  Instead of
bothering with the extra steps it is easier to just cleanup the logic so
that we set it to the dst based value if it is zero or if the timer has
expired.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
---

 net/ipv4/route.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Aug. 31, 2012, 8:23 p.m.
From: Alexander Duyck <alexander.h.duyck@intel.com>
Date: Mon, 27 Aug 2012 09:30:01 -0700

> In ipv4_mtu there is some logic where we are testing for a non-zero value
> and a timer expiration, then setting the value to zero, and then testing if
> the value is zero we set it to a value based on the dst.  Instead of
> bothering with the extra steps it is easier to just cleanup the logic so
> that we set it to the dst based value if it is zero or if the timer has
> expired.
> 
> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>

Applied to net-next, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 50f6d3a..5162824 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1132,10 +1132,7 @@  static unsigned int ipv4_mtu(const struct dst_entry *dst)
 	const struct rtable *rt = (const struct rtable *) dst;
 	unsigned int mtu = rt->rt_pmtu;
 
-	if (mtu && time_after_eq(jiffies, rt->dst.expires))
-		mtu = 0;
-
-	if (!mtu)
+	if (!mtu || time_after_eq(jiffies, rt->dst.expires))
 		mtu = dst_metric_raw(dst, RTAX_MTU);
 
 	if (mtu && rt_is_output_route(rt))