search for: vhost_net_set_socket

Displaying 16 results from an estimated 16 matches for "vhost_net_set_socket".

2009 Aug 13
1
[PATCHv3 2/2] vhost_net: a kernel-level virtio server
...return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n->dev); + if (sock) + fput(sock->file); + kfree(n); + return 0; +} + +static long vhost_net_set_socket(struct vhost_net *n, int fd) +{ + struct { + struct sockaddr_ll sa; + char buf[MAX_ADDR_LEN]; + } uaddr; + struct socket *sock, *oldsock = NULL; + int uaddr_len = sizeof uaddr, r; + + mutex_lock(&n->dev.mutex); + r = vhost_dev_check_owner(&n->dev); + if (r) + goto done; + + if (fd...
2009 Aug 13
1
[PATCHv3 2/2] vhost_net: a kernel-level virtio server
...return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n->dev); + if (sock) + fput(sock->file); + kfree(n); + return 0; +} + +static long vhost_net_set_socket(struct vhost_net *n, int fd) +{ + struct { + struct sockaddr_ll sa; + char buf[MAX_ADDR_LEN]; + } uaddr; + struct socket *sock, *oldsock = NULL; + int uaddr_len = sizeof uaddr, r; + + mutex_lock(&n->dev.mutex); + r = vhost_dev_check_owner(&n->dev); + if (r) + goto done; + + if (fd...
2009 Aug 19
1
[PATCHv4 2/2] vhost_net: a kernel-level virtio server
...return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n->dev); + if (sock) + fput(sock->file); + kfree(n); + return 0; +} + +static long vhost_net_set_socket(struct vhost_net *n, int fd) +{ + struct { + struct sockaddr_ll sa; + char buf[MAX_ADDR_LEN]; + } uaddr; + struct socket *sock, *oldsock = NULL; + int uaddr_len = sizeof uaddr, r; + + mutex_lock(&n->dev.mutex); + r = vhost_dev_check_owner(&n->dev); + if (r) + goto done; + + if (fd...
2009 Aug 19
1
[PATCHv4 2/2] vhost_net: a kernel-level virtio server
...return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n->dev); + if (sock) + fput(sock->file); + kfree(n); + return 0; +} + +static long vhost_net_set_socket(struct vhost_net *n, int fd) +{ + struct { + struct sockaddr_ll sa; + char buf[MAX_ADDR_LEN]; + } uaddr; + struct socket *sock, *oldsock = NULL; + int uaddr_len = sizeof uaddr, r; + + mutex_lock(&n->dev.mutex); + r = vhost_dev_check_owner(&n->dev); + if (r) + goto done; + + if (fd...
2009 Aug 11
2
[PATCHv2 2/2] vhost_net: a kernel-level virtio server
...return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n->dev); + if (sock) + fput(sock->file); + kfree(n); + return 0; +} + +static long vhost_net_set_socket(struct vhost_net *n, int fd) +{ + struct { + struct sockaddr_ll sa; + char buf[MAX_ADDR_LEN]; + } uaddr; + struct socket *sock, *oldsock = NULL; + int uaddr_len = sizeof uaddr, r; + + mutex_lock(&n->dev.mutex); + r = vhost_dev_check_owner(&n->dev); + if (r) + goto done; + + if (fd...
2009 Aug 11
2
[PATCHv2 2/2] vhost_net: a kernel-level virtio server
...return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n->dev); + if (sock) + fput(sock->file); + kfree(n); + return 0; +} + +static long vhost_net_set_socket(struct vhost_net *n, int fd) +{ + struct { + struct sockaddr_ll sa; + char buf[MAX_ADDR_LEN]; + } uaddr; + struct socket *sock, *oldsock = NULL; + int uaddr_len = sizeof uaddr, r; + + mutex_lock(&n->dev.mutex); + r = vhost_dev_check_owner(&n->dev); + if (r) + goto done; + + if (fd...
2009 Aug 10
6
[PATCH 2/2] vhost_net: a kernel-level virtio server
...return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n->dev); + if (sock) + fput(sock->file); + kfree(n); + return 0; +} + +static long vhost_net_set_socket(struct vhost_net *n, int fd) +{ + struct { + struct sockaddr_ll sa; + char buf[MAX_ADDR_LEN]; + } uaddr; + struct socket *sock, *oldsock = NULL; + int uaddr_len = sizeof uaddr, r; + + mutex_lock(&n->dev.mutex); + r = vhost_dev_check_owner(&n->dev); + if (r) + goto done; + + if (fd...
2009 Aug 10
6
[PATCH 2/2] vhost_net: a kernel-level virtio server
...return sock; +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + struct socket *sock; + + sock = vhost_net_stop(n); + vhost_dev_cleanup(&n->dev); + if (sock) + fput(sock->file); + kfree(n); + return 0; +} + +static long vhost_net_set_socket(struct vhost_net *n, int fd) +{ + struct { + struct sockaddr_ll sa; + char buf[MAX_ADDR_LEN]; + } uaddr; + struct socket *sock, *oldsock = NULL; + int uaddr_len = sizeof uaddr, r; + + mutex_lock(&n->dev.mutex); + r = vhost_dev_check_owner(&n->dev); + if (r) + goto done; + + if (fd...
2009 Aug 27
5
[PATCHv5 3/3] vhost_net: a kernel-level virtio server
...+} + +static void vhost_net_flush(struct vhost_net *n) +{ + vhost_poll_flush(n->poll + VHOST_NET_VQ_TX); + vhost_poll_flush(n->poll + VHOST_NET_VQ_RX); + vhost_poll_flush(&n->dev.vqs[VHOST_NET_VQ_TX].poll); + vhost_poll_flush(&n->dev.vqs[VHOST_NET_VQ_RX].poll); +} + +static long vhost_net_set_socket(struct vhost_net *n, int fd) +{ + struct { + struct sockaddr_ll sa; + char buf[MAX_ADDR_LEN]; + } uaddr; + struct socket *sock, *oldsock = NULL; + int uaddr_len = sizeof uaddr, r; + + mutex_lock(&n->dev.mutex); + r = vhost_dev_check_owner(&n->dev); + if (r) + goto done; + + if (fd...
2009 Aug 27
5
[PATCHv5 3/3] vhost_net: a kernel-level virtio server
...+} + +static void vhost_net_flush(struct vhost_net *n) +{ + vhost_poll_flush(n->poll + VHOST_NET_VQ_TX); + vhost_poll_flush(n->poll + VHOST_NET_VQ_RX); + vhost_poll_flush(&n->dev.vqs[VHOST_NET_VQ_TX].poll); + vhost_poll_flush(&n->dev.vqs[VHOST_NET_VQ_RX].poll); +} + +static long vhost_net_set_socket(struct vhost_net *n, int fd) +{ + struct { + struct sockaddr_ll sa; + char buf[MAX_ADDR_LEN]; + } uaddr; + struct socket *sock, *oldsock = NULL; + int uaddr_len = sizeof uaddr, r; + + mutex_lock(&n->dev.mutex); + r = vhost_dev_check_owner(&n->dev); + if (r) + goto done; + + if (fd...
2009 Aug 13
0
[PATCHv2 3/3] qemu-kvm: vhost-net implementation
...amp;lladdr, 0, sizeof(lladdr)); + lladdr.sll_family = AF_PACKET; + lladdr.sll_protocol = htons(ETH_P_ALL); + lladdr.sll_ifindex = req.ifr_ifindex; + r = bind(net->sock, (const struct sockaddr *)&lladdr, sizeof(lladdr)); + if (r < 0) + return -errno; + + r = ioctl(net->dev.control, VHOST_NET_SET_SOCKET, &net->sock); + if (r < 0) + return -errno; + return 0; +} diff --git a/hw/vhost_net.h b/hw/vhost_net.h new file mode 100644 index 0000000..73e0a76 --- /dev/null +++ b/hw/vhost_net.h @@ -0,0 +1,30 @@ +#ifndef VHOST_NET_H +#define VHOST_NET_H + +#include "hw/virtio.h" + +struct...
2009 Aug 13
0
[PATCHv2 3/3] qemu-kvm: vhost-net implementation
...amp;lladdr, 0, sizeof(lladdr)); + lladdr.sll_family = AF_PACKET; + lladdr.sll_protocol = htons(ETH_P_ALL); + lladdr.sll_ifindex = req.ifr_ifindex; + r = bind(net->sock, (const struct sockaddr *)&lladdr, sizeof(lladdr)); + if (r < 0) + return -errno; + + r = ioctl(net->dev.control, VHOST_NET_SET_SOCKET, &net->sock); + if (r < 0) + return -errno; + return 0; +} diff --git a/hw/vhost_net.h b/hw/vhost_net.h new file mode 100644 index 0000000..73e0a76 --- /dev/null +++ b/hw/vhost_net.h @@ -0,0 +1,30 @@ +#ifndef VHOST_NET_H +#define VHOST_NET_H + +#include "hw/virtio.h" + +struct...
2009 Aug 17
1
[PATCHv3 3/4] qemu-kvm: vhost-net implementation
...amp;lladdr, 0, sizeof(lladdr)); + lladdr.sll_family = AF_PACKET; + lladdr.sll_protocol = htons(ETH_P_ALL); + lladdr.sll_ifindex = req.ifr_ifindex; + r = bind(net->sock, (const struct sockaddr *)&lladdr, sizeof(lladdr)); + if (r < 0) + return -errno; + + r = ioctl(net->dev.control, VHOST_NET_SET_SOCKET, &net->sock); + if (r < 0) + return -errno; + return 0; +} diff --git a/hw/vhost_net.h b/hw/vhost_net.h new file mode 100644 index 0000000..73e0a76 --- /dev/null +++ b/hw/vhost_net.h @@ -0,0 +1,30 @@ +#ifndef VHOST_NET_H +#define VHOST_NET_H + +#include "hw/virtio.h" + +struct...
2009 Aug 17
1
[PATCHv3 3/4] qemu-kvm: vhost-net implementation
...amp;lladdr, 0, sizeof(lladdr)); + lladdr.sll_family = AF_PACKET; + lladdr.sll_protocol = htons(ETH_P_ALL); + lladdr.sll_ifindex = req.ifr_ifindex; + r = bind(net->sock, (const struct sockaddr *)&lladdr, sizeof(lladdr)); + if (r < 0) + return -errno; + + r = ioctl(net->dev.control, VHOST_NET_SET_SOCKET, &net->sock); + if (r < 0) + return -errno; + return 0; +} diff --git a/hw/vhost_net.h b/hw/vhost_net.h new file mode 100644 index 0000000..73e0a76 --- /dev/null +++ b/hw/vhost_net.h @@ -0,0 +1,30 @@ +#ifndef VHOST_NET_H +#define VHOST_NET_H + +#include "hw/virtio.h" + +struct...
2009 Aug 10
0
[PATCH 3/3] qemu-kvm: vhost-net implementation
...amp;lladdr, 0, sizeof(lladdr)); + lladdr.sll_family = AF_PACKET; + lladdr.sll_protocol = htons(ETH_P_ALL); + lladdr.sll_ifindex = req.ifr_ifindex; + r = bind(net->sock, (const struct sockaddr *)&lladdr, sizeof(lladdr)); + if (r < 0) + return -errno; + + r = ioctl(net->dev.control, VHOST_NET_SET_SOCKET, &net->sock); + if (r < 0) + return -errno; + return 0; +} diff --git a/hw/vhost_net.h b/hw/vhost_net.h new file mode 100644 index 0000000..73e0a76 --- /dev/null +++ b/hw/vhost_net.h @@ -0,0 +1,30 @@ +#ifndef VHOST_NET_H +#define VHOST_NET_H + +#include "hw/virtio.h" + +struct...
2009 Aug 10
0
[PATCH 3/3] qemu-kvm: vhost-net implementation
...amp;lladdr, 0, sizeof(lladdr)); + lladdr.sll_family = AF_PACKET; + lladdr.sll_protocol = htons(ETH_P_ALL); + lladdr.sll_ifindex = req.ifr_ifindex; + r = bind(net->sock, (const struct sockaddr *)&lladdr, sizeof(lladdr)); + if (r < 0) + return -errno; + + r = ioctl(net->dev.control, VHOST_NET_SET_SOCKET, &net->sock); + if (r < 0) + return -errno; + return 0; +} diff --git a/hw/vhost_net.h b/hw/vhost_net.h new file mode 100644 index 0000000..73e0a76 --- /dev/null +++ b/hw/vhost_net.h @@ -0,0 +1,30 @@ +#ifndef VHOST_NET_H +#define VHOST_NET_H + +#include "hw/virtio.h" + +struct...