Overview of Router Port's Link Layer

Refer to Figure 25-32 on page 680. The Link Layer implemented for each router port performs the same functions as the Link Layer for a CA port.

  1. A packet is received on a router port and is placed in the Link Layer VL receive buffer indicated by the packet's LRH:VL value.

  2. The Link Layer's Data Packet state machine (see Figure 25-20 on page 659) decodes the packet's DLID address and determines that this is the destination port.

  3. If the packet is an SMP or a GMP, the packet is sent to the receiving port's QP0 or QP1 in the Transport Layer. Otherwise, go to the next step.

  4. The packet is passed to the router's Network Layer for processing.

  5. The Network Layer performs a lookup in its unicast or multicast routing table using:

    - If it's an IBA packet, the GRH:DGID.

    - If it's a raw IPv6 packet, the IPv6 Routing Header's DGID address.

    - If it's a raw EtherType packet, the EtherType field.

    It must be stressed that the format, programming, and usage of the Routing Tables is currently outside the scope of the specification.

  6. The exit port is supplied as a result of the Routing Table lookup.

  7. If the packet is an IBA packet or a raw IPv6 packet and the selected exit port connects to another IBA subnet, the Network Layer uses the packet's TClass field to determine the SL to be used in traversing the next subnet. The selected SL value is used to perform a lookup in the exit port's Link Layer SLtoVLMappingTable attribute to determine which data VL transmit buffer the packet should be transferred into for transmission. If the packet is a Raw EtherType packet, the router's Network Layer uses the EtherType field (see Figure 21-3 on page 546) to determine the output port.

  8. VL arbitration is performed in the exit port's Link Layer to determine which data VL transmit gets to transmit next.

Figure 25-32. Router Layers


..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset