Using the Flow Label Field in IPv6 (RFC1809)
Original Publication Date: 1995-Jun-01
Included in the Prior Art Database: 2000-Sep-13
Internet Society Requests For Comment (RFCs)
The purpose of this memo is to distill various opinions and suggestions of the End-to-End Research Group regarding the handling of Flow Labels into a set of suggestions for IPv6. This memo is for information purposes only and is not one of the IPv6 specifications. Distribution of this memo is unlimited.
Network Working Group C. Partridge
Request for Comments: 1809 BBN Systems and Technologies
Category: Informational June 1995
Using the Flow Label Field in IPv6
Status of this Memo
This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.
The purpose of this memo is to distill various opinions and
suggestions of the End-to-End Research Group regarding the handling
of Flow Labels into a set of suggestions for IPv6. This memo is for
information purposes only and is not one of the IPv6 specifications.
Distribution of this memo is unlimited.
This memo originated as the report of a discussion at an End-to-End
Research Group meeting in November 1994. At that meeting the group
discussed several issues regarding how to manage flow identifiers in
IPv6. A report of the meeting was then circulated to the IPv6
community. Feedback from that community resulted in changes to this
memo and in changes to the IPv6 specification to fix some minor
problems the End-to-End Group had raised.
While many of the ideas in this memo have found their way into the
IPv6 specification, the explanation of why various design decisions
were made have not. This memo is intended to provide some additional
context for interested parties.
Brief Description of the Flow Label
The current draft of the IPv6 specification states that every IPv6
header contains a 24-bit Flow Label. (Originally the specification
called for a 28-bit Flow ID field, which included the flow label and
a 4-bit priority field. The priority field is now distinct, for
reasons discussed at the end of this memo).
The Flow Label is a pseudo-random number between 1 and FFFFFF (hex)
that is unique when combined with the source address. The zero Flow
Label is reserved to say that no Flow Label is being used. The
specification requires that a source must not reuse a Flow Label
value until all state information for the previous use of the Flow
Label has been flushed from all routers in the internet.
The specification further requires that all datagrams with the same
(non-zero) Flow Label must have the same Destination Address, Hop-
by-Hop Options header, Routing Header and Source Address contents.
The notion is that by simply looking up the Flow Label in a table,
the router can decide how to route and forward the datagram without
examining the rest of the header.
Flow Label Issues
The IPv6 specification originally left open a number of questions, of
which these three were among the most important:
1. What should a router do if a datagram with a (non-zero)
Flow Label arrives and the router has no state for that
2. How does an internet flush old Flow Labels?