Lines Matching refs:dg

32 static int vmci_transport_recv_dgram_cb(void *data, struct vmci_datagram *dg);
33 static int vmci_transport_recv_stream_cb(void *data, struct vmci_datagram *dg);
125 pkt->dg.src = vmci_make_handle(VMADDR_CID_ANY, in vmci_transport_packet_init()
127 pkt->dg.dst = vmci_make_handle(dst->svm_cid, in vmci_transport_packet_init()
129 pkt->dg.payload_size = sizeof(*pkt) - sizeof(pkt->dg); in vmci_transport_packet_init()
180 vsock_addr_init(local, pkt->dg.dst.context, pkt->dst_port); in vmci_transport_packet_get_addresses()
181 vsock_addr_init(remote, pkt->dg.src.context, pkt->src_port); in vmci_transport_packet_get_addresses()
200 err = vmci_datagram_send(&pkt->dg); in __vmci_transport_send_control_pkt()
332 vsock_addr_init(&dst, pkt->dg.src.context, in vmci_transport_send_reset()
487 vsock_addr_init(&src, pkt->dg.src.context, pkt->src_port); in vmci_transport_get_pending()
611 static int vmci_transport_recv_dgram_cb(void *data, struct vmci_datagram *dg) in vmci_transport_recv_dgram_cb() argument
630 if (!vmci_transport_allow_dgram(vsk, dg->src.context)) in vmci_transport_recv_dgram_cb()
633 size = VMCI_DG_SIZE(dg); in vmci_transport_recv_dgram_cb()
643 memcpy(skb->data, dg, size); in vmci_transport_recv_dgram_cb()
671 static int vmci_transport_recv_stream_cb(void *data, struct vmci_datagram *dg) in vmci_transport_recv_stream_cb() argument
689 if (!vmci_transport_stream_allow(dg->src.context, -1) in vmci_transport_recv_stream_cb()
690 || vmci_transport_peer_rid(dg->src.context) != dg->src.resource) in vmci_transport_recv_stream_cb()
693 if (VMCI_DG_SIZE(dg) < sizeof(*pkt)) in vmci_transport_recv_stream_cb()
697 pkt = (struct vmci_transport_packet *)dg; in vmci_transport_recv_stream_cb()
703 vsock_addr_init(&src, pkt->dg.src.context, pkt->src_port); in vmci_transport_recv_stream_cb()
704 vsock_addr_init(&dst, pkt->dg.dst.context, pkt->dst_port); in vmci_transport_recv_stream_cb()
747 if (!vmci_transport_allow_dgram(vsk, pkt->dg.src.context)) { in vmci_transport_recv_stream_cb()
905 vsock_sk(sk)->local_addr.svm_cid = pkt->dg.dst.context; in vmci_transport_recv_pkt_work()
962 vsock_sk(pending)->local_addr.svm_cid = pkt->dg.dst.context; in vmci_transport_recv_listen()
1016 vsock_addr_init(&vpending->local_addr, pkt->dg.dst.context, in vmci_transport_recv_listen()
1018 vsock_addr_init(&vpending->remote_addr, pkt->dg.src.context, in vmci_transport_recv_listen()
1202 pkt->dg.src.context, in vmci_transport_recv_connecting_server()
1310 || pkt->dg.src.context != vsk->remote_addr.svm_cid in vmci_transport_recv_connecting_client()
1410 vsk->local_addr.svm_cid = pkt->dg.dst.context; in vmci_transport_recv_connecting_client_negotiate()
1701 struct vmci_datagram *dg; in vmci_transport_dgram_enqueue() local
1710 dg = kmalloc(len + sizeof(*dg), GFP_KERNEL); in vmci_transport_dgram_enqueue()
1711 if (!dg) in vmci_transport_dgram_enqueue()
1714 err = memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len); in vmci_transport_dgram_enqueue()
1716 kfree(dg); in vmci_transport_dgram_enqueue()
1720 dg->dst = vmci_make_handle(remote_addr->svm_cid, in vmci_transport_dgram_enqueue()
1722 dg->src = vmci_make_handle(vsk->local_addr.svm_cid, in vmci_transport_dgram_enqueue()
1724 dg->payload_size = len; in vmci_transport_dgram_enqueue()
1726 err = vmci_datagram_send(dg); in vmci_transport_dgram_enqueue()
1727 kfree(dg); in vmci_transport_dgram_enqueue()
1731 return err - sizeof(*dg); in vmci_transport_dgram_enqueue()
1739 struct vmci_datagram *dg; in vmci_transport_dgram_dequeue() local
1752 dg = (struct vmci_datagram *)skb->data; in vmci_transport_dgram_dequeue()
1753 if (!dg) in vmci_transport_dgram_dequeue()
1757 payload_len = dg->payload_size; in vmci_transport_dgram_dequeue()
1759 if (payload_len != skb->len - sizeof(*dg)) { in vmci_transport_dgram_dequeue()
1770 err = skb_copy_datagram_msg(skb, sizeof(*dg), msg, payload_len); in vmci_transport_dgram_dequeue()
1777 vsock_addr_init(vm_addr, dg->src.context, dg->src.resource); in vmci_transport_dgram_dequeue()