aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-07-23 16:22:20 -0400
committerDavid S. Miller <davem@davemloft.net>2012-07-23 16:22:20 -0400
commitfe3edf45792a7d2f0edff4e2fcdd9a84c1a388a0 (patch)
treedb004ea2ef6cdda3c48888365c88cc098fa85782 /net
parent838942a594017817d33b2d914152305054e255af (diff)
ipv4: Remove all RTCF_DIRECTSRC handliing.
The last and final kernel user, ICMP address replies, has been removed. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/route.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 9add08869c75..34017be87c85 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1391,9 +1391,6 @@ static int __mkroute_input(struct sk_buff *skb,
1391 goto cleanup; 1391 goto cleanup;
1392 } 1392 }
1393 1393
1394 if (err)
1395 flags |= RTCF_DIRECTSRC;
1396
1397 if (out_dev == in_dev && err && 1394 if (out_dev == in_dev && err &&
1398 (IN_DEV_SHARED_MEDIA(out_dev) || 1395 (IN_DEV_SHARED_MEDIA(out_dev) ||
1399 inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res)))) 1396 inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res))))
@@ -1416,7 +1413,7 @@ static int __mkroute_input(struct sk_buff *skb,
1416 1413
1417 do_cache = false; 1414 do_cache = false;
1418 if (res->fi) { 1415 if (res->fi) {
1419 if (!(flags & RTCF_DIRECTSRC) && !itag) { 1416 if (!itag) {
1420 rth = FIB_RES_NH(*res).nh_rth_input; 1417 rth = FIB_RES_NH(*res).nh_rth_input;
1421 if (rt_cache_valid(rth)) { 1418 if (rt_cache_valid(rth)) {
1422 dst_hold(&rth->dst); 1419 dst_hold(&rth->dst);
@@ -1558,8 +1555,6 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
1558 dev, in_dev, &itag); 1555 dev, in_dev, &itag);
1559 if (err < 0) 1556 if (err < 0)
1560 goto martian_source_keep_err; 1557 goto martian_source_keep_err;
1561 if (err)
1562 flags |= RTCF_DIRECTSRC;
1563 goto local_input; 1558 goto local_input;
1564 } 1559 }
1565 1560
@@ -1580,8 +1575,6 @@ brd_input:
1580 in_dev, &itag); 1575 in_dev, &itag);
1581 if (err < 0) 1576 if (err < 0)
1582 goto martian_source_keep_err; 1577 goto martian_source_keep_err;
1583 if (err)
1584 flags |= RTCF_DIRECTSRC;
1585 } 1578 }
1586 flags |= RTCF_BROADCAST; 1579 flags |= RTCF_BROADCAST;
1587 res.type = RTN_BROADCAST; 1580 res.type = RTN_BROADCAST;
@@ -1590,7 +1583,7 @@ brd_input:
1590local_input: 1583local_input:
1591 do_cache = false; 1584 do_cache = false;
1592 if (res.fi) { 1585 if (res.fi) {
1593 if (!(flags & RTCF_DIRECTSRC) && !itag) { 1586 if (!itag) {
1594 rth = FIB_RES_NH(res).nh_rth_input; 1587 rth = FIB_RES_NH(res).nh_rth_input;
1595 if (rt_cache_valid(rth)) { 1588 if (rt_cache_valid(rth)) {
1596 dst_hold(&rth->dst); 1589 dst_hold(&rth->dst);