rawdev: introduce raw device library
authorShreyansh Jain <shreyansh.jain@nxp.com>
Wed, 31 Jan 2018 09:13:09 +0000 (14:43 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 31 Jan 2018 14:35:01 +0000 (15:35 +0100)
commitc88b3f2558ed09738d29913169bb865531dcb067
treeb2ddc44c6f9a69964cd2511e8184334830c51955
parentb9083ea5e084f0cfcfca40f4452b1a92c1b1ea18
rawdev: introduce raw device library

Each device in DPDK has a type associated with it - ethernet, crypto,
event etc. This patch introduces 'rawdevice' which is a generic
type of device, not currently handled out-of-the-box by DPDK.

A device which can be scanned on an installed bus (pci, fslmc, ...)
or instantiated through devargs, can be interfaced using
standardized APIs just like other standardized devices.

This library introduces an API set which can be plugged on the
northbound side to the application layer, and on the southbound side
to the driver layer.

The APIs of rawdev library exposes some generic operations which can
enable configuration and I/O with the raw devices. Using opaque
data (pointer) as API arguments, library allows a high flexibility
for application and driver implementation.

This patch introduces basic device operations like start, stop, reset,
queue and info support.
Subsequent patches would introduce other operations like buffer
enqueue/dequeue and firmware support.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
MAINTAINERS
config/common_base
lib/Makefile
lib/librte_rawdev/Makefile [new file with mode: 0644]
lib/librte_rawdev/rte_rawdev.c [new file with mode: 0644]
lib/librte_rawdev/rte_rawdev.h [new file with mode: 0644]
lib/librte_rawdev/rte_rawdev_pmd.h [new file with mode: 0644]
lib/librte_rawdev/rte_rawdev_version.map [new file with mode: 0644]
mk/rte.app.mk