lkml.org 
[lkml]   [2020]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] seg6: using DSCP of inner IPv4 packets
From
Date
Hi David,

SRv6 as defined in [1][2] does not mandate that the hop_limit of the
outer IPv6 header has to be copied from the inner packet.

The only thing that is mandatory is that the hop_limit of the inner
packet has to be decremented [3]. This complies with the specification
defined in the Generic Packet Tunneling in IPv6 [4]. This part is
actually missing in the kernel.

For the hop_limit of the outer IPv6 header, the other SRv6
implementations [5][6] by default uses the default ipv6 hop_limit. But
they allow also to use a configurable hop_limit for the outer header.

In conclusion the hop limit behavior in this patch is intentional and in
my opnion correct.

If you agree I can send two patches to:
- decrement hop_limit of inner packet
- allow a configurable hop limit of outer IPv6 header


[1] https://tools.ietf.org/html/rfc8754
[2]
https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-16
[3]
https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-16#section-5
[4] https://tools.ietf.org/html/rfc2473#section-3.1
[5]https://github.com/FDio/vpp/blob/8bf80a3ddae7733925a757cb1710e25776eea01c/src/vnet/srv6/sr_policy_rewrite.c#L110
[6]
https://www.cisco.com/c/en/us/td/docs/routers/asr9000/software/asr9k-r6-6/segment-routing/configuration/guide/b-segment-routing-cg-asr9000-66x/b-segment-routing-cg-asr9000-66x_chapter_011.html#id_94209


On 06/08/2020 02:40, David Miller wrote:
> From: Ahmed Abdelsalam <ahabdels@gmail.com>
> Date: Tue, 4 Aug 2020 07:40:30 +0000
>
>> This patch allows copying the DSCP from inner IPv4 header to the
>> outer IPv6 header, when doing SRv6 Encapsulation.
>>
>> This allows forwarding packet across the SRv6 fabric based on their
>> original traffic class.
>>
>> Signed-off-by: Ahmed Abdelsalam <ahabdels@gmail.com>
>
> You have changed the hop limit behavior here and that neither seems
> intentional nor correct.
>
> When encapsulating ipv6 inside of ipv6 the inner hop limit should be
> inherited. You should only use the DST hop limit when encapsulating
> ipv4.
>
> And that's what the existing code did.
>

\
 
 \ /
  Last update: 2020-08-06 08:44    [W:0.060 / U:1.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site