Mark,

Yeah... you may be right... we added the intro part to start the draft because 
mentioning the construction "using Flow-Label" seems to have toxic email storm 
effect on email lists around v6. Hence the disclaimers on flow-label usage at 
the start of the text. Maybe it is wrongly placed and gives the wrong 
impression indeed... it is for sure not the intent... It is our intent to set 
flow-label on the outer tunnel header, and this is done by the router which is 
imposing the IPv6 tunnel outer header, but we are not fiddling on the fly with 
transit flow-labels at all. This seems not to break any IPv6 rules I think.

However, as you point out the case of SRv6 EH insert, is a different story and 
requires a bit more thought. It is possible also, but needs to use the SRv6 
Opaque value-containers to carry the original Flow-label across the domain to 
reconstruct the original flow-label value. Nevertheless, RFC8200 seems rather 
restrictive on EH insertion, and hence we conveniently assumed that chances are 
low for it to become reality due to IPv6 specification complexities and we 
disregarded EH inject.

G/


-----Original Message-----
From: Mark Smith [mailto:[email protected]] 
Sent: Tuesday, November 7, 2017 09:04
To: Van De Velde, Gunter (Nokia - BE/Antwerp) <[email protected]>
Cc: [email protected]; [email protected]
Subject: Re: [v6ops] FW: New Version Notification for 
draft-fioccola-spring-flow-label-alt-mark-01.txt

Hi Gunter,

On 7 November 2017 at 17:56, Van De Velde, Gunter (Nokia - BE/Antwerp) 
<[email protected]> wrote:
> Hi Mark,
>
> The flow label of the original packet is untouched. It is never manipulated 
> in this proposal. The flow label that is set in this proposal is done at the 
> SRv6 tunnel-head end which imposes the SRv6 encapsulation header. It is this 
> encapsulation header which has the flow label which is used in this draft.
> So basically, it is just the SRv6 tunnel outer encap header which is used for 
> alternate packet marking. And this is set only one time by the original SRv6 
> tunnel head-end router (which is the source address of the IPv6 SRv6 
> tunnel...). This outer SRv6 header is removed when the packet exits the SRv6 
> domain, and the original flow label appears again untouched. This does not 
> break any RFC at all because all because the original flow-label of the 
> original IPv6 packet is never touched.
>
> So, in this proposal there is no device which is changing flow-labels at all. 
> It is only during the imposing of the SRv6 outer header, that the flow label 
> field is set once for Alternate marking purposes inside the outer SRv6 tunnel 
> header.
>
> Hope it clarifies?
>

It does, although it seems to be contrary to quite a lot of the introduction 
text:


"The flow label is an immutable field recommended to contain a pseudo-
   random value [RFC6437].  However, in most packets it has the default
   value of zero, although some TCP/IP stacks do set it according to
   [RFC6437].

   [RFC6436] and [RFC6437] open the door for IPv6 Flow Label to be used
   in controlled environment,..."

"Based on these considerations, it is allowed to use the flow label
   field in a managed domain, assuming when a packet leaves the domain,
   the original flow label value MUST be restored."

and the later reference to
"[I-D.voyer-6man-extension-header-insertion]" all seems to be setting up a case 
to justify modifying the original packet's flow label value and then restoring 
it using the original value that has been somehow sent or signalled to the 
network egress.

As you've said, when tunnelling, the original packet and its flow label value 
is entirely preserved, so there doesn't need to be any of the above text. Even 
the text about hosts not setting the FL value isn't really necessary, as tunnel 
end-points, as a function at the
IPv6 layer, are hosts that originate packets, so they can set the FL value to 
what ever they like because they're originating the (tunnel) packet.


I think it might be better to avoid using two of the FL bits to encode the 
marking method, as that also deviates from RFC6437 (I seem to remember we also 
thought about using some bits in the FL to encode something during that time, 
and also abandoned it.)

I'm not across the Alternate Marking Method work, so this might be a dumb 
question or suggestion. Within a measurement domain, is there ever going to be 
a mix of single and double marking, such that it needs to be encoded 
per-packet? If a domain can only support one of them at any one time, then I 
think that could be encoded in the configuration of the SRv6 tunnel end points, 
rather than encoding it in a couple of the FL bits.

Also, there is now an IPv6 Performance and Diagnostics Destination Option which 
may be a IPv6 conventional way of encoding this marking or measurement 
information in the outer IPv6 tunnel header (i.e.
[Outer IPv6 HDR][PDM][Inner/Original IPv6 Packet])

"IPv6 Performance and Diagnostic Metrics (PDM) Destination Option"
https://tools.ietf.org/html/rfc8250

Regards,
Mark.


> G/
>
>
>
> -----Original Message-----
> From: Mark Smith [mailto:[email protected]]
> Sent: Tuesday, November 7, 2017 06:16
> To: Van De Velde, Gunter (Nokia - BE/Antwerp) 
> <[email protected]>
> Cc: [email protected]; [email protected]
> Subject: Re: [v6ops] FW: New Version Notification for 
> draft-fioccola-spring-flow-label-alt-mark-01.txt
>
> On 7 November 2017 at 02:59, Van De Velde, Gunter (Nokia - BE/Antwerp) 
> <[email protected]> wrote:
>> If any feedback or comments (preferably constructive), then please 
>> have the discussion including SPRING WG in cc
>>
>
> So this draft, similar to the IPv6 EH insertion draft, doesn't answer the 
> fundamental question of why.
>
> What technical and engineering reasons justify reusing the flow label field, 
> contrary to its specification? What alternatives were considered that don't 
> violate the the flow label specification, and why are their drawbacks so 
> significant that they justify ignoring the flow label specification? Use of 
> IPv6 fields can be novel, however the novelty has to fit within the 
> specifications to ensure interoperability.
>
> "[RFC6436] and [RFC6437] open the door for IPv6 Flow Label to be used
>    in controlled environment,"
>
> I'm sure it doesn't. During the original discussions that resulted in 
> RFC6437, I suggested the idea of Flow Label domains similar to DSCP domains. 
> It was ignored for valid reasons. This is the discussion mentioned in the 
> first paragraph of appendix A in RFC6436.
>
> "A model was discussed in an earlier version of this document which
>    defined a notion of 'flow label domain' analogous to a differentiated
>    services domain [RFC2474].  This model would have encouraged local
>    usage of the flow label as an alternative to any form of generic use,
>    but it required complex rules for the behavior of domain boundary
>    routers, and proved controversial in discussion."
>
>
> Here's what the flow label specification RFC says,
>
> "Once set to a non-zero value, the Flow Label is expected to be
>    delivered unchanged to the destination node(s).  A forwarding node
>    MUST either leave a non-zero flow label value unchanged or change it
>    only for compelling operational security reasons as described in
>    Section 6.1"
>
> I don't think the use in this draft is a "compelling operational security 
> reason".
>
> A network can have a number of egress points. To be able to restore flow 
> label values upon egress, either all of the flow label restoration state for 
> all in-flight packets' flow label values will have to be kept synchronised at 
> all of the egress points, or kept synchronised in accordance with where the 
> routing protocol determines is the current egress point for the packet.
>
> In this latter case, while in flight, the egress point could change, meaning 
> the packet's egress path changes, and there then occurs a race between when 
> the packet reaches the exit point and the flow label restoration state for 
> that packet reaches that egress point so that it can be restored.
>
> So are packets going to be held/delayed upon ingress such that they can never 
> reach the egress point before their original flow label value information 
> reaches that egress point first? If they're not, then there is no assurance 
> that the original flow label value can be restored, and the domain isn't 
> closed anymore. The modified packet leaves the "closed domain" with the 
> modification unrestored.
>
>
> "The IPv6 protocol includes a flow label in every packet
>    header, but this field is, according to [RFC6294], not used in
>    practice."
>
> RFC6294 was published in 2011, 6 years ago. Implementations have changed 
> since then.
>
> The Linux kernel is setting flow label values per RFC6437 per Tom Herbert's 
> Linux kernel patch in the order of 2 years ago.
>
> Random flow labels look to be also being set by Mac OS X around the 
> same time (July 2015) -
>
> https://www.ietf.org/mail-archive/web/ipv6/current/msg22820.html
>
> Windows was the major hold out - the latest Windows 10 Creater Update is now 
> setting Flow Labels.
>
> https://www.ietf.org/mail-archive/web/ipv6/current/msg22820.html
>
>
> It seems people are starting to believe "closed domains" can be used to 
> justify modifying packets in flight, in any way they'd like to modify them. 
> In theory and in specifications, the modifications are guaranteed to be 
> reversed at egress, in practice, contrary to specifications, implementations 
> and network operations are not guaranteed and perfect. The reversal may not 
> occur at egress due to implementation bugs, partial device failures or 
> operator configuration error or omission. These sorts of in-flight changes 
> are not conservative, making them contrary to the Robustness Principle.
>
> As shown by RFC1918 address and route leaks, "closed domains" attached to the 
> Internet aren't guaranteed to be closed. A closed domain network can only be 
> truly closed off from the Internet if it is completely isolated with an air 
> gap.
>
>
> Regards,
> Mark.
>
>> G/
>>
>> -----Original Message-----
>> From: [email protected] [mailto:[email protected]]
>> Sent: Thursday, October 26, 2017 16:35
>> To: Giuseppe Fioccola <[email protected]>; Van De 
>> Velde, Gunter (Nokia - BE/Antwerp) <[email protected]>; 
>> Muley, Praveen (Nokia - US/Mountain View) <[email protected]>; 
>> Mauro Cociglio <[email protected]>
>> Subject: New Version Notification for 
>> draft-fioccola-spring-flow-label-alt-mark-01.txt
>>
>>
>> A new version of I-D, 
>> draft-fioccola-spring-flow-label-alt-mark-01.txt
>> has been successfully submitted by Giuseppe Fioccola and posted to the IETF 
>> repository.
>>
>> Name:           draft-fioccola-spring-flow-label-alt-mark
>> Revision:       01
>> Title:          Using the IPv6 Flow Label for Performance Measurement with 
>> Alternate Marking Method in Segment Routing
>> Document date:  2017-10-26
>> Group:          Individual Submission
>> Pages:          8
>> URL:            
>> https://www.ietf.org/internet-drafts/draft-fioccola-spring-flow-label-alt-mark-01.txt
>> Status:         
>> https://datatracker.ietf.org/doc/draft-fioccola-spring-flow-label-alt-mark/
>> Htmlized:       
>> https://tools.ietf.org/html/draft-fioccola-spring-flow-label-alt-mark-01
>> Htmlized:       
>> https://datatracker.ietf.org/doc/html/draft-fioccola-spring-flow-label-alt-mark-01
>> Diff:           
>> https://www.ietf.org/rfcdiff?url2=draft-fioccola-spring-flow-label-alt-mark-01
>>
>> Abstract:
>>    [RFC6294] makes a survey of Proposed Use Cases for the IPv6 Flow
>>    Label.  The IPv6 protocol includes a flow label in every packet
>>    header, but this field is, according to [RFC6294], not used in
>>    practice.  This document describes how the alternate marking method
>>    can be used as the passive performance measurement method in a IPv6
>>    domain.
>>
>>
>>
>>
>>
>> Please note that it may take a couple of minutes from the time of submission 
>> until the htmlized version and diff are available at tools.ietf.org.
>>
>> The IETF Secretariat
>>
>> _______________________________________________
>> v6ops mailing list
>> [email protected]
>> https://www.ietf.org/mailman/listinfo/v6ops
_______________________________________________
spring mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/spring

Reply via email to