mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
virtio/vsock: set packet's type in virtio_transport_send_pkt_info()
There is no need to set type of packet which differs from type of socket, so move passing type of packet from 'info' structure to 'virtio_transport_send_pkt_info()' function. Since at current time only stream type is supported, set it directly in 'virtio_ transport_send_pkt_info()', so callers don't need to set it. Signed-off-by: Arseny Krasnov <arseny.krasnov@kaspersky.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8cb48554ad
commit
b93f8877c1
@ -179,6 +179,8 @@ static int virtio_transport_send_pkt_info(struct vsock_sock *vsk,
|
||||
struct virtio_vsock_pkt *pkt;
|
||||
u32 pkt_len = info->pkt_len;
|
||||
|
||||
info->type = VIRTIO_VSOCK_TYPE_STREAM;
|
||||
|
||||
t_ops = virtio_transport_get_ops(vsk);
|
||||
if (unlikely(!t_ops))
|
||||
return -EFAULT;
|
||||
@ -270,12 +272,10 @@ void virtio_transport_put_credit(struct virtio_vsock_sock *vvs, u32 credit)
|
||||
EXPORT_SYMBOL_GPL(virtio_transport_put_credit);
|
||||
|
||||
static int virtio_transport_send_credit_update(struct vsock_sock *vsk,
|
||||
int type,
|
||||
struct virtio_vsock_hdr *hdr)
|
||||
{
|
||||
struct virtio_vsock_pkt_info info = {
|
||||
.op = VIRTIO_VSOCK_OP_CREDIT_UPDATE,
|
||||
.type = type,
|
||||
.vsk = vsk,
|
||||
};
|
||||
|
||||
@ -383,11 +383,8 @@ virtio_transport_stream_do_dequeue(struct vsock_sock *vsk,
|
||||
* messages, we set the limit to a high value. TODO: experiment
|
||||
* with different values.
|
||||
*/
|
||||
if (free_space < VIRTIO_VSOCK_MAX_PKT_BUF_SIZE) {
|
||||
virtio_transport_send_credit_update(vsk,
|
||||
VIRTIO_VSOCK_TYPE_STREAM,
|
||||
NULL);
|
||||
}
|
||||
if (free_space < VIRTIO_VSOCK_MAX_PKT_BUF_SIZE)
|
||||
virtio_transport_send_credit_update(vsk, NULL);
|
||||
|
||||
return total;
|
||||
|
||||
@ -496,8 +493,7 @@ void virtio_transport_notify_buffer_size(struct vsock_sock *vsk, u64 *val)
|
||||
|
||||
vvs->buf_alloc = *val;
|
||||
|
||||
virtio_transport_send_credit_update(vsk, VIRTIO_VSOCK_TYPE_STREAM,
|
||||
NULL);
|
||||
virtio_transport_send_credit_update(vsk, NULL);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(virtio_transport_notify_buffer_size);
|
||||
|
||||
@ -624,7 +620,6 @@ int virtio_transport_connect(struct vsock_sock *vsk)
|
||||
{
|
||||
struct virtio_vsock_pkt_info info = {
|
||||
.op = VIRTIO_VSOCK_OP_REQUEST,
|
||||
.type = VIRTIO_VSOCK_TYPE_STREAM,
|
||||
.vsk = vsk,
|
||||
};
|
||||
|
||||
@ -636,7 +631,6 @@ int virtio_transport_shutdown(struct vsock_sock *vsk, int mode)
|
||||
{
|
||||
struct virtio_vsock_pkt_info info = {
|
||||
.op = VIRTIO_VSOCK_OP_SHUTDOWN,
|
||||
.type = VIRTIO_VSOCK_TYPE_STREAM,
|
||||
.flags = (mode & RCV_SHUTDOWN ?
|
||||
VIRTIO_VSOCK_SHUTDOWN_RCV : 0) |
|
||||
(mode & SEND_SHUTDOWN ?
|
||||
@ -665,7 +659,6 @@ virtio_transport_stream_enqueue(struct vsock_sock *vsk,
|
||||
{
|
||||
struct virtio_vsock_pkt_info info = {
|
||||
.op = VIRTIO_VSOCK_OP_RW,
|
||||
.type = VIRTIO_VSOCK_TYPE_STREAM,
|
||||
.msg = msg,
|
||||
.pkt_len = len,
|
||||
.vsk = vsk,
|
||||
@ -688,7 +681,6 @@ static int virtio_transport_reset(struct vsock_sock *vsk,
|
||||
{
|
||||
struct virtio_vsock_pkt_info info = {
|
||||
.op = VIRTIO_VSOCK_OP_RST,
|
||||
.type = VIRTIO_VSOCK_TYPE_STREAM,
|
||||
.reply = !!pkt,
|
||||
.vsk = vsk,
|
||||
};
|
||||
@ -1000,7 +992,6 @@ virtio_transport_send_response(struct vsock_sock *vsk,
|
||||
{
|
||||
struct virtio_vsock_pkt_info info = {
|
||||
.op = VIRTIO_VSOCK_OP_RESPONSE,
|
||||
.type = VIRTIO_VSOCK_TYPE_STREAM,
|
||||
.remote_cid = le64_to_cpu(pkt->hdr.src_cid),
|
||||
.remote_port = le32_to_cpu(pkt->hdr.src_port),
|
||||
.reply = true,
|
||||
|
Loading…
Reference in New Issue
Block a user