• Home
  • Raw
  • Download

Lines Matching refs:pkt

104 		struct virtio_vsock_pkt *pkt;  in virtio_transport_send_pkt_work()  local
115 pkt = list_first_entry(&vsock->send_pkt_list, in virtio_transport_send_pkt_work()
117 list_del_init(&pkt->list); in virtio_transport_send_pkt_work()
120 virtio_transport_deliver_tap_pkt(pkt); in virtio_transport_send_pkt_work()
122 reply = pkt->reply; in virtio_transport_send_pkt_work()
124 sg_init_one(&hdr, &pkt->hdr, sizeof(pkt->hdr)); in virtio_transport_send_pkt_work()
126 if (pkt->buf) { in virtio_transport_send_pkt_work()
127 sg_init_one(&buf, pkt->buf, pkt->len); in virtio_transport_send_pkt_work()
131 ret = virtqueue_add_sgs(vq, sgs, out_sg, in_sg, pkt, GFP_KERNEL); in virtio_transport_send_pkt_work()
137 list_add(&pkt->list, &vsock->send_pkt_list); in virtio_transport_send_pkt_work()
167 virtio_transport_send_pkt(struct virtio_vsock_pkt *pkt) in virtio_transport_send_pkt() argument
170 int len = pkt->len; in virtio_transport_send_pkt()
175 virtio_transport_free_pkt(pkt); in virtio_transport_send_pkt()
180 if (le64_to_cpu(pkt->hdr.dst_cid) == vsock->guest_cid) { in virtio_transport_send_pkt()
181 virtio_transport_free_pkt(pkt); in virtio_transport_send_pkt()
186 if (pkt->reply) in virtio_transport_send_pkt()
190 list_add_tail(&pkt->list, &vsock->send_pkt_list); in virtio_transport_send_pkt()
204 struct virtio_vsock_pkt *pkt, *n; in virtio_transport_cancel_pkt() local
216 list_for_each_entry_safe(pkt, n, &vsock->send_pkt_list, list) { in virtio_transport_cancel_pkt()
217 if (pkt->vsk != vsk) in virtio_transport_cancel_pkt()
219 list_move(&pkt->list, &freeme); in virtio_transport_cancel_pkt()
223 list_for_each_entry_safe(pkt, n, &freeme, list) { in virtio_transport_cancel_pkt()
224 if (pkt->reply) in virtio_transport_cancel_pkt()
226 list_del(&pkt->list); in virtio_transport_cancel_pkt()
227 virtio_transport_free_pkt(pkt); in virtio_transport_cancel_pkt()
250 struct virtio_vsock_pkt *pkt; in virtio_vsock_rx_fill() local
258 pkt = kzalloc(sizeof(*pkt), GFP_KERNEL); in virtio_vsock_rx_fill()
259 if (!pkt) in virtio_vsock_rx_fill()
262 pkt->buf = kmalloc(buf_len, GFP_KERNEL); in virtio_vsock_rx_fill()
263 if (!pkt->buf) { in virtio_vsock_rx_fill()
264 virtio_transport_free_pkt(pkt); in virtio_vsock_rx_fill()
268 pkt->buf_len = buf_len; in virtio_vsock_rx_fill()
269 pkt->len = buf_len; in virtio_vsock_rx_fill()
271 sg_init_one(&hdr, &pkt->hdr, sizeof(pkt->hdr)); in virtio_vsock_rx_fill()
274 sg_init_one(&buf, pkt->buf, buf_len); in virtio_vsock_rx_fill()
276 ret = virtqueue_add_sgs(vq, sgs, 0, 2, pkt, GFP_KERNEL); in virtio_vsock_rx_fill()
278 virtio_transport_free_pkt(pkt); in virtio_vsock_rx_fill()
302 struct virtio_vsock_pkt *pkt; in virtio_transport_tx_work() local
306 while ((pkt = virtqueue_get_buf(vq, &len)) != NULL) { in virtio_transport_tx_work()
307 virtio_transport_free_pkt(pkt); in virtio_transport_tx_work()
537 struct virtio_vsock_pkt *pkt; in virtio_transport_rx_work() local
548 pkt = virtqueue_get_buf(vq, &len); in virtio_transport_rx_work()
549 if (!pkt) { in virtio_transport_rx_work()
556 if (unlikely(len < sizeof(pkt->hdr) || in virtio_transport_rx_work()
557 len > sizeof(pkt->hdr) + pkt->len)) { in virtio_transport_rx_work()
558 virtio_transport_free_pkt(pkt); in virtio_transport_rx_work()
562 pkt->len = len - sizeof(pkt->hdr); in virtio_transport_rx_work()
563 virtio_transport_deliver_tap_pkt(pkt); in virtio_transport_rx_work()
564 virtio_transport_recv_pkt(&virtio_transport, pkt); in virtio_transport_rx_work()
632 struct virtio_vsock_pkt *pkt; in virtio_vsock_vqs_del() local
664 while ((pkt = virtqueue_detach_unused_buf(vsock->vqs[VSOCK_VQ_RX]))) in virtio_vsock_vqs_del()
665 virtio_transport_free_pkt(pkt); in virtio_vsock_vqs_del()
669 while ((pkt = virtqueue_detach_unused_buf(vsock->vqs[VSOCK_VQ_TX]))) in virtio_vsock_vqs_del()
670 virtio_transport_free_pkt(pkt); in virtio_vsock_vqs_del()
675 pkt = list_first_entry(&vsock->send_pkt_list, in virtio_vsock_vqs_del()
677 list_del(&pkt->list); in virtio_vsock_vqs_del()
678 virtio_transport_free_pkt(pkt); in virtio_vsock_vqs_del()