From: Roopa Prabhu <ro...@cumulusnetworks.com> For input routes with tunnel encap state this patch redirects dst output functions to lwtunnel_output which later resolves to the corresponding lwtunnel output function.
This has been tested to work with mpls ip tunnels. Open items: Support for tunnel mtu, pmtu, fragmentation can be added by hooking into the corresponding (ipv4, ipv6) dst ops. We may do this differently when lwtstate moves to dst or dst_metadata as per upstream discussions. Signed-off-by: Roopa Prabhu <ro...@cumulusnetworks.com> --- net/ipv4/route.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 226570b..cd3157c 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; -- 2.4.3 -- 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