Source: rdma-core
Maintainer: Linux RDMA Mailing List <linux-rdma@vger.kernel.org>
Uploaders: Benjamin Drung <bdrung@ubuntu.com>,
           Talat Batheesh <talatb@mellanox.com>
Section: net
Priority: optional
Build-Depends: cmake (>= 2.8.11),
               cython3,
               debhelper (>= 9),
               debhelper (>= 9.20160709) | dh-systemd,
               dh-python,
               dpkg-dev (>= 1.17),
               libnl-3-dev,
               libnl-route-3-dev,
               libsystemd-dev,
               libudev-dev,
               ninja-build,
               pandoc,
               pkg-config,
               python3-dev,
               python3-docutils,
               valgrind [amd64 arm64 armhf i386 mips mips64el mipsel powerpc ppc64 ppc64el s390x]
Rules-Requires-Root: no
Standards-Version: 4.6.0
Vcs-Git: https://github.com/linux-rdma/rdma-core.git
Vcs-Browser: https://github.com/linux-rdma/rdma-core
Homepage: https://github.com/linux-rdma/rdma-core

Package: rdma-core
Architecture: linux-any
Depends: lsb-base (>= 3.2-14~),
         udev,
         ${misc:Depends},
         ${perl:Depends},
         ${shlibs:Depends}
Pre-Depends: ${misc:Pre-Depends}
Recommends: dmidecode, ethtool, iproute2
Breaks: infiniband-diags (<< 2.0.0)
Replaces: infiniband-diags (<< 2.0.0)
Description: RDMA core userspace infrastructure and documentation
 This package provides the basic boot time support for systems that use the
 Linux kernel's remote direct memory access (RDMA) subystem which includes
 InfiniBand, iWARP, and RDMA over Converged Ethernet (RoCE).
 .
 Several kernel RDMA support daemons are included:
  - The rdma-ndd daemon which watches for RDMA device changes and/or hostname
    changes and updates the Node Description of the RDMA devices based on
    those changes.
  - The iWARP Port Mapper Daemon (iwpmd) which provides a kernel support
    service in userspace for iWARP drivers to claim TCP ports through the
    standard socket interface.

Package: ibacm
Architecture: linux-any
Depends: lsb-base (>= 3.2-14~),
         rdma-core (>= 15),
         ${misc:Depends},
         ${shlibs:Depends}
Description: InfiniBand Communication Manager Assistant (ACM)
 The IB ACM implements and provides a framework for name, address, and
 route (path) resolution services over InfiniBand.
 It is intended to address connection setup scalability issues running
 MPI applications on large clusters.  The IB ACM provides information
 needed to establish a connection, but does not implement the CM protocol.
 A primary user of the ibacm service is the librdmacm library.

Package: ibverbs-providers
Architecture: linux-any
Multi-Arch: same
Depends: ${misc:Depends}, ${shlibs:Depends}
Provides: libefa1, libipathverbs1, libmlx4-1, libmlx5-1, libmthca1
Replaces: libipathverbs1 (<< 15),
          libmlx4-1 (<< 15),
          libmlx5-1 (<< 15),
          libmthca1 (<< 15)
Breaks: libipathverbs1 (<< 15),
        libmlx4-1 (<< 15),
        libmlx5-1 (<< 15),
        libmthca1 (<< 15)
Description: User space provider drivers for libibverbs
 libibverbs is a library that allows userspace processes to use RDMA
 "verbs" as described in the InfiniBand Architecture Specification and
 the RDMA Protocol Verbs Specification.  iWARP ethernet NICs support
 RDMA over hardware-offloaded TCP/IP, while InfiniBand is a
 high-throughput, low-latency networking technology.  InfiniBand host
 channel adapters (HCAs) and iWARP NICs commonly support direct
 hardware access from userspace (kernel bypass), and libibverbs
 supports this when available.
 .
 An RDMA driver consists of a kernel portion and a user space portion.
 This package contains the user space verbs drivers:
 .
  - bnxt_re: Broadcom NetXtreme-E RoCE HCAs
  - cxgb4: Chelsio T4 iWARP HCAs
  - efa: Amazon Elastic Fabric Adapter
  - hfi1verbs: Intel Omni-Path HFI
  - hns: HiSilicon Hip06 SoC
  - ipathverbs: QLogic InfiniPath HCAs
  - irdma: Intel Ethernet Connection RDMA
  - mlx4: Mellanox ConnectX-3 InfiniBand HCAs
  - mlx5: Mellanox Connect-IB/X-4+ InfiniBand HCAs
  - mthca: Mellanox InfiniBand HCAs
  - ocrdma: Emulex OneConnect RDMA/RoCE device
  - qedr: QLogic QL4xxx RoCE HCAs
  - rxe: A software implementation of the RoCE protocol
  - siw: A software implementation of the iWarp protocol
  - vmw_pvrdma: VMware paravirtual RDMA device

Package: ibverbs-utils
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: Examples for the libibverbs library
 libibverbs is a library that allows userspace processes to use RDMA
 "verbs" as described in the InfiniBand Architecture Specification and
 the RDMA Protocol Verbs Specification.  iWARP ethernet NICs support
 RDMA over hardware-offloaded TCP/IP, while InfiniBand is a
 high-throughput, low-latency networking technology.  InfiniBand host
 channel adapters (HCAs) and iWARP NICs commonly support direct
 hardware access from userspace (kernel bypass), and libibverbs
 supports this when available.
 .
 This package contains useful libibverbs1 example programs such as
 ibv_devinfo, which displays information about InfiniBand devices.

Package: libibverbs-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Depends: ibverbs-providers (= ${binary:Version}),
         libibverbs1 (= ${binary:Version}),
         libnl-3-dev,
         libnl-route-3-dev,
         ${misc:Depends}
Description: Development files for the libibverbs library
 libibverbs is a library that allows userspace processes to use RDMA
 "verbs" as described in the InfiniBand Architecture Specification and
 the RDMA Protocol Verbs Specification.  iWARP ethernet NICs support
 RDMA over hardware-offloaded TCP/IP, while InfiniBand is a
 high-throughput, low-latency networking technology.  InfiniBand host
 channel adapters (HCAs) and iWARP NICs commonly support direct
 hardware access from userspace (kernel bypass), and libibverbs
 supports this when available.
 .
 This package is needed to compile programs against libibverbs1.
 It contains the header files and static libraries (optionally)
 needed for compiling.

Package: libibverbs1
Architecture: linux-any
Multi-Arch: same
Section: libs
Pre-Depends: ${misc:Pre-Depends}
Depends: adduser, ${misc:Depends}, ${shlibs:Depends}
Recommends: ibverbs-providers
Breaks: ibverbs-providers (<< 34~)
Description: Library for direct userspace use of RDMA (InfiniBand/iWARP)
 libibverbs is a library that allows userspace processes to use RDMA
 "verbs" as described in the InfiniBand Architecture Specification and
 the RDMA Protocol Verbs Specification.  iWARP ethernet NICs support
 RDMA over hardware-offloaded TCP/IP, while InfiniBand is a
 high-throughput, low-latency networking technology.  InfiniBand host
 channel adapters (HCAs) and iWARP NICs commonly support direct
 hardware access from userspace (kernel bypass), and libibverbs
 supports this when available.
 .
 For this library to be useful, a device-specific plug-in module
 should also be installed.
 .
 This package contains the shared library.

Package: libibverbs1-dbg
Section: debug
Architecture: linux-any
Multi-Arch: same
Depends: libibverbs1 (= ${binary:Version}), ${misc:Depends}
Description: Debug symbols for the libibverbs library
 libibverbs is a library that allows userspace processes to use RDMA
 "verbs" as described in the InfiniBand Architecture Specification and
 the RDMA Protocol Verbs Specification.  iWARP ethernet NICs support
 RDMA over hardware-offloaded TCP/IP, while InfiniBand is a
 high-throughput, low-latency networking technology.  InfiniBand host
 channel adapters (HCAs) and iWARP NICs commonly support direct
 hardware access from userspace (kernel bypass), and libibverbs
 supports this when available.
 .
 This package contains the debug symbols associated with
 libibverbs1. They will automatically be used by gdb for debugging
 libibverbs-related issues.

Package: libibumad-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Depends: libibumad3 (= ${binary:Version}), ${misc:Depends}
Description: Development files for libibumad
 libibumad provides userspace Infiniband Management Datagram (uMAD)
 functions which sit on top of the uMAD modules in the kernel.
 These are used by InfiniBand diagnostic and management tools.
 .
 This package is needed to compile programs against libibumad.
 It contains the header files and static libraries (optionally)
 needed for compiling.

Package: libibumad3
Architecture: linux-any
Multi-Arch: same
Section: libs
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: InfiniBand Userspace Management Datagram (uMAD) library
 libibumad provides userspace Infiniband Management Datagram (uMAD)
 functions which sit on top of the uMAD modules in the kernel.
 These are used by InfiniBand diagnostic and management tools.
 .
 This package contains the shared library.

Package: libibumad3-dbg
Section: debug
Architecture: linux-any
Depends: libibumad3 (= ${binary:Version}), ${misc:Depends}
Description: Debug symbols for the libibumad3 library
 libibumad provides userspace Infiniband Management Datagram (uMAD)
 functions which sit on top of the uMAD modules in the kernel.
 These are used by InfiniBand diagnostic and management tools.
 .
 This package contains the debug symbols associated with
 libibumad3. They will automatically be used by gdb for debugging
 libibumad-related issues.

Package: librdmacm-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Depends: libibverbs-dev, librdmacm1 (= ${binary:Version}), ${misc:Depends}
Description: Development files for the librdmacm library
 librdmacm is a library that allows applications to set up reliable
 connected and unreliable datagram transfers when using RDMA adapters.
 It provides a transport-neutral interface in the sense that the same
 code can be used for both InfiniBand and iWARP adapters.  The
 interface is based on sockets, but adapted for queue pair (QP) based
 semantics: communication must use a specific RDMA device, and data
 transfers are message-based.
 .
 librdmacm only provides communication management (connection setup
 and tear-down) and works in conjunction with the verbs interface
 provided by libibverbs, which provides the interface used to actually
 transfer data.
 .
 This package is needed to compile programs against librdmacm1.
 It contains the header files and static libraries (optionally)
 needed for compiling.

Package: librdmacm1
Architecture: linux-any
Multi-Arch: same
Section: libs
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: Library for managing RDMA connections
 librdmacm is a library that allows applications to set up reliable
 connected and unreliable datagram transfers when using RDMA adapters.
 It provides a transport-neutral interface in the sense that the same
 code can be used for both InfiniBand and iWARP adapters.  The
 interface is based on sockets, but adapted for queue pair (QP) based
 semantics: communication must use a specific RDMA device, and data
 transfers are message-based.
 .
 librdmacm only provides communication management (connection setup
 and tear-down) and works in conjunction with the verbs interface
 provided by libibverbs, which provides the interface used to actually
 transfer data.
 .
 This package contains the shared library.

Package: librdmacm1-dbg
Section: debug
Architecture: linux-any
Depends: librdmacm1 (= ${binary:Version}), ${misc:Depends}
Description: Debug symbols for the librdmacm library
 librdmacm is a library that allows applications to set up reliable
 connected and unreliable datagram transfers when using RDMA adapters.
 It provides a transport-neutral interface in the sense that the same
 code can be used for both InfiniBand and iWARP adapters.  The
 interface is based on sockets, but adapted for queue pair (QP) based
 semantics: communication must use a specific RDMA device, and data
 transfers are message-based.
 .
 librdmacm only provides communication management (connection setup
 and tear-down) and works in conjunction with the verbs interface
 provided by libibverbs, which provides the interface used to actually
 transfer data.
 .
 This package contains the debug symbols associated with
 librdmacm1. They will automatically be used by gdb for debugging
 librdmacm-related issues.

Package: rdmacm-utils
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: Examples for the librdmacm library
 librdmacm is a library that allows applications to set up reliable
 connected and unreliable datagram transfers when using RDMA adapters.
 It provides a transport-neutral interface in the sense that the same
 code can be used for both InfiniBand and iWARP adapters.  The
 interface is based on sockets, but adapted for queue pair (QP) based
 semantics: communication must use a specific RDMA device, and data
 transfers are message-based.
 .
 librdmacm only provides communication management (connection setup
 and tear-down) and works in conjunction with the verbs interface
 provided by libibverbs, which provides the interface used to actually
 transfer data.
 .
 This package contains useful librdmacm1 example programs such as
 rping and udaddy.

Package: srptools
Architecture: linux-any
Depends: lsb-base (>= 3.2-14~),
         rdma-core (>= 15),
         udev,
         ${misc:Depends},
         ${shlibs:Depends}
Pre-Depends: ${misc:Pre-Depends}
Description: Tools for Infiniband attached storage (SRP)
 In conjunction with the kernel ib_srp driver, srptools allows you to
 discover and use Infiniband attached storage devices which use the
 SCSI RDMA Protocol (SRP).

Package: python3-pyverbs
Section: python
Architecture: linux-any
Depends: rdma-core (>= 21),
         ${misc:Depends},
         ${python3:Depends},
         ${shlibs:Depends}
Provides: ${python3:Provides}
Description: Python bindings for rdma-core
 Pyverbs provides a Python API over rdma-core, the Linux userspace C API for
 the remote direct memory access (RDMA) stack.
 .
 One goal is to provide easier access to RDMA: RDMA has a steep learning curve
 as is and the C interface requires the user to initialize multiple structs
 before having usable objects. Pyverbs attempts to remove much of this overhead
 and provide a smoother user experience.

Package: infiniband-diags
Architecture: linux-any
Depends: libibnetdisc5 (= ${binary:Version}),
         ${misc:Depends},
         ${perl:Depends},
         ${shlibs:Depends}
Description: InfiniBand diagnostic programs
 InfiniBand is a switched fabric communications link used in
 high-performance computing and enterprise data centers. Its features
 include high throughput, low latency, quality of service and
 failover, and it is designed to be scalable.
 .
 This package provides diagnostic programs and scripts needed to
 diagnose an InfiniBand subnet.

Package: libibmad5
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: Infiniband Management Datagram (MAD) library
 libibmad provides low layer InfiniBand functions for use by the
 Infiniband diagnostic and management programs. These include
 Management Datagrams (MAD), Subnet Administration (SA), Subnet
 Management Packets (SMP) and other basic functions.
 .
 This package contains the shared library.

Package: libibmad5-dbg
Section: debug
Architecture: linux-any
Pre-Depends: ${misc:Pre-Depends}
Depends: libibmad5 (= ${binary:Version}), ${misc:Depends}
Description: Debug symbols for Infiniband Management Datagram (MAD) library
 libibmad provides low layer InfiniBand functions for use by the
 Infiniband diagnostic and management programs. These include
 Management Datagrams (MAD), Subnet Administration (SA), Subnet
 Management Packets (SMP) and other basic functions.
 .
 This package contains the debug symbols associated with
 libibmad5. They will automatically be used by gdb for debugging
 libibmad-related issues.

Package: libibmad-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Depends: libibmad5 (= ${binary:Version}), ${misc:Depends}
Description: Development files for libibmad
 libibmad provides low layer Infiniband functions for use by the
 InfiniBand diagnostic and management programs. These include
 Management Datagrams (MAD), Subnet Administration (SA), Subnet
 Management Packets (SMP) and other basic functions.
 .
 This package is needed to compile programs against libibmad5.
 It contains the header files and static libraries (optionally)
 needed for compiling.

Package: libibnetdisc5
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: InfiniBand diagnostics library
 InfiniBand is a switched fabric communications link used in
 high-performance computing and enterprise data centers. Its features
 include high throughput, low latency, quality of service and
 failover, and it is designed to be scalable.
 .
 This package provides libraries required by the InfiniBand
 diagnostic programs.

Package: libibnetdisc5-dbg
Section: debug
Architecture: linux-any
Multi-Arch: same
Depends: libibnetdisc5 (= ${binary:Version}), ${misc:Depends}
Description: Debug symbols for the libibnetdisc library
 InfiniBand is a switched fabric communications link used in
 high-performance computing and enterprise data centers. Its features
 include high throughput, low latency, quality of service and
 failover, and it is designed to be scalable.
 .
 This package contains the debug symbols associated with
 libibnetdisc5. They will automatically be used by gdb for debugging
 libibnetdisc-related issues.

Package: libibnetdisc-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Depends: libibnetdisc5 (= ${binary:Version}), ${misc:Depends}
Breaks: infiniband-diags (<< 2.0.0)
Replaces: infiniband-diags (<< 2.0.0)
Description: InfiniBand diagnostics library headers
 InfiniBand is a switched fabric communications link used in
 high-performance computing and enterprise data centers. Its features
 include high throughput, low latency, quality of service and
 failover, and it is designed to be scalable.
 .
 This package provides development files required to build
 applications aginast the libibnetdisc5 InfiniBand diagnostic
 libraries.
