IPv6 over Frame Relay

RFC-2590 deals with the specifics of using IPv6 over Frame Relay networks.
It specifies the following:
- the frame format for transmission of packets.
- the method of forming IPv6 link local addresses on Frame Relay links.
- the mapping of the IPv6 addresses to Frame Relay addresses.
- the content of the Source/Target link-layer address option used in Neighbor Discovery [ND] and Inverse Neighbor Discovery [IND] messages when those messages are transmitted over a Frame Relay link.

The Maximum Transmission Unit

In general, Frame Relay devices are configured to have a maximum frame size of at least 1600 octets. Therefore, the default IPv6 MTU size for a Frame Relay interface is considered to be 1592. A smaller than default frame size can be configured but of course not smaller than the minimum IPv6 MTU. The maximum frame size is controlled by the CRC generation mechanisms employed at the HDLC level. CRC16 will protect frames up to 4096 bytes in length, which reduces the effective maximum frame size to approximately 4088 bytes.
In general, if upper layers provide adequate error protection/detection mechanisms, implementations may allow configuring a Frame Relay link with a larger than 4080 octets frame size but with a lesser error protection/detection mechanism at link layer. However, because IPv6 relies on the upper and lower layer error detection, configuring the IPv6 MTU to a value larger than 4080 is strongly discouraged.

IPv6 Frame Format

The IPv6 frame encapsulation for Frame Relay follows [ENCAPS], which allows a VC to carry IPv6 packets along with other protocol packets. The encapsulation of data or control messages exchanged by various protocols that use SNAP encapsulation (with their own PIDs) is not affected. The encoding of the IPv6 protocol identifier in such messages MUST be done according to the specifications of those protocols.

Stateless Autoconfiguration

An interface identifier for an IPv6 Frame Relay interface must be unique on a Frame Relay link, and must be unique on each of the virtual links represented by the VCs terminated on the interface. The interface identifier for the Frame Relay interface is locally generated by the IPv6 module. Each virtual circuit in a Frame Relay network is uniquely identified on a Frame Relay interface by a DLCI. Furthermore, a DLCI can be seen as an identification of the end point of a virtual circuit on a Frame Relay interface. Since each Frame Relay VC is configured or established separately, and acts like an independent virtual-link from other VCs in the network, or on the interface, link, wire or fiber, it seems beneficial to view each VC's termination point on the Frame Relay interface as a "pseudo-interface" or "logical-interface" overlaid on the Frame Relay interface. Furthermore, it seems beneficial to be able to generate and associate an IPv6 autoconfigured address (including an IPv6 link local address) to each "pseudo-interface". The Duplicate Address Detection is used repeatedly during the interface identifier and local-link address generation process, until the generated identifier and consequently the link-local address on the link -- VC -- are unique.

Link-Local Addresses

The IPv6 link-local address for an IPv6 Frame Relay interface is formed by appending the interface identifier to the prefix FE80::/64

Address Mapping -- Unicast, Multicast

The Source/Target Link-layer Address option used in Neighbor Discovery and Inverse Neighbor Discovery messages for a Frame Relay link follows the general rules defined by [IPv6-ND]. IPv6 addresses can map two type of identifiers equivalent to link-layer addresses: DLCIs, and Frame Relay Addresses.
- DLCI Format -- used in ND and/or IND messages on VCs that were established prior to the ND or IND message exchange --  mostly PVCs. The use on SVCs makes sense with Inverse Neighbor Discovery [IND] messages if IND is employed after the successful establishing of an SVC to gather information about other IPv6 addresses assigned to the remote node and that SVC.
- Frame Relay Address Format -- used mostly prior to establishing a new SVC, to get the Frame Relay remote node identifier (link-layer address) mapping to a certain IPv6 address.