From: Shmulik Ladkani <shmulik.ladk...@gmail.com> Date: Fri, 28 Oct 2016 19:07:57 +0300
> On Fri, 28 Oct 2016 13:13:45 +0800 Eli Cooper <elicoo...@gmx.com> wrote: >> Maybe we >> should clear IP6CB in ip6tunnel_xmit(), rather than in every tunnel's codes? > > This seems reasonable. > > A potential issue might be whether it needs to be done earlier, although > I've reviewed current versions of both 'ip6_tnl_xmit' and > 'udp_tunnel6_xmit_skb' and it looks okay. But please verify. > >> By the way, I don't see any point in setting IPCB(skb)->flags in >> udp_tunnel6_xmit_skb(). It will not be interpreted as IPCB any further >> past ip6tunnel_xmit(), even if it were not cleared. Plus, nothing seems >> to use these flags anyway. > > This seems right. > > It was introduced in 6a93cc9052 "udp-tunnel: Add a few more UDP tunnel APIs". > > If you checkout that tree, you'll notice same treatment to > IPCB(skb)->opt and IPCB(skb)->flags in l2tp_xmit_skb... maybe it was > just copied ;-) I think for now, we should clear IP6CB in ip6tunnel_xmit() unconditionally, and remove the IPCB() stuff from the UDP tunneling code. If we need some kind of preservation of some of the IP6CB(skb)->flag bits for whatever reason, we can add that later. Right now that code was producing essentially garbage.