diff options
author | David S. Miller <davem@davemloft.net> | 2012-07-23 16:22:20 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-23 16:22:20 -0400 |
commit | fe3edf45792a7d2f0edff4e2fcdd9a84c1a388a0 (patch) | |
tree | db004ea2ef6cdda3c48888365c88cc098fa85782 /net | |
parent | 838942a594017817d33b2d914152305054e255af (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.c | 11 |
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: | |||
1590 | local_input: | 1583 | local_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); |