Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide

NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Searchable, convenient, complete TCP/IP information.
The TCP/IP Guide

Custom Search

Table Of Contents  The TCP/IP Guide
 9  TCP/IP Lower-Layer (Interface, Internet and Transport) Protocols (OSI Layers 2, 3 and 4)
      9  TCP/IP Internet Layer (OSI Network Layer) Protocols
           9  Internet Protocol (IP/IPv4, IPng/IPv6) and IP-Related Protocols (IP NAT, IPSec, Mobile IP)
                9  Internet Protocol Version 6 (IPv6) / IP Next Generation (IPng)
                     9  IPv6 Datagram Encapsulation and Formatting

Previous Topic/Section
IPv6 Datagram Extension Headers
Previous Page
Pages in Current Topic/Section
Next Page
IPv6 Datagram Size, Maximum Transmission Unit (MTU), Fragmentation and Reassembly
Next Topic/Section

IPv6 Datagram Options
(Page 2 of 2)

IPv6 Option Format

Each of these header types has a one-byte Next Header field, and a one-byte Header Extension Length field that indicates the header’s overall length. The rest of the header has one or more option fields. Figure 109 illustrates the overall format of these two headers. The format of each option is similar to that of IPv4 options, and is shown in Table 73.

Figure 109: IPv6 Hop-By-Hop Options and Destination Options Header Formats

Each of these extension headers begins with two fixed fields, Next Header and Header Extension Length. The rest of the header consists of a sequence of variable-length options. Each option has the structure shown in Table 73, consisting of a type / length / value triplet.


Table 73: IPv6 Option Format

Subfield Name

Size (bytes)


Option Type



Opt Data Len


Option Data Length: Specifies the length of the Option Data subfield below. Note that this is a change in semantics from IPv4, where the length field indicated the size of the entire option; in IPv6 the length of the Option Type and Option Data Length fields are not included.

Option Data


Option Data: The data to be sent as part of the option, which is specific to the option type. Also sometimes referred to as the Option Value.

Note: The Option Type subfield is a bit strange in terms of how it is interpreted. Even though it has a substructure with three sub-subfields as shown in Table 73, that structure is “informal”. What I mean by this is that the 8 bits of this field are taken as a single entity. Despite the special meaning of the three highest-order bits, the entire field is called the Option Type, not just the last five bits, and the whole is used as a single value from 0 to 255. In fact, the “sub-subfield” names aren't even specified in the standard; I made them up to help explain these fields.

Since each option has a subfield for type, length and value (data), they are sometimes said to be TLV-encoded. If there are multiple options, they are placed one after each other in the header. At the end of all the options in a Hop-By-Hop Options or Destination Options extension header, padding may be placed to ensure that the header is a multiple of 8 bytes in length.

Key Concept: Two IPv6 extension header types, Hop-By-Hop Options and Destination Options, are used to carry arbitrary optional information in IPv6 datagrams. Each consists of a set of variable-length options that are defined using three subfields indicating the option’s type, length and value.


Previous Topic/Section
IPv6 Datagram Extension Headers
Previous Page
Pages in Current Topic/Section
Next Page
IPv6 Datagram Size, Maximum Transmission Unit (MTU), Fragmentation and Reassembly
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $

Home - Table Of Contents - Contact Us

The TCP/IP Guide (
Version 3.0 - Version Date: September 20, 2005

Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.