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
>>> <brian.e.carpen...@gmail.com> 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 <idsubmiss...@ietf.org> To:
>>>> brian.e.carpen...@gmail.com CC: shengji...@huawei.com
>>>> 
>>>> 
>>>> 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 ipv6@ietf.org 
>>>> Administrative Requests:
>>>> https://www.ietf.org/mailman/listinfo/ipv6 
>>>> --------------------------------------------------------------------
>>>> 
>> --------------------------------------------------------------------
>>  IETF IPv6 working group mailing list ipv6@ietf.org 
>> Administrative Requests:
>> https://www.ietf.org/mailman/listinfo/ipv6 
>> --------------------------------------------------------------------
>> 
> 
> 
--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to