Move calls to ip_route_local_input to jump sites and remove
local_input label.

Signed-off-by: David Ahern <d...@cumulusnetworks.com>
---
 net/ipv4/route.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index c23bb0965966..340246414545 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1835,9 +1835,11 @@ static int ip_route_input_slow(struct sk_buff *skb, 
__be32 daddr, __be32 saddr,
                                          0, dev, in_dev, &itag);
                if (err < 0) {
                        ip_handle_martian_source(dev, in_dev, skb, daddr, 
saddr);
-                       goto out;
+               } else {
+                       err = ip_route_local_input(skb, &res, net, in_dev,
+                                                  flags, itag, err);
                }
-               goto local_input;
+               goto out;
        }
 
        if (!IN_DEV_FORWARD(in_dev)) {
@@ -1870,7 +1872,6 @@ out:      return err;
        res.type = RTN_BROADCAST;
        RT_CACHE_STAT_INC(in_brd);
 
-local_input:
        err = ip_route_local_input(skb, &res, net, in_dev,
                                   flags, itag, err);
        goto out;
@@ -1880,7 +1881,10 @@ out:     return err;
        res.type = RTN_UNREACHABLE;
        res.fi = NULL;
        res.table = NULL;
-       goto local_input;
+
+       err = ip_route_local_input(skb, &res, net, in_dev,
+                                  flags, itag, err);
+       goto out;
 }
 
 int ip_route_input_noref(struct sk_buff *skb, __be32 daddr, __be32 saddr,
-- 
1.9.1

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

Reply via email to