diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 226570ba1cedb5ff47c485e37ab762634e47e44b..cd3157c464e60786cba5c561a26370eb9b5078d6 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -1633,6 +1633,8 @@ static int __mkroute_input(struct sk_buff *skb, rth->dst.output = ip_output; rt_set_nexthop(rth, daddr, res, fnhe, res->fi, res->type, itag); + if (lwtunnel_output_redirect(rth->rt_lwtstate)) + rth->dst.output = lwtunnel_output; skb_dst_set(skb, &rth->dst); out: err = 0;