[openib-general] mapping between IP address and device name

Hal Rosenstock halr at voltaire.com
Tue Jun 21 06:05:29 PDT 2005


Hi Kevin,

On Mon, 2005-06-20 at 22:23, Kevin Reilly wrote: 
> Maybe somebody could help me understand the proper way to map between an IP
> address assigned to a port to the
> "device  name" and "port number" in the gen2 architecture.  If I have an IP
> address can I map it to a name that i get back
> from ibv_get_device_name() or pass to ibv_open_device().
>      Here  is  the  problem.  Let's  say  there  is  a  subsystem that used
> heartbeating over IP interfaces to ascertain the adapters
> and  ports  state,  up  or  down.   The  data  actively  maintained be this
> heartbeating subsystem is used by a job scheduler that
> desires  to  only schedule tasks on HCAs that are UP and have active ports.
> The job scheduler does not want to launch jobs
> on adapters that are broken, not connected to a switch or not configured.
>       The  job  scheduler  needs a way to map an IP address into a name and
> port number sitable to be passed to the job to
> use   when   ibv_open_device()   is  called  or  to  match  the  output  of
> ibv_get_device_name().

With kernel IB Address Translation (IBAT), you can resolve an IP address
(remote or local) and obtain the device and port are obtained from the
ib_route structure.

ib_at_route_by_ip: 
 * ib_at_route_by_ip - asynchronously resolve ip route to ib route
 * @dst_ip: destination ip
 * @src_ip: source ip - optional
 * @tos: ip type of service
 * @flags: ib_at_route_flags
 * @ib_route: out structure
 * @async_comp: asynchronous callback structure - optional
 *
 * Resolve the specified dst_ip to a &struct ib_route structure.
 * src_ip can be provided to force specific output interface.
 * flags can be used to select resolving method; currently IB-ARP or ATS.
and then: 
 * ib_at_paths_by_route - asynchronously resolve ib route to ib path records
 * @ib_route: ib route to resolve
 * @mpath_type: ib_at_multipathing_type
 * @path_arr: SA path record array - out
 * @npath: maximal number of paths to return
 * @async_comp: asynchronous callback structure - optional
 *
 * Resolve the specified ib_route to a SA path record array.
 * Number of returned paths will not exceed npath.
 * Multipathing type may be used to obtain redundant paths for APM,
 * other failover schemes, bandwidth aggregation or source based routing.
 * Note that multipathing request is meaningless unless npath is greater than 1.
 *
 * Returned ib_route structure includes the recommended pkey and qos_tag for
 * this route.

IBAT is not currently in the OpenIB trunk. See
users/jlentini/linux-kernel/patches/ib_at.h or
branches/shaharf-ibat/src/linux-kernel/infiniband/include/ib_at.h for
more details.

-- Hal

> Kevin J. Reilly
> STSM, HPC Architecture
> -Federation/HPS  Chief Engineer
> -HPC interconnect architect
> (office) 845-433-7976  (tieline) 8-293-7976
> 
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general




More information about the general mailing list