All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Borkmann <daniel@iogearbox.net>
To: 严海双 <yanhaishuang@cmss.chinamobile.com>
Cc: "David S. Miller" <davem@davemloft.net>,
	Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>,
	James Morris <jmorris@namei.org>,
	Patrick McHardy <kaber@trash.net>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	peter.a.dawson@boeing.com, ast@fb.com
Subject: Re: [PATCH] ip6_tunnel: Correct tos value in collect_md mode
Date: Tue, 13 Jun 2017 17:37:04 +0200	[thread overview]
Message-ID: <594006A0.9020801@iogearbox.net> (raw)
In-Reply-To: <0D379591-C5AA-496C-BC00-18005EAA7D21@cmss.chinamobile.com>

On 06/13/2017 03:31 PM, 严海双 wrote:
>> On 13 Jun 2017, at 5:57 PM, Daniel Borkmann <daniel@iogearbox.net> wrote:
>> On 06/13/2017 09:55 AM, Haishuang Yan wrote:
>>> Same as ip_gre, geneve and vxlan, use key->tos as tos value.
>>
>> Please also add Fixes tag and Cc original authors.
>>
>> Fixes: 0e9a709560db ("ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated packets”)
>
> Ok, I will add it, thanks
>
>>> Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
>>> ---
>>>   net/ipv6/ip6_tunnel.c | 4 ++--
>>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
>>> index ef99d59..5f4aff5 100644
>>> --- a/net/ipv6/ip6_tunnel.c
>>> +++ b/net/ipv6/ip6_tunnel.c
>>> @@ -1249,7 +1249,7 @@ int ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev, __u8 dsfield,
>>>   		fl6.flowi6_proto = IPPROTO_IPIP;
>>>   		fl6.daddr = key->u.ipv6.dst;
>>>   		fl6.flowlabel = key->label;
>>> -		dsfield = ip6_tclass(key->label);
>>> +		dsfield = key->tos;
>>
>> Not exactly the same as vxlan / geneve. They do use key->tos
>> indeed, but they also set fl6.flowlabel differently:
>>
>>   [...]
>>   prio = info->key.tos;
>>   [...]
>>   fl6->flowlabel = ip6_make_flowinfo(RT_TOS(prio),
>>                                      info->key.label);
>>   [...]
>>
>> But looks like the latter is done later in ip6_tnl_xmit() eventually
>> before the route lookup as per 5f733ee68f9a ("ip6_tunnel: fix traffic
>> class routing for tunnels") fix. However, you still might want to
>> mask key->tos with RT_TOS().
>
> Do you mean this way?

This one from my last comment: dsfield = RT_TOS(key->tos)

  parent reply	other threads:[~2017-06-13 15:37 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-13  7:55 [PATCH] ip6_tunnel: Correct tos value in collect_md mode Haishuang Yan
2017-06-13  9:57 ` Daniel Borkmann
     [not found]   ` <0D379591-C5AA-496C-BC00-18005EAA7D21@cmss.chinamobile.com>
2017-06-13 15:37     ` Daniel Borkmann [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-06-14  2:48 Haishuang Yan
2017-06-14  2:54 ` 严海双
2017-06-14  5:28   ` Peter Dawson
2017-06-15  0:58     ` 严海双

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=594006A0.9020801@iogearbox.net \
    --to=daniel@iogearbox.net \
    --cc=ast@fb.com \
    --cc=davem@davemloft.net \
    --cc=jmorris@namei.org \
    --cc=kaber@trash.net \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=peter.a.dawson@boeing.com \
    --cc=yanhaishuang@cmss.chinamobile.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.