[openib-general] IB Address Translation service

shaharf shaharf at voltaire.com
Sun Feb 27 09:53:36 PST 2005


The following email describes few new function calls for OpenIB access
layer that enable better/simpler use of the InfiniBand fabric resources,
called ib_at (IB address translation) See the attached preliminary ib_at
h file. 

 

There are 3 main functions and few additional helper functions and
structures

1. ib_at_route_by_ip()  - Translate from Destination IP (and optionally
Source IP, IP TOS) to the IB route properties (IB device, SGID/DGID, and
recommended Partition and QoS attributes) 

 

2. ib_at_paths_by_route() - Translate from IB route properties
(SGID/DGID and optionally partition, QoS info, Multipath type) to one or
more possible path records.

 

3. ib_at_ips_by_gid() - Reverse resolution from remote IB address to IP
address (like RARP)

 

 

Ib_at will provide the following internal functionality:

1. IP address translation to GID's and adapters/ports (using IB-ARP
and/or IB-ATS) 

2. Reverse translation from GID to IP (using IB-ATS) 

3. Determine default partition (P_Key) and QoS (SL, QoS Tag) values for
use in ULP's 

4. Obtain path information (SGID/DGID to path records) 

5. Obtain multiple paths for high-availability, QoS, multi-rail, and
source based routing (using LMC) 

6. Central path caching and invalidation 

 

The set of ib_at function calls allow for a central mechanism that will
deal with all address, path and path attributes resolution allowing
ULP's to become simpler, take advantage all IB capabilities without
special knowledge of IB architecture, and reduce manual configuration.  

 

See more background material and diagrams in (from the developers'
workshop): 

 
http://www.openib.org/docs/oib_wkshp_022005/part-qos-ha-voltaire-haviv.p
df

 

ib_at will rely on the Linux IP infrastructure, and the IB SA (ATS
ServiceRecords, PathRecord, or MultiPathRecord, or QoSPathRecord) to
provide the routing/path information.

The exact implementation will be proposed after the API discussion will
be agreed on, and may be implemented in several stages (e.g. cant use SA
Multipath before RMPP is available in the GSI).

 

* note a "QoS Tag" value is defined, it is automatically generated by
ib_at_route_by_ip() or optionally specifies by the ULP, initially it
will be mapped 1:1 to IB SL and in future will be aligned to the newly
defined IB-QoS architecture. 

 

Any comments and suggestions for changes, fixes and improvements will be
welcomed.

 

Shahar

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20050227/422e3481/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ib_at.h
Type: application/octet-stream
Size: 7434 bytes
Desc: ib_at.h
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20050227/422e3481/attachment.obj>


More information about the general mailing list