Hello, On 2016/9/1 4:56, David Miller wrote: > From: Eli Cooper <elicoo...@gmx.com> > Date: Fri, 26 Aug 2016 23:52:29 +0800 > >> @@ -1174,6 +1174,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device >> *dev) >> encap_limit = t->parms.encap_limit; >> >> memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6)); >> + fl6.flowi6_proto = IPPROTO_IPIP; > Let's just simply have t->fl have the proto setup properly, just like > in GRE. > > Assigning it explicitly every packet transmit doesn't make much sense.
I doubt that. Unlike GRE, where the proto must be IPPROTO_GRE, the proto here can be either IPPROTO_IPV6 or IPPROTO_IPIP for a single tunnel, and t->fl is shared by them. Thus it has to be assigned for every packet. Thanks, Eli