RFC 1809 (rfc1809) - Page 2 of 6
Using the Flow Label Field in IPv6
Alternative Format: Original Text Document
RFC 1809 June 1995 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 Flow Label? 2. How does an internet flush old Flow Labels? 3. Which datagrams should carry (non-zero) Flow Labels? This memo summarizes the End-to-End Group's attempts to answer these questions. What Does a Router Do With Flow Labels for Which It Has No State? If a datagram with a non-zero Flow Label arrives at a router and the router discovers it has no state information for that Flow Label, what is the correct thing for the router to do? The IPv6 specification allows routers to ignore Flow Labels and also allows for the possibility that IPv6 datagrams may carry flow setup information in their options. Unknown Flow Labels may also occur if a router crashes and loses its state. During a recovery period, the router will receive datagrams with Flow Labels it does not know, but this is arguably not an error, but rather a part of the recovery period. Finally, if the controversial suggestion that each TCP connection be assigned a separate Flow Label is adopted, it may be necessary to manage Flow Labels using an LRU cache (to avoid Flow Label cache overflow in routers), in which case an active but infrequently used flow's state may have been intentionally discarded. Partridge Informational



