git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/ice: enable flow redirect on switch
[dpdk.git]
/
drivers
/
net
/
virtio
/
virtio_user
/
vhost_user.c
diff --git
a/drivers/net/virtio/virtio_user/vhost_user.c
b/drivers/net/virtio/virtio_user/vhost_user.c
index
2c6eba0
..
74b82e5
100644
(file)
--- a/
drivers/net/virtio/virtio_user/vhost_user.c
+++ b/
drivers/net/virtio/virtio_user/vhost_user.c
@@
-11,8
+11,8
@@
#include <string.h>
#include <errno.h>
#include <string.h>
#include <errno.h>
+#include <rte_string_fns.h>
#include <rte_fbarray.h>
#include <rte_fbarray.h>
-#include <rte_eal_memconfig.h>
#include "vhost.h"
#include "virtio_user_dev.h"
#include "vhost.h"
#include "virtio_user_dev.h"
@@
-43,7
+43,7
@@
struct vhost_user_msg {
struct vhost_memory memory;
} payload;
int fds[VHOST_MEMORY_MAX_NREGIONS];
struct vhost_memory memory;
} payload;
int fds[VHOST_MEMORY_MAX_NREGIONS];
-} __
attribute((packed))
;
+} __
rte_packed
;
#define VHOST_USER_HDR_SIZE offsetof(struct vhost_user_msg, payload.u64)
#define VHOST_USER_PAYLOAD_SIZE \
#define VHOST_USER_HDR_SIZE offsetof(struct vhost_user_msg, payload.u64)
#define VHOST_USER_PAYLOAD_SIZE \
@@
-393,7
+393,10
@@
virtio_user_start_server(struct virtio_user_dev *dev, struct sockaddr_un *un)
return -1;
flag = fcntl(fd, F_GETFL);
return -1;
flag = fcntl(fd, F_GETFL);
- fcntl(fd, F_SETFL, flag | O_NONBLOCK);
+ if (fcntl(fd, F_SETFL, flag | O_NONBLOCK) < 0) {
+ PMD_DRV_LOG(ERR, "fcntl failed, %s", strerror(errno));
+ return -1;
+ }
return 0;
}
return 0;
}
@@
-424,7
+427,7
@@
vhost_user_setup(struct virtio_user_dev *dev)
memset(&un, 0, sizeof(un));
un.sun_family = AF_UNIX;
memset(&un, 0, sizeof(un));
un.sun_family = AF_UNIX;
- s
nprintf(un.sun_path, sizeof(un.sun_path), "%s", dev->path
);
+ s
trlcpy(un.sun_path, dev->path, sizeof(un.sun_path)
);
if (dev->is_server) {
dev->listenfd = fd;
if (dev->is_server) {
dev->listenfd = fd;
@@
-453,6
+456,9
@@
vhost_user_enable_queue_pair(struct virtio_user_dev *dev,
{
int i;
{
int i;
+ if (dev->qp_enabled[pair_idx] == enable)
+ return 0;
+
for (i = 0; i < 2; ++i) {
struct vhost_vring_state state = {
.index = pair_idx * 2 + i,
for (i = 0; i < 2; ++i) {
struct vhost_vring_state state = {
.index = pair_idx * 2 + i,
@@
-463,6
+469,7
@@
vhost_user_enable_queue_pair(struct virtio_user_dev *dev,
return -1;
}
return -1;
}
+ dev->qp_enabled[pair_idx] = enable;
return 0;
}
return 0;
}