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