LPI Addresses

An LPI address is used to identify each end of a connection. It has three components: locality (L), product (P), and index (I).

A message flowing over a connection carries a pair of LPIs, identifying the source and destination of the message. These are the source LPI and destination LPI of the message; together they identify the connection on which the message is flowing.

Note that more than one connection can exist between any pair of services. The Index values are then used to distinguish the connections. For example, in communications between the local node and an SNALink, the L and P values identify the message as being DLC data for that local node, and the I value indicates which connection the data is intended for.

The LPIs are assigned by a combination of the products and the DMODs when the connection is opened, as described in Making Connections.

Because they are assigned dynamically for each component, the L values are not the same across a whole system. For example, a local 2.1 node locality could be known as locality 4 to one SNALink locality and locality 6 to a second SNALink locality. However, from the viewpoint of any locality there exists a unique L value for each remote locality within which a path exists; this L value is used as an index into an internal table that identifies the path to that locality.

The following three figures show an example of the L values that could be used between the components shown in Paths and DMODS, and examples of the LPI values that would be used by the local node on messages flowing between the components.

The first illustration shows sample L values.

The following illustration shows L values specified on messages between the local node and SNALink A.

The following illustration shows LPI values specified on messages flowing on two different connections between the local node and SNALink A.

The Base is called by any piece of code that wishes to send a message. It uses the destination L value on the message to determine where to send it. When the message gets to the remote locality, the Base in that locality routes it to the appropriate service if the locality contains more than one service.