aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/route.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/route.c')
-rw-r--r--net/ipv4/route.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index a91f6d33804c..8d62d85e68dc 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1156,7 +1156,7 @@ restart:
1156 candp = NULL; 1156 candp = NULL;
1157 now = jiffies; 1157 now = jiffies;
1158 1158
1159 if (!rt_caching(dev_net(rt->dst.dev))) { 1159 if (!rt_caching(dev_net(rt->dst.dev)) || (rt->dst.flags & DST_NOCACHE)) {
1160 /* 1160 /*
1161 * If we're not caching, just tell the caller we 1161 * If we're not caching, just tell the caller we
1162 * were successful and don't touch the route. The 1162 * were successful and don't touch the route. The
@@ -2582,6 +2582,9 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
2582 2582
2583 rt_set_nexthop(rth, fl4, res, fi, type, 0); 2583 rt_set_nexthop(rth, fl4, res, fi, type, 0);
2584 2584
2585 if (fl4->flowi4_flags & FLOWI_FLAG_RT_NOCACHE)
2586 rth->dst.flags |= DST_NOCACHE;
2587
2585 return rth; 2588 return rth;
2586} 2589}
2587 2590