# DPCP

Direct Packet Control Plane (DPCP) provides an unified flexible
interface for programming IB devices using DevX.

## Licenses

DPCP is licensed as:

* [Proprietary] See LICENSE file

## Supported CPU Architectures

* [x86_64](https://en.wikipedia.org/wiki/X86-64)
* [Power8/9](https://www.ibm.com/support/knowledgecenter/en/POWER9/p9hdx/POWER9welcome.htm)
* [Arm v8](https://www.arm.com/products/silicon-ip-cpu)

## Usage

### Builds

Building DPCP is typically a combination of running "configure" and "make".
Execute the following commands to install the DPCP library from within the
directory at the top of the tree:

```sh
$ ./autogen.sh
$ ./configure --prefix=/where/to/install
$ make -j8
$ make install
```

### Launch internal unit tests

```sh
$ make -C test/gtest test
```

### Build RPM or DEB package

```sh
$ contrib/build_pkg.sh -s -b
```
### Issue release

* Update the version number in the configure.ac file
* Update dpcp_version constant at src/api/dpcp.h file
* Update changelog sections of contrib/scripts/dpcp.spec.in and debian/changelog.in files 
* Commit changes with message in format "X.Y.Z"
* Create git TAG named "X.Y.Z"
* Create source package using script as contrib/build_pkg.sh Optionally use PRJ_RELEASE=n environment variable to specify release number.
* Update information at https://github.com/Mellanox/dpcp/releases
