> On 14 Jun 2017, at 1:28 PM, Peter Dawson <peted...@gmail.com> wrote: > > On Wed, 14 Jun 2017 10:54:31 +0800 > 严海双 <yanhaishu...@cmss.chinamobile.com> wrote: > > >>> Changes since v2: >>> * mask key->tos with RT_TOS() suggested by Daniel > > Can you help me understand the rationale for this change? Is there are bug > introduced by dsfield = ip6_tclass(key->label); ? > > The RT_TOS masks out 4bits of the 8bit tos field in accordance with RFC1349 > (obsoleted by RFC2474). IPv6 does not have a TOS field. So it dosen't make > sense to apply a TOS value to the outer header of an IPv6 tunnel. > >
Hi, Peter Here the tos also means Traffic Class in IPv6, see the define in struct ip_tunnel_key: u8 tos; /* TOS for IPv4, TC for IPv6 */ RT_TOS mask is suggested by Daniel, please refer to the implement in vxlan or geneve code: fl6.flowlabel = ip6_make_flowinfo(RT_TOS(tos), label); Thanks.