next up previous contents
Next: Sending/receiving flow information. Up: api-ip6-flowlabels Previous: Contents   Contents

Introduction.

Every IPv6 packet carries 28 bits of flow information. RFC2460 splits these bits to two fields: 8 bits of traffic class (or DS field, if you prefer this term) and 20 bits of flow label. Currently there exist no well-defined API to manage IPv6 flow information. In this document I describe an attempt to design the API for Linux-2.2 IPv6 stack.

The API must solve the following tasks:

  1. To allow user to set traffic class bits.

  2. To allow user to read traffic class bits of received packets. This feature is not so useful as the first one, however it will be necessary f.e. to implement ECN [RFC2481] for datagram oriented services or to implement receiver side of SRP or another end-to-end protocol using traffic class bits.

  3. To assign flow labels to packets sent by user.

  4. To get flow labels of received packets. I do not know any applications of this feature, but it is possible that receiver will want to use flow labels to distinguish sub-flows.

  5. To allocate flow labels in the way, compliant to RFC2460. Namely:


next up previous contents
Next: Sending/receiving flow information. Up: api-ip6-flowlabels Previous: Contents   Contents