Hi Herbert,

   I have a couple of comments, please see below.

> The reason for this is that the problem that Hugo uncovered is only
> the tip of the iceberg.  The real problem is that when we removed the
> dependency of ipip on xfrm4_tunnel we didn't really consider the module
> case at all.
> 
> For instance, as it is it's possible to build both ipip and xfrm4_tunnel
> as modules and if the latter is loaded then ipip simply won't load.

   Yes, this was another problem i pointed out. But the real issue i
 wanted to fix was the soft-lockup with module ip6_tunnel being used
 when having xfrm6_tunnel compiled as module.

> After considering the alternatives I've decided that the best way out of
> this is to restore the dependency of ipip on the non-xfrm-specific part
> of xfrm4_tunnel.  This is acceptable IMHO because the intention of the
> removal was really to be able to use ipip without the xfrm subsystem.
> This is still preserved by this patch.

   This looks OK to me, but i think that maybe not calling the methods
 xfrm{4,6}_tunnel_register and deregister would be better as tunnel{4,6}
 is not really related to xfrm. Maybe something like tunnel6_register
 would be better and more consistent with the file naming.

   One small issue with the patch is tunnel6_rcv's return of 0 when no
 handler handles the packet which will increase IPSTATS_MIB_INDELIVERS.
 I guess -1 should be returned on error. I was checking ip_input and the
 expected behaviour there is different, any value != 0 will trigger a
 re-submit.

   Also, there's a bigger problem which is the ICMP error generation. I
 acknowledge you mentioned that this is work for another patch but i
 would like to comment it now.  Right now you kept the icmpv6_send in
 ip6_tunnel's discard path, which doesn't work that well if you have
 another tunnel handler following like xfrm6_tunnel. I would suggest
 having the icmpv6_send in tunnel6_rcv's error path, so if no handler
 was able to process the packet, the source receives the DEST_UNREACH
 error. I'm not sure if this is desirable in IPSec but i'm sure you'll
 be able to comment on that.

   Thanks,

      Hugo

Attachment: signature.asc
Description: Digital signature

Reply via email to