Displaying 3 results from an estimated 3 matches for "virtio_vsock_skb_reply".
2023 May 02
1
[Patch net] vsock: improve tap delivery accuracy
..._vsock/virtio_transport.c
index e95df847176b..055678628c07 100644
--- a/net/vmw_vsock/virtio_transport.c
+++ b/net/vmw_vsock/virtio_transport.c
@@ -109,9 +109,6 @@ virtio_transport_send_pkt_work(struct work_struct *work)
if (!skb)
break;
- virtio_transport_deliver_tap_pkt(skb);
- reply = virtio_vsock_skb_reply(skb);
-
sg_init_one(&hdr, virtio_vsock_hdr(skb), sizeof(*virtio_vsock_hdr(skb)));
sgs[out_sg++] = &hdr;
if (skb->len > 0) {
@@ -128,6 +125,8 @@ virtio_transport_send_pkt_work(struct work_struct *work)
break;
}
+ virtio_transport_deliver_tap_pkt(skb);
+ reply = virt...
2023 Feb 16
0
[RFC PATCH v1 05/12] vsock/virtio: non-linear skb support
...r the header, right?
I'd add a comment just to be clear ;-)
> int ret, in_sg = 0, out_sg = 0;
> struct sk_buff *skb;
> bool reply;
>@@ -111,12 +112,30 @@ virtio_transport_send_pkt_work(struct work_struct *work)
>
> virtio_transport_deliver_tap_pkt(skb);
> reply = virtio_vsock_skb_reply(skb);
>+ sg_init_one(&bufs[0], virtio_vsock_hdr(skb), sizeof(*virtio_vsock_hdr(skb)));
>+ sgs[out_sg++] = &bufs[0];
>+
>+ if (skb_is_nonlinear(skb)) {
>+ int i;
>+
>+ for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
>+ struct page *data_page = skb_sh...
2023 Aug 22
0
[PATCH net-next v6 2/4] vsock/virtio: support to send non-linear skb
...considered moving such data
in the virtio_vsock struct?
> int ret, in_sg = 0, out_sg = 0;
> struct sk_buff *skb;
> bool reply;
> @@ -111,12 +113,39 @@ virtio_transport_send_pkt_work(struct work_struct *work)
>
> virtio_transport_deliver_tap_pkt(skb);
> reply = virtio_vsock_skb_reply(skb);
> + sg_init_one(&bufs[out_sg], virtio_vsock_hdr(skb),
> + sizeof(*virtio_vsock_hdr(skb)));
> + sgs[out_sg] = &bufs[out_sg];
> + out_sg++;
> +
> + if (!skb_is_nonlinear(skb)) {
> + if (skb->len > 0) {
> + sg_init_one(&bufs[out_sg], skb-&...