On Wed, Jun 22, 2016 at 06:11:02PM +0200, [email protected] wrote:
> +     hdr = (struct af_vsockmon_hdr *) skb_push(skb, sizeof(*hdr));
> +
> +     hdr->src_cid = pkt->hdr.src_cid;
> +     hdr->src_port = pkt->hdr.src_port;
> +     hdr->dst_cid = pkt->hdr.dst_cid;
> +     hdr->dst_port = pkt->hdr.dst_port;
> +     hdr->t = AF_VSOCK_T_VIRTIO;
> +
> +     switch(pkt->hdr.op) {
> +             case VIRTIO_VSOCK_OP_REQUEST:
> +             case VIRTIO_VSOCK_OP_RESPONSE:
> +                     hdr->op = AF_VSOCK_OP_CONNECT;
> +                     break;
> +             case VIRTIO_VSOCK_OP_RST:
> +             case VIRTIO_VSOCK_OP_SHUTDOWN:
> +                     hdr->op = AF_VSOCK_OP_DISCONNECT;
> +                     break;
> +             case VIRTIO_VSOCK_OP_RW:
> +                     hdr->op = AF_VSOCK_OP_PAYLOAD;
> +                     break;
> +             case VIRTIO_VSOCK_OP_CREDIT_UPDATE:
> +             case VIRTIO_VSOCK_OP_CREDIT_REQUEST:
> +                     hdr->op = AF_VSOCK_OP_CONTROL;
> +                     break;
> +             default:
> +                     hdr->op = AF_VSOCK_OP_UNKNOWN;
> +                     break;
> +     }

hdr->t and hdr->op need cpu_to_le*() to ensure little-endianness.

Attachment: signature.asc
Description: PGP signature

Reply via email to