Using the raw IPv6 message transfer mechanism, software associated with a CA can support standard protocols layered atop IPv6, such as TCP and UDP.
Figure 21-2 on page 544 illustrates the format of a Raw IPv6 request packet (there are no response packets). The packet contains the following elements:
LRH:
- LRH:DLID is used to guide the packet through the IBA subnet to a router ingress port.
- LRH:SL defines the desired QoS for the packet's travel through this IBA subnet.
IPv6 Routing Header:
- The IPv6 Routing Header contains the address of the final destination in its DGID address field.
- TClass defines the desired QoS for the packet's travel from the source port to the final destination.
- The NxtHdr (Next Header) field is also referred to as the Internet Protocol Number and defines what type of Internet protocol the encapsulated non-IBA packet adheres to (and therefore, the presence or absence of other Transport Headers specific to that protocol). If there are other Transport Hears present, their type is defined by the protocol identified by the value in the NxtHdr field. The values currently defined for the NxtHdr (i.e., Internet Protocol Number) are listed in Table 21-5 on page 555 and are assigned by the IETF (Internet Engineering Task Force; see www.ietf.org).
In preparation for sending a message, software builds the message in local memory. For an IPv6 message:
The first 40 bytes of the message in memory must be the 40-byte IPv6 Header,
followed by the appropriate additional Transport Headers defined by the Internet Protocol Number,
followed by the packet's actual data payload.
When the raw IPv6 QP's SQ Logic processes the WQE:
It forms the packet's LRH from the information supplied in the WQE (i.e., the WR).
It then reads the message from local memory, generates the VCRC, and transmits the packet.