Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

vsock/loopback: enable SEQPACKET for transport

Add SEQPACKET ops for loopback transport and 'seqpacket_allow()'
callback.

Signed-off-by: Arseny Krasnov <arseny.krasnov@kaspersky.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Arseny Krasnov and committed by
David S. Miller
6e90a577 ced7b713

+12
+12
net/vmw_vsock/vsock_loopback.c
··· 63 63 return 0; 64 64 } 65 65 66 + static bool vsock_loopback_seqpacket_allow(u32 remote_cid); 67 + 66 68 static struct virtio_transport loopback_transport = { 67 69 .transport = { 68 70 .module = THIS_MODULE, ··· 91 89 .stream_is_active = virtio_transport_stream_is_active, 92 90 .stream_allow = virtio_transport_stream_allow, 93 91 92 + .seqpacket_dequeue = virtio_transport_seqpacket_dequeue, 93 + .seqpacket_enqueue = virtio_transport_seqpacket_enqueue, 94 + .seqpacket_allow = vsock_loopback_seqpacket_allow, 95 + .seqpacket_has_data = virtio_transport_seqpacket_has_data, 96 + 94 97 .notify_poll_in = virtio_transport_notify_poll_in, 95 98 .notify_poll_out = virtio_transport_notify_poll_out, 96 99 .notify_recv_init = virtio_transport_notify_recv_init, ··· 111 104 112 105 .send_pkt = vsock_loopback_send_pkt, 113 106 }; 107 + 108 + static bool vsock_loopback_seqpacket_allow(u32 remote_cid) 109 + { 110 + return true; 111 + } 114 112 115 113 static void vsock_loopback_work(struct work_struct *work) 116 114 {