ipv4: apply lwtunnel encap for locally-generated packets
lwtunnel encap is applied for forwarded packets, but not for locally-generated packets. This is because the output function is not overridden in __mkroute_output, unlike it is in __mkroute_input. The lwtunnel state is correctly set on the rth through the call to rt_set_nexthop, so all that needs to be done is to override the dst output function to be lwtunnel_output if there is lwtunnel state present and it requires output redirection. Signed-off-by: Robert Shearman <rshearma@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
abf7c1c540
commit
0335f5b500
|
@ -2022,6 +2022,8 @@ add:
|
|||
}
|
||||
|
||||
rt_set_nexthop(rth, fl4->daddr, res, fnhe, fi, type, 0);
|
||||
if (lwtunnel_output_redirect(rth->rt_lwtstate))
|
||||
rth->dst.output = lwtunnel_output;
|
||||
|
||||
return rth;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue