Currently, when using Open vSwitch with DPDK and qemu guests, the recommended method for joining the guests is via the dpdkvhostuser interface. This interface uses Unix Domain sockets to communicate. When these sockets are created, they inherit the permissions and ownership from the vswitchd process. This can lead to an undesirable state where the QEMU process cannot use the socket file until manual intervention is performed (via `chown` and/or `chmod` calls).
This patchset gives the ability to set the permissions and ownership of all dpdkvhostuser sockets from the database, avoiding the manual intervention required to connect QEMU and OVS via DPDK. The first patch adds chmod and chown calls to lib, with unit tests. The second patch hooks those calls into the netdev_dpdk_vhost_user_construct function, after the socket is created. Changes from v2: * Added a new 2nd patch to series for chmod/chown on already opened files. There exist known implementations for other systems, including FreeBSD, but only linux is implemented. ENOTSUP is set when these calls fail on non-linux systems. Aaron Conole (3): chutil: introduce a new change-utils lib lib/chutil: Add chmod and chown for opened files netdev-dpdk: Support user-defined socket attribs INSTALL.DPDK.md | 7 + lib/automake.mk | 2 + lib/chutil-unix.c | 455 +++++++++++++++++++++++++++++++++++++++++++++++++++ lib/chutil.h | 36 ++++ lib/daemon-unix.c | 149 +---------------- lib/netdev-dpdk.c | 37 ++++- tests/automake.mk | 2 + tests/library.at | 5 + tests/test-chutil.c | 249 ++++++++++++++++++++++++++++ vswitchd/vswitch.xml | 23 +++ 10 files changed, 818 insertions(+), 147 deletions(-) create mode 100644 lib/chutil-unix.c create mode 100644 lib/chutil.h create mode 100644 tests/test-chutil.c -- 2.5.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev