Subject: Re: RFC3697bis Open issues 1 & 2

From: Thomas Narten <[email-masked]>
Date: Thu, 03 Feb 2011 20:24:51 -0500

Jarno Rajahalme <[email-masked]> writes:

> These are two different things: flow labeling (which labels to
> assign) and flow state establishment (how to treat specific
> flows). My own reading has been that flow labeling mechanisms may be
> stateful or stateless (for example, pseudo-random sequences were
> mentioned explicitly), and that signaling mechanisms may be needed
> to provide flow-specific treatment.

This is an important observation.

I think we can allow for stateless use of the Flow Label while
preserving the original definition  for other types of usages.

The original restrictions about not reusing Flow Label values had to
do with stateful setup protocols. There was an assumption of sorts
that there was agreement between the source of the traffic and the
routers on what a particular Flow Label value meant and how the router
was to assign resources. If an originating node reboots, and reuses a
Flow Label value too soon, the routers may not have timed out their
state and undesirable things might happen.

We should preserve those semantics, not that I'm optimistic we will
ever need to, but because we can easily enough.

For stateless usages of the flow label, it really doesn't matter if a
particular Flow Label value is reused too soon.

It's in the stateful case that it matters. So just require that when
the Flow Label is set to a value as part of a stateful flow usage, in
*that* case, make sure we don't reuse Flow Label values too soon. That
is, for the more complex case (stateful involving setup) it's still
fine to required adherance to the original semantics. For the
stateless use, we can relax the requirements.

The only place where this gets potentially messy is if you have an
originating node setting the Flow Label using stateful means, but is
also originating packets with zero Flow Label values, and then some
intermediate device changes those values from 0 to something else --
potentially colliding with the stateful value. But this is a bit of an
edge case. We could require any node that uses stateful Flow Setup to
set all Flow Labels properly, or at a minimum not to send out Flow
Label values that are zero.

Thomas

---

From: Brian E Carpenter <[email-masked]>
Date: Fri, 04 Feb 2011 15:54:14 +1300

I agree. This can be cleaned up in the text.

   Brian