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 | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index efc8e58c1964..454c38bd23a8 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1836,9 +1836,13 @@ 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->loopback_dev,
+                                                  flags, itag, err,
+                                                  IN_DEV_CONF_GET(in_dev, 
NOPOLICY));
                }
-               goto local_input;
+               goto out;
        }
 
        if (!IN_DEV_FORWARD(in_dev)) {
@@ -1871,7 +1875,6 @@ out:      return err;
        res.type = RTN_BROADCAST;
        RT_CACHE_STAT_INC(in_brd);
 
-local_input:
        err = ip_route_local_input(skb, &res, net->loopback_dev,
                                   flags, itag, err,
                                   IN_DEV_CONF_GET(in_dev, NOPOLICY));
@@ -1882,7 +1885,11 @@ out:     return err;
        res.type = RTN_UNREACHABLE;
        res.fi = NULL;
        res.table = NULL;
-       goto local_input;
+
+       err = ip_route_local_input(skb, &res, net->loopback_dev,
+                                  flags, itag, err,
+                                  IN_DEV_CONF_GET(in_dev, NOPOLICY));
+       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