Hi Joel,

The current text of section 9.1 says:

"When pinging a SID of this document without a segment list, the SR source
node places the SID in the destination address of the ICMPv6 echo request
and MUST set the Argument of the SID to 0. [...]"

"When pinging a SID of this document via a segment list, the SR source node
MUST construct the IPv6 packet as described in Section 6 and compute the
ICMPv6 checksum as described in Section 6.5.”

It seems to me that the two cases are explicitly spelled out.

If I understand correctly, the system that you are referring to is steering
traffic onto a segment list. Diagnostic packets should thus be handled in
the same way (2nd case above). From a user perspective, the diagnostic
tools (e.g., ping) are used with a compressed SRv6 SID-list in the same
that they are used with any other SRv6 SID-list.

Cheers,
Francois

On 4 Apr 2024 at 23:17:53, Joel Halpern <j...@joelhalpern.com> wrote:

> <No Hats>
>
> A uSID container is a list of destination.  It can  e specified as a DA
> without an SRH.  If I had a sysstme which was using that, and I was
> having trouble, trying a ping with the uSID container as the DA would
> seem to be an obvious diagnostic.   If we want to tell folks they cabn't
> do that, it seems like we need to say so. The existing text Francois
> points to seems too vague to expect folks to understand the limitation
> (assuming there is such a limitation.)
>
> Yours,
>
> Joel
>
> On 4/4/2024 2:47 PM, Martin Vigoureux (Nokia) wrote:
>
> Joel,
>
>
> do you mean specifying the sid *list* as the DA?
>
>
> -m
>
>
> Le 2024-04-04 à 19:26, jmh.direct a écrit :
>
> >
>
> > CAUTION:This is an external email. Please be very careful when
>
> > clicking links or opening attachments. See the URL nok.it/ext for
>
> > additional information.
>
> >
>
> > So you can't ping a uSID list by just specifying the uSID as the DA?
>
> > Yours,
>
> > Joel
>
> >
>
> >
>
> >
>
> > Sent via the Samsung Galaxy S20 FE 5G, an AT&T 5G smartphone
>
> >
>
> >
>
> > -------- Original message --------
>
> > From: Francois Clad <fclad.i...@gmail.com>
>
> > Date: 4/4/24 1:10 PM (GMT-05:00)
>
> > To: Joel Halpern <jmh.dir...@joelhalpern.com>
>
> > Cc: SPRING WG List <spring@ietf.org>, Robert Raszuk
>
> > <rob...@raszuk.net>, Andrew Alston - IETF <andrew-i...@liquid.tech>
>
> > Subject: Re: [spring] C-SIDs and upper layer checksums
>
> > (draft-ietf-spring-srv6-srh-compression)
>
> >
>
> > Hi Joel,
>
> >
>
> > One can ping a SID of this document without a segment list by simply
>
> > running the ping command with that SID as an argument (2nd paragraph
>
> > of section 9.1).
>
> >
>
> > To ping a SID of this document via a SID list, one needs to configure
>
> > the originator node to impose that SID list, like any other SRv6 SID
>
> > list.
>
> >
>
> > Hope this helps.
>
> >
>
> > Cheers,
>
> > Francois
>
> >
>
> >
>
> > On 4 Apr 2024 at 16:29:11, Joel Halpern <jmh.dir...@joelhalpern.com
>
> > <mailto:jmh.dir...@joelhalpern.com>> wrote:
>
> >>
>
> >> <No Hats>
>
> >>
>
> >> It seems that the text you quote requires that the ping code or
>
> >> kernel code know that the user has specified a uSID for the ping
>
> >> DA.   Maybe I am missing something, but it is not obvious to me how
>
> >> that would be achieved?  And does seem to imply that an unmodified
>
> >> ping will get incompatible and unexpected results?
>
> >>
>
> >> Yours,
>
> >>
>
> >> Joel
>
> >>
>
> >> On 4/4/2024 10:23 AM, Francois Clad wrote:
>
> >>> Hi Joel,
>
> >>>
>
> >>> The ping behavior is described in section 9.1 of the draft
>
> >>> (
> https://www.ietf.org/archive/id/draft-ietf-spring-srv6-srh-compression-14.html#section-9.1
> ).
>
> >>>
>
> >>> Specifically,
>
> >>> "When pinging a SID of this document via a segment list, the SR
>
> >>> source node MUST construct the IPv6 packet as described in Section
>
> >>> 6 and compute the ICMPv6 checksum as described in Section 6.5."
>
> >>>
>
> >>> Please let me know if anything in this text is not clear.
>
> >>>
>
> >>> Thanks,
>
> >>> Francois
>
> >>>
>
> >>> On 4 Apr 2024 at 16:10:11, Joel Halpern
>
> >>> <jmh.dir...@joelhalpern.com> wrote:
>
> >>>>
>
> >>>> <No Hat>
>
> >>>>
>
> >>>> Does this mean that if I have a source and destiantion host inside
>
> >>>> an SRv6 domain, and I am trying to verify a uSID path between
>
> >>>> them, so I issue the command ping <usUD-DA>, it will fail?  Given
>
> >>>> that we have documents describing the use of ping and traceroute
>
> >>>> with SRv6, shouldn't the comrpession document say someething about
>
> >>>> this?
>
> >>>>
>
> >>>> Your,s
>
> >>>>
>
> >>>> Joel
>
> >>>>
>
> >>>> On 4/4/2024 9:59 AM, Francois Clad wrote:
>
> >>>>> Hi Andrew,
>
> >>>>>
>
> >>>>> The originator (TX Linux box in your case) acting as an SR source
>
> >>>>> node for C-SID must follow the entire Section 6 of
>
> >>>>> draft-ietf-spring-srv6-srh-compression, including section 6.5
>
> >>>>> about the checksum calculation. One cannot expect it to work if
>
> >>>>> it only implements half of it.
>
> >>>>>
>
> >>>>> On the receive side, there is nothing special to do. The DA in
>
> >>>>> the received IPv6 header is the one that was used for the
>
> >>>>> checksum calculation.
>
> >>>>>
>
> >>>>> I do not see anything broken.
>
> >>>>>
>
> >>>>> Cheers,
>
> >>>>> Francois
>
> >>>>>
>
> >>>>> On 4 Apr 2024 at 15:32:12, Andrew Alston - IETF
>
> >>>>> <andrew-i...@liquid.tech> wrote:
>
> >>>>>>
>
> >>>>>> So in investgiating this further, there is a further problem.
>
> >>>>>>
>
> >>>>>> I’ve checked on 4 different linux boxes with 4 different network
>
> >>>>>> cards.
>
> >>>>>>
>
> >>>>>> Linux by default offloads TX checksumming on a lot of network
>
> >>>>>> cards.  If you originate a packet with a microsid and no SRH –
>
> >>>>>> and the linux box offloads the checksum generation – the
>
> >>>>>> checksum generated by the NIC will be incorrect – and when the
>
> >>>>>> packet arrives at the end host – if that end host is running RX
>
> >>>>>> checksumming – the checksum will fail and the packet will be
>
> >>>>>> dropped.
>
> >>>>>>
>
> >>>>>> If you disable TX checksumming – the kernel will have no way to
>
> >>>>>> tell if the packet is an Ipv6 or a microsid packet, it will
>
> >>>>>> therefore use the DA – and generate an incorrect checksum.
>
> >>>>>> Again – if RX checksumming is enabled on the receiving end point
>
> >>>>>> – the packet will get dropped.
>
> >>>>>>
>
> >>>>>> Effectively this does NOT just affect middle boxes – it effects
>
> >>>>>> anything generating a packet directed to a microsid that either
>
> >>>>>> offloads the tx to hardware (whichi will have no clue this is a
>
> >>>>>> microsid) or in the alternative is generating tx checksums
>
> >>>>>> itself via kernel mechanisms that will treat these packets as
>
> >>>>>> standard Ipv6 packets.
>
> >>>>>>
>
> >>>>>> This is broken – severely broken.
>
> >>>>>>
>
> >>>>>> Andrew
>
> >>>>>>
>
> >>>>>> *
>
> >>>>>> *
>
> >>>>>>
>
> >>>>>> *
>
> >>>>>>
>
> >>>>>> Internal All Employees
>
> >>>>>>
>
> >>>>>> From: *spring <spring-boun...@ietf.org> on behalf of Francois
>
> >>>>>> Clad <fclad.i...@gmail.com>
>
> >>>>>> *Date: *Thursday, 4 April 2024 at 14:49
>
> >>>>>> *To: *Joel Halpern <jmh.dir...@joelhalpern.com>
>
> >>>>>> *Cc: *SPRING WG List <spring@ietf.org>, Robert Raszuk
>
> >>>>>> <rob...@raszuk.net>
>
> >>>>>> *Subject: *Re: [spring] C-SIDs and upper layer checksums
>
> >>>>>> (draft-ietf-spring-srv6-srh-compression)
>
> >>>>>>
>
> >>>>>>
>
> >>>>>>
>
> >>>>>> Some people who received this message don't often get email from
>
> >>>>>> fclad.i...@gmail.com. Learn why this is important
>
> >>>>>> <https://aka.ms/LearnAboutSenderIdentification>
>
> >>>>>>
>
> >>>>>>
>
> >>>>>>
>
> >>>>>> CAUTION: This email has originated from a free email service
>
> >>>>>> commonly used for personal email services, please be guided
>
> >>>>>> accordingly especially if this email is asking to click links or
>
> >>>>>> share information.
>
> >>>>>>
>
> >>>>>> Hi all,
>
> >>>>>>
>
> >>>>>> Section 6.5 of draft-ietf-spring-srv6-srh-compression specifies
>
> >>>>>> how an SR source node originating a packet with an upper layer
>
> >>>>>> checksum determines the Destination Address for use in the IPv6
>
> >>>>>> pseudo-header.
>
> >>>>>>
>
> >>>>>> As a co-author, I’d say that the current text of 6.5 is good.
>
> >>>>>>
>
> >>>>>> This text is aligned with RFC 8200. It only indicates how the
>
> >>>>>> text in Section 8.1 of RFC 8200 applies to the SIDs of
>
> >>>>>> draft-ietf-spring-srv6-srh-compression. This is necessary since
>
> >>>>>> RFC 8200 does not specify the format nor behavior of any source
>
> >>>>>> routing scheme.
>
> >>>>>>
>
> >>>>>> Thanks,
>
> >>>>>>
>
> >>>>>> Francois
>
> >>>>>>
>
> >>>>>> On 4 Apr 2024 at 00:10:55, Joel Halpern
>
> >>>>>> <jmh.dir...@joelhalpern.com> wrote:
>
> >>>>>>
>
> >>>>>>     I can not speak to the "norm" for other working groups.  The
>
> >>>>>>     SPRING charter is very specific about what we have to do if we
>
> >>>>>>     want to change an underlying protocol.  We have to go back to
>
> >>>>>>     the WG which owns that protocol.
>
> >>>>>>
>
> >>>>>>     6man gets to decide if the change is acceptable, and if it is
>
> >>>>>>     acceptable how it is to be represented.  SPRINGs job is to
>
> >>>>>>     make sure we are asking the question we intend.
>
> >>>>>>
>
> >>>>>>     Yours,
>
> >>>>>>
>
> >>>>>>     Joel
>
> >>>>>>
>
> >>>>>>     On 4/3/2024 6:05 PM, Robert Raszuk wrote:
>
> >>>>>>
>
> >>>>>>         Ok Joel,
>
> >>>>>>
>
> >>>>>>         Thank you for this clarification.
>
> >>>>>>
>
> >>>>>>         To me the actual spirit of RFC8200 8.1 is to say that it
>
> >>>>>>         is ok to compute the checksum by the src such that it
>
> >>>>>>         comes out right at the final destination.
>
> >>>>>>
>
> >>>>>>         But I guess we can have different opinions about that.
>
> >>>>>>
>
> >>>>>>         But what I find specifically surprising here is that it is
>
> >>>>>>         a norm in IETF to have new specifications
>
> >>>>>>         defining protocol extensions and their behaviour and never
>
> >>>>>>         go back to the original protocol RFC to check if this is
>
> >>>>>>         ok or not. If that would not be a normal process I bet we
>
> >>>>>>         would still be using classful IPv4 routing all over the
>
> >>>>>>         place.
>
> >>>>>>
>
> >>>>>>         Regards,
>
> >>>>>>
>
> >>>>>>         Robert
>
> >>>>>>
>
> >>>>>>         On Wed, Apr 3, 2024 at 11:28 PM Joel Halpern
>
> >>>>>>         <j...@joelhalpern.com> wrote:
>
> >>>>>>
>
> >>>>>>             The concern with regard to the text that the chairs
>
> >>>>>>             are asking about is not about intermediate nodes
>
> >>>>>>             verifying the checksum.  The text does not talk aabout
>
> >>>>>>             that, so we are not asking about that.
>
> >>>>>>
>
> >>>>>>             But, the text in 8200 specifies how the originating
>
> >>>>>>             node is to compute the upper layer checksum.  It
>
> >>>>>>             doesn't say "do whatever you need to do to make the
>
> >>>>>>             destination come out right".  It provides specific
>
> >>>>>>             instructions.  Yes, it is understandable that those
>
> >>>>>>             instructions do not cover the compressed container
>
> >>>>>>             cases.  Which is why the compression document
>
> >>>>>>             specifies changes to those procedures.
>
> >>>>>>
>
> >>>>>>             Thus, we need to ask 6man how they want to handle the
>
> >>>>>>             change in the instructions in 8200.
>
> >>>>>>
>
> >>>>>>             the question we are asking SPRING is whether there is
>
> >>>>>>             any clarification people want to the text in the
>
> >>>>>>             compression draft before we send the question over to
>
> >>>>>>             6man.
>
> >>>>>>
>
> >>>>>>             Yours,
>
> >>>>>>
>
> >>>>>>             Joel
>
> >>>>>>
>
> >>>>>>             On 4/3/2024 5:15 PM, Robert Raszuk wrote:
>
> >>>>>>
>
> >>>>>>                 Hi Joel,
>
> >>>>>>
>
> >>>>>>                 My interpretation of text from RFC8200 is that it
>
> >>>>>>                 allows discrepancy between the header and the
>
> >>>>>>                 upper layer checksum as long as final packet's
>
> >>>>>>                 destination sees the correct one.
>
> >>>>>>
>
> >>>>>>                 The last condition is met.
>
> >>>>>>
>
> >>>>>>                 So I see no issue.
>
> >>>>>>
>
> >>>>>>                 Sure RFC8200 does not talk about SRH nor cSIDs,
>
> >>>>>>                 but provides a hint on how to handle such future
>
> >>>>>>                 situations.
>
> >>>>>>
>
> >>>>>>                 With that being said I would like to still
>
> >>>>>>                 understand what real problem are we hitting here
>
> >>>>>> ...
>
> >>>>>>
>
> >>>>>>                 Kind regards,
>
> >>>>>>
>
> >>>>>>                 Robert
>
> >>>>>>
>
> >>>>>>                 On Wed, Apr 3, 2024 at 11:09 PM Joel Halpern
>
> >>>>>>                 <j...@joelhalpern.com> wrote:
>
> >>>>>>
>
> >>>>>>                     There are two cases covered in section 6.5 of
>
> >>>>>>                     the compression draft that appear to be at
>
> >>>>>>                     variance with secton 8.1 of RFC 8200.
>
> >>>>>>
>
> >>>>>>                     First, if the final destination in the routing
>
> >>>>>>                     header is a compressed container, then the
>
> >>>>>>                     ultimate destination address will not be the
>
> >>>>>>                     same as the final destination shown in the
>
> >>>>>>                     routing header.
>
> >>>>>>
>
> >>>>>>                     Second, if a uSID container is used as the
>
> >>>>>>                     destination address and no SRH is present,
>
> >>>>>>                     then in addition to the above problem there is
>
> >>>>>>                     no routing header to trigger the behavior
>
> >>>>>>                     described.
>
> >>>>>>
>
> >>>>>>                     Yours,
>
> >>>>>>
>
> >>>>>>                     Joel
>
> >>>>>>
>
> >>>>>>                     On 4/3/2024 4:22 PM, Robert Raszuk wrote:
>
> >>>>>>
>
> >>>>>>                         Hi Alvaro,
>
> >>>>>>
>
> >>>>>>                             Section 6.5 of
>
> >>>>>> draft-ietf-spring-srv6-srh-compression
>
> >>>>>>                             describes the
>
> >>>>>>                             behavior when an originating node
>
> >>>>>>                             inside an SRv6 domain creates a
>
> >>>>>>                             packet with a C-SID as the final
>
> >>>>>>                             destination. _This description differs
>
> >>>>>>                             from the text in Section 8.1 of
>
> >>>>>> RFC8200._
>
> >>>>>>
>
> >>>>>>                         I would like you to clarify the above
>
> >>>>>>                         statement - specifically of the last
>
> >>>>>>                         sentence.
>
> >>>>>>
>
> >>>>>>                         Reason for this that after looking at both
>
> >>>>>>                         drafts I find section 6.5 of the subject
>
> >>>>>>                         draft to be exactly in line with RFC8200
>
> >>>>>>                         section 8.1 especially with the paragraf
>
> >>>>>>                         which says:
>
> >>>>>>
>
> >>>>>>                         *         If the IPv6 packet contains a
>
> >>>>>>                         Routing header, the Destination
>
> >>>>>>                                  Address used in the pseudo-header
>
> >>>>>>                         is that of the final
>
> >>>>>>                                  destination.  At the originating
>
> >>>>>>                         node, that address will be in
>
> >>>>>>                                  the last element of the Routing
>
> >>>>>>                         header; at the recipient(s),
>
> >>>>>>                                  that address will be in the
>
> >>>>>>                         Destination Address field of the
>
> >>>>>>                                  IPv6 header.*
>
> >>>>>>
>
> >>>>>>                         So before we dive into solutions (as
>
> >>>>>>                         Andrew has already provided a few of) I
>
> >>>>>>                         think we should first agree on what
>
> >>>>>>                         precise problem are we solving here ?
>
> >>>>>>
>
> >>>>>>                         Many thx,
>
> >>>>>>
>
> >>>>>>                         Robert
>
> >>>>>>
>
> >>>>>>                         PS. As a side note I spoke with my
>
> >>>>>>                         hardware folks - just to check if
>
> >>>>>>                         validation of upper-layer checksum is even
>
> >>>>>>                         an option for transit nodes. The answer is
>
> >>>>>>                         NO as most data plane hardware can read at
>
> >>>>>>                         most 256 bytes of packets. So unless there
>
> >>>>>>                         is some specialized hardware processing up
>
> >>>>>>                         to 9K packets in hardware at line rates
>
> >>>>>>                         this entire discussion about checksum
>
> >>>>>>                         violations, fears of firing appeals is
>
> >>>>>>                         just smoke.
>
> >>>>>>
>
> >>>>>>     _______________________________________________
>
> >>>>>>     spring mailing list
>
> >>>>>>     spring@ietf.org
>
> >>>>>>     https://www.ietf.org/mailman/listinfo/spring
>
> >>>>>>
>
> >
>
> > _______________________________________________
>
> > spring mailing list
>
> > spring@ietf.org
>
> > https://www.ietf.org/mailman/listinfo/spring
>
>
> _______________________________________________
>
> spring mailing list
>
> spring@ietf.org
>
> https://www.ietf.org/mailman/listinfo/spring
>
>
> _______________________________________________
> spring mailing list
> spring@ietf.org
> https://www.ietf.org/mailman/listinfo/spring
>
_______________________________________________
spring mailing list
spring@ietf.org
https://www.ietf.org/mailman/listinfo/spring

Reply via email to