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.pdf

 

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

 

Attachment: ib_at.h
Description: ib_at.h

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to