On Mon, 2016-11-28 at 10:17 -0800, Eric Dumazet wrote: > I was referring to Stephen bug report. > > It appears that Eli changelog was not very precise, because his bug was > because of XFRM being involved. > > xfrm_output() -> xfrm_output_gso() -> skb_gso_segment() > > So XFRM calls skb_gso_segment() before ip_output() or > ip6_finish_output2() had a chance to change skb->protocol
So maybe the real fix would be to set skb->protocol at the right place, before xfrm can be called, instead of chasing all skb producers ;)