Regards
Brian Carpenter
On 2010-04-15 14:10, Shane Amante wrote:
> Brian, Mark,
>
> Brian: FWIW, I like the direction of this version of draft
> much better than previous versions; however, I agree with
> Remi that the current version is a bit confusing at the
> moment and could likely be rewritten to be more simple and
> just obsolete RFC 3967. In addition, I'm still a bit unclear
> and, therefore, uncomfortable on the proposal with respect to
> flow-labels within an "administratively defined domain". In
> particular, if one administrative domain has set their own
> "locally defined" flow-label, I think the draft could benefit
> from a stronger emphasis that the flow-label MUST or, at
> least, SHOULD be reset to 0 upon /leaving/ that domain,
> otherwise the next domain may (or, will?) misinterpret the
> meaning of the incoming "locally-defined" flow-label. The
I'm personally quite attracted by this. It does further damage
to the sacred principle that the flow label is immutable,
but maybe that is the inevitable result anyway.
Brian
> way I interpret the text in Bullet 3 of Section 3 seems
> written in a way that is specific to packets entering domains
> that are going to use locally-defined flow-labels, but not
> how they must treat those same packets as they leave their
> domain and, most importantly, need to interact with other
> domains that don't understand or want to use a "standard"
> definition of a flow-label, i.e.: in Bullets 1, 2 & 4. Or,
> perhaps I'm misunderstanding something.
>
> More below.
>
> On Apr 14, 2010, at 16:13 MDT, Brian E Carpenter wrote:
>> Hi Mark,
>>
>> On 2010-04-15 09:59, Mark Smith wrote:
>>> Hi Brian and Sheng,
>>>
>>> On Wed, 14 Apr 2010 16:48:25 +1200 Brian E Carpenter
>>> <[email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> This is completely revised from the proposal we
>>>> presented in Anaheim. This version allows locally
>>>> defined use of the flow label in a simpler way, as the
>>>> discussion suggested. It's still quite a dense read,
>>>> but we believe that if this was adopted, it would open
>>>> the way to actually using the flow label.
>>>>
>>> I've had a read through it, although not a comprehensive
>>> one, which I'll endeavour to do in the next day or so.
>>>
>>> I'm wondering about this change for a couple of reasons:
>>>
>>> -- 2. If this is done, all packets in a given flow MUST
>>> be given the same flow label value. A flow is defined in
>>> this case as all packets with the same source and
>>> destination IPv6 addresses and port numbers and the same
>>> transport protocol number, i.e., the same final Next
>>> Header value [RFC2460]. This rule constrains the
>>> definition of a flow in RFC 3697 for the specific case
>>> that a router sets the flow label. However, it does not
>>> constrain the bits of the flow label in any particular
>>> way. --
>>>
>>> Firstly, if the IPv6 packets are fragments, the transport
>>> layer header may not be available. I think that would
>>> mean that although these packets fragments are part of a
>>> flow, they wouldn't have their flow label changed.
>> Yes, certainly, if the router inserting the flow label is
>> stateless. I honestly don't see a way round that and it's
>> probably better to list it as a limitation. It probably
>> doesn't matter - anyone who is deploying a local scheme for
>> the flow label is presumably able to also deploy a
>> non-fragmenting network.
>
> Actually, one would hope that implementations are actually
> "smart" about fragments. Specifically, one could look for a
> Fragment Header and, upon noticing it, mask out or exclude
> Layer-4 transport information, (e.g.: protocol, source and
> destination port) as input keys for, say, LAG or ECMP. This
> means one would only consider the 2-tuple of source and
> destination IP address, which is better than nothing, but
> more importantly would still preserve ordering.
>
>
>>> Secondly, for IPv6 packets with a number of extension
>>> headers before the transport layer header, I think this
>>> rule could impact forwarding performance. While I'm not
>>> sure if it is that practical, however it'd be good if
>>> flow classification could be done using only fixed
>>> headers in the IPv6 packet, or a fixed portion of the
>>> fixed header bits.
>> I will send a separate message on that point.
>
> I wholeheartedly agree with Mark's point. I would add that
> IPv6 Extension Headers may not impact forwarding performance
> on PE interfaces, because they are [somewhat] high-touch
> interfaces that typically must be capable of imposing various
> 2- or 5-, or 6-tuple[1] classifiers on PE-CE interfaces for
> applying ACL's (forward/drop), policing/rate-limiting or
> marking (IPv6 TC field) functions. *However*, the same is
> not true of P routers, which generally have several dozen
> bleeding edge interfaces of 40G and 100G and beyond. Thus,
> allowing P routers to more quickly access input keys to a LAG
> or ECMP hash function is pretty critical.
>
> [1] 6-tuple if you include Traffic Class.
>
>
>>> I suppose partly that comes down to what a 'flow' is. In
>>> some contexts, it is definitely a transport layer
>>> connection. In others, e.g. an MPLS network, I think it
>>> could be seen to be all packets that match a Forwarding
>>> Equivalence Class. If it was possible to use a FEC to set
>>> the flow label, once the packet has traversed the MPLS
>>> network, and the MPLS labels are stripped off, the flow
>>> label that was set due to the FEC would be preserved,
>>> which might be useful. Is there an opportunity to make
>>> the definition of a flow a bit more general, and then for
>>> allow for the choice of different packet classification
>>> methods to be used to define a flow, based on context
>>> e.g. transport layer connection in some contexts, MPLS
>>> FEC, QoS/Diff Serv classifiers etc. in others?
>> And that's an even wider question. I'm inclined to duck it,
>> or at least to assert that it's a much wider question than
>> 6man can tackle.
>
> Let's not duck ... not yet, anyway. :-)
>
> With respect to MPLS, there is the following, now expired,
> draft which might be what you're looking for:
> http://tools.ietf.org/html/draft-kompella-mpls-entropy-label-00
> ... however, there are some challenges with it, namely
> handling Penultimate Hop Popping (PHP), which isn't discussed
> in the draft, plus the fact that legacy HW certainly most
> likely will not support pushing additional labels required to
> insert an entropy-label. If you're interested in this draft,
> I suggest we take if offline and/or to the MPLS list.
>
> That said, I would hope the use of an MPLS entropy label
> might be avoided for IP over MPLS traffic and, instead, a
> simpler approach would be to use (even in MPLS networks) just
> the following as input-keys to LAG or ECMP: - IPv6 source
> address; - IPv6 destination address; and, - A _proper_ IPv6
> flow-label that unambiguously identifies an underlying "flow"
> ... without needing to seek out Transport layer info.
>
> I believe it would be an implementation detail as to what
> IPv6 header fields a vendor would allow to be included as
> input-keys to a hash that would be calculated and put into a
> IPv6 flow-label. Although, certainly I would hope we could
> insist on a minimum of the 2-tuple and "recommend" that they
> include the more valuable the 5- or 6-tuple as input-keys to
> the hash algorithm for the flow-label.
>
> -shane
>
>
>
>
>
>> Brian
>>> Regards, Mark.
>>>
>>>
>>>
>>>
>>>
>>>
>>>> Brian and Sheng
>>>>
>>>> -------- Original Message -------- Subject: New Version
>>>> Notification for draft-carpenter-6man-flow-update-02
>>>> Date: Tue, 13 Apr 2010 21:44:42 -0700 (PDT) From: IETF
>>>> I-D Submission Tool <[email protected]> To:
>>>> [email protected] CC: [email protected]
>>>>
>>>>
>>>> A new version of I-D,
>>>> draft-carpenter-6man-flow-update-02.txt has been
>>>> successfully submitted by Brian Carpenter and posted to
>>>> the IETF repository.
>>>>
>>>> Filename: draft-carpenter-6man-flow-update Revision:
>>>> 02 Title: Update to the IPv6 flow label specification
>>>> Creation_date: 2010-04-13 WG ID: Independent
>>>> Submission Number_of_pages: 10
>>>>
>>>> Abstract: Various uses proposed for the IPv6 flow label
>>>> are incompatible with its existing specification. This
>>>> document describes changes to the specification that
>>>> permit additional use cases as well as allowing
>>>> continued use of the previous specification.
>>>>
>>>>
>>>>
>>>> The IETF Secretariat.
>>>>
>>>>
>>>>
>>>> --------------------------------------------------------------------
>>>> IETF IPv6 working group mailing list [email protected]
>>>> Administrative Requests:
>>>> https://www.ietf.org/mailman/listinfo/ipv6
>>>> --------------------------------------------------------------------
>>>>
>> --------------------------------------------------------------------
>> IETF IPv6 working group mailing list [email protected]
>> Administrative Requests:
>> https://www.ietf.org/mailman/listinfo/ipv6
>> --------------------------------------------------------------------
>>
>
>
--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------