fabric man page on Kali

Man page or keyword search:  
man Server   9211 pages
apropos Keyword Search (all sections)
Output format
Kali logo
[printable version]

fabric(7)			   @VERSION@			     fabric(7)

NAME
       fabric - Fabric Interface Library

SYNOPSIS
	      #include <rdma/fabric.h>

       Libfabric  is  a	 high-performance  fabric software library designed to
       provide low-latency interfaces to fabric hardware.

OVERVIEW
       Libfabric provides 'process direct I/O' to application software	commu‐
       nicating across fabric software and hardware.  Process direct I/O, his‐
       torically referred to as RDMA, allows an application to directly access
       network	resources without operating system interventions.  Data trans‐
       fers can occur directly to and from application memory.

       There are two components to the libfabric software:

       Fabric Providers : Conceptually, a fabric provider may be viewed	 as  a
       local  hardware	NIC  driver,  though a provider is not limited by this
       definition.  The first component of  libfabric  is  a  general  purpose
       framework  that	is capable of handling different types of fabric hard‐
       ware.  All fabric hardware  devices  and	 their	software  drivers  are
       required	 to support this framework.  Devices and the drivers that plug
       into the libfabric framework are referred to as	fabric	providers,  or
       simply providers.  Provider details may be found in fi_provider(7).

       Fabric  Interfaces  :  The  second  component is a set of communication
       operations.  Libfabric defines several sets of communication  functions
       that  providers	can support.  It is not required that providers imple‐
       ment all the interfaces that are defined;  however,  providers  clearly
       indicate which interfaces they do support.

FABRIC INTERFACES
       The  fabric interfaces are designed such that they are cohesive and not
       simply a union of disjoint interfaces.  The  interfaces	are  logically
       divided	into  two  groups: control interfaces and communication opera‐
       tions.  The control interfaces are a common set of operations that pro‐
       vide  access  to local communication resources, such as address vectors
       and event queues.  The communication operations expose particular  mod‐
       els  of communication and fabric functionality, such as message queues,
       remote memory access, and atomic operations.  Communication  operations
       are associated with fabric endpoints.

       Applications  will  typically  use  the	control interfaces to discover
       local capabilities and allocate necessary resources.   They  will  then
       allocate	 and  configure	 a  communication endpoint to send and receive
       data, or perform other types of data transfers, with remote endpoints.

CONTROL INTERFACES
       The control interfaces APIs  provide  applications  access  to  network
       resources.  This involves listing all the interfaces available, obtain‐
       ing the capabilities of the interfaces and opening a provider.

       fi_getinfo - Fabric Information : The fi_getinfo call is the base  call
       used  to	 discover  and	request fabric services offered by the system.
       Applications can use this call to indicate the  type  of	 communication
       that  they  desire.   The results from fi_getinfo, fi_info, are used to
       reserve and configure fabric resources.

       fi_getinfo returns a list of fi_info structures.	 Each structure refer‐
       ences  a	 single	 fabric	 provider,  indicating the interfaces that the
       provider supports, along with a	named  set  of	resources.   A	fabric
       provider may include multiple fi_info structures in the returned list.

       fi_fabric  - Fabric Domain : A fabric domain represents a collection of
       hardware and software resources that access a single physical  or  vir‐
       tual  network.  All network ports on a system that can communicate with
       each other through the fabric belong to the same fabric domain.	A fab‐
       ric  domain  shares  network addresses and can span multiple providers.
       libfabric supports systems connected to multiple fabrics.

       fi_domain - Access Domains : An access domain represents a single logi‐
       cal  connection into a fabric.  It may map to a single physical or vir‐
       tual NIC or a port.  An access domain defines the boundary across which
       fabric  resources  may  be associated.  Each access domain belongs to a
       single fabric domain.

       fi_endpoint - Fabric Endpoint : A fabric endpoint  is  a	 communication
       portal.	 An  endpoint  may  be either active or passive.  Passive end‐
       points are used to listen for connection	 requests.   Active  endpoints
       can  perform  data  transfers.	Endpoints are configured with specific
       communication capabilities and data transfer interfaces.

       fi_eq - Event Queue : Event queues, are used to collect and report  the
       completion  of asynchronous operations and events.  Event queues report
       events that are not directly associated with data transfer operations.

       fi_cq - Completion Queue : Completion queues are high-performance event
       queues used to report the completion of data transfer operations.

       fi_cntr - Event Counters : Event counters are used to report the number
       of completed asynchronous operations.  Event  counters  are  considered
       light-weight,  in that a completion simply increments a counter, rather
       than placing an entry into an event queue.

       fi_mr - Memory Region : Memory regions describe application local  mem‐
       ory  buffers.  In order for fabric resources to access application mem‐
       ory, the application must first grant permission to the fabric provider
       by  constructing a memory region.  Memory regions are required for spe‐
       cific types of data transfer operations, such  as  RMA  transfers  (see
       below).

       fi_av  -	 Address Vector : Address vectors are used to map higher level
       addresses, such as IP addresses, which  may  be	more  natural  for  an
       application to use, into fabric specific addresses.  The use of address
       vectors allows providers to reduce the amount  of  memory  required  to
       maintain	 large address look-up tables, and eliminate expensive address
       resolution and look-up methods during data transfer operations.

DATA TRANSFER INTERFACES
       Fabric endpoints are associated with multiple data transfer interfaces.
       Each  interface set is designed to support a specific style of communi‐
       cation, with an endpoint allowing the different interfaces to  be  used
       in  conjunction.	 The following data transfer interfaces are defined by
       libfabric.

       fi_msg - Message Queue : Message queues expose a simple,	 message-based
       FIFO  queue interface to the application.  Message data transfers allow
       applications to send and receive data  with  message  boundaries	 being
       maintained.

       fi_tagged  -  Tagged  Message  Queues  :	 Tagged	 message  lists expose
       send/receive data transfer operations built on the  concept  of	tagged
       messaging.   The	 tagged message queue is conceptually similar to stan‐
       dard message queues, but with the addition of 64-bit tags for each mes‐
       sage.   Sent  messages are matched with receive buffers that are tagged
       with a similar value.

       fi_rma - Remote Memory Access : RMA transfers are one-sided  operations
       that read or write data directly to a remote memory region.  Other than
       defining the appropriate memory region, RMA operations do  not  require
       interaction at the target side for the data transfer to complete.

       fi_atomic - Atomic : Atomic operations can perform one of several oper‐
       ations on a remote memory region.  Atomic operations include well-known
       functionality,  such  as	 atomic-add and compare-and-swap, plus several
       other pre-defined calls.	 Unlike other data transfer interfaces, atomic
       operations  are	aware  of  the	data  formatting  at the target memory
       region.

LOGGING INTERFACE
       Logging can be controlled  using	 the  FI_LOG_LEVEL,  FI_LOG_PROV,  and
       FI_LOG_SUBSYS environment variables.

       FI_LOG_LEVEL : FI_LOG_LEVEL controls the amount of logging data that is
       output.	The following log levels are defined.

       · Warn : Warn is the least verbose setting and is intended for  report‐
	 ing errors or warnings.

       · Trace	:  Trace  is more verbose and is meant to include non-detailed
	 output helpful to tracing program execution.

       · Info : Info is high traffic and meant for detailed output.

       · Debug : Debug is high traffic and is  likely  to  impact  application
	 performance.	Debug output is only available if the library has been
	 compiled with debugging enabled.

       FI_LOG_PROV : The FI_LOG_PROV environment variable enables or  disables
       logging	from  specific providers.  Providers can be enabled by listing
       them in a comma separated fashion.  If the list	begins	with  the  '^'
       symbol,	then  the  list will be negated.  By default all providers are
       enabled.

       Example:	 To  enable  logging  from  the	 psm  and  sockets   provider:
       FI_LOG_PROV="psm,sockets"

       Example:	  To   enable	logging	  from	 providers   other  than  psm:
       FI_LOG_PROV="^psm"

       FI_LOG_SUBSYS : The FI_LOG_SUBSYS environment variable enables or  dis‐
       ables  logging at the subsystem level.  The syntax for enabling or dis‐
       abling subsystems is similar to that used for FI_LOG_PROV.  The follow‐
       ing subsystems are defined.

       · core  : Provides output related to the core framework and its manage‐
	 ment of providers.

       · fabric : Provides output specific to interactions associated with the
	 fabric object.

       · domain : Provides output specific to interactions associated with the
	 domain object.

       · ep_ctrl : Provides output  specific  to  endpoint  non-data  transfer
	 operations, such as CM operations.

       · ep_data  :  Provides output specific to endpoint data transfer opera‐
	 tions.

       · av : Provides output specific to address vector operations.

       · cq : Provides output specific to completion queue operations.

       · eq : Provides output specific to event queue operations.

       · mr : Provides output specific to memory registration.

NOTES
       Because libfabric is designed to provide applications direct access  to
       fabric  hardware,  there	 are  limits on how libfabric resources may be
       used in conjunction with system calls.  These limitations  are  notable
       for  developers	who  may be familiar programming to the sockets inter‐
       face.  Although limits are provider specific,  the  following  restric‐
       tions  apply to many providers and should be adhered to by applications
       desiring portability across providers.

       fork : Fabric resources are not guaranteed to  be  available  by	 child
       processes.   This  includes  objects,  such as endpoints and completion
       queues, as well as application controlled data buffers which have  been
       assigned to the network.	 For example, data buffers that have been reg‐
       istered with a fabric domain may not be available in  a	child  process
       because of copy on write restrictions.

SEE ALSO
       fi_provider(7),	fi_getinfo(3), fi_endpoint(3), fi_domain(3), fi_av(3),
       fi_eq(3), fi_cq(3), fi_cntr(3), fi_mr(3)

AUTHORS
       OpenFabrics.

Libfabric Programmer's Manual	  2016-06-29			     fabric(7)
[top]

List of man pages available for Kali

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net