f4f136c8c4
We currently exposed way too many fields (or even structures) than necessary. For example, vhost_virtqueue struct should NOT be exposed to user at all: application just need to tell the right queue id to locate a specific queue, and that's all. Instead, the structure should be defined in an internal header file. With that, we could do any changes to it we want, without worrying about that we may offense the painful ABI rules. Similar changes could be done to virtio_net struct as well, just exposing very few fields that are necessary and moving all others to an internal structure. Huawei then suggested a more radical yet much cleaner one: just exposing a virtio_net handle to application, just like the way kernel exposes an fd to user for locating a specific file, and exposing some new functions to access those old fields, such as flags, virt_qp_nb. With this change, we're likely to be free from ABI violations forever (well, except when we have to extend the virtio_net_device_ops struct). For example, following nice cleanup would not be a blocking one then: http://dpdk.org/ml/archives/dev/2016-February/033528.html Suggested-by: Huawei Xie <huawei.xie@intel.com> Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Panu Matilainen <pmatilai@redhat.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com> |
||
---|---|---|
app | ||
config | ||
doc | ||
drivers | ||
examples | ||
lib | ||
mk | ||
pkg | ||
scripts | ||
tools | ||
.gitignore | ||
GNUmakefile | ||
LICENSE.GPL | ||
LICENSE.LGPL | ||
MAINTAINERS | ||
Makefile | ||
README |
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD license for the core libraries and drivers. The kernel components are GPLv2 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org