On Thu, Oct 08, 2020 at 04:13:24PM +0800, Xin Long wrote: > As Nicolas noticed in his case, when xfrm_interface module is installed > the standard IP tunnels will break in receiving packets. > > This is caused by the IP tunnel handlers with a higher priority in xfrm > interface processing incoming packets by xfrm_input(), which would drop > the packets and return 0 instead when anything wrong happens. > > Rather than changing xfrm_input(), this patch is to adjust the priority > for the IP tunnel handlers in xfrm interface, so that the packets would > go to xfrmi's later than the others', as the others' would not drop the > packets when the handlers couldn't process them. > > Note that IPCOMP also defines its own IPIP tunnel handler and it calls > xfrm_input() as well, so we must make its priority lower than xfrmi's, > which means having xfrmi loaded would still break IPCOMP. We may seek > another way to fix it in xfrm_input() in the future. > > Reported-by: Nicolas Dichtel <nicolas.dich...@6wind.com> > Tested-by: Nicolas Dichtel <nicolas.dich...@6wind.com> > Fixes: da9bbf0598c9 ("xfrm: interface: support IPIP and IPIP6 tunnels > processing with .cb_handler") > FIxes: d7b360c2869f ("xfrm: interface: support IP6IP6 and IP6IP tunnels > processing with .cb_handler") > Signed-off-by: Xin Long <lucien....@gmail.com>
Applied, thanks a lot Xin!