[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protoc
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protocol definitions |
Date: |
Wed, 7 Feb 2018 13:00:14 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 |
On 06/02/2018 21:30, Roman Kagan wrote:
> +/* NdisInitialize message */
> +struct rndis_initialize_request {
> + uint32_t req_id;
> + uint32_t major_ver;
> + uint32_t minor_ver;
> + uint32_t max_xfer_size;
> +};
> +
> +/* Response to NdisInitialize */
> +struct rndis_initialize_complete {
> + uint32_t req_id;
> + uint32_t status;
> + uint32_t major_ver;
> + uint32_t minor_ver;
> + uint32_t dev_flags;
> + uint32_t medium;
> + uint32_t max_pkt_per_msg;
> + uint32_t max_xfer_size;
> + uint32_t pkt_alignment_factor;
> + uint32_t af_list_offset;
> + uint32_t af_list_size;
> +};
> +
> +/* Call manager devices only: Information about an address family */
> +/* supported by the device is appended to the response to NdisInitialize. */
> +struct rndis_co_address_family {
> + uint32_t address_family;
> + uint32_t major_ver;
> + uint32_t minor_ver;
> +};
> +
> +/* NdisHalt message */
> +struct rndis_halt_request {
> + uint32_t req_id;
> +};
> +
> +/* NdisQueryRequest message */
> +struct rndis_query_request {
> + uint32_t req_id;
> + uint32_t oid;
> + uint32_t info_buflen;
> + uint32_t info_buf_offset;
> + uint32_t dev_vc_handle;
> +};
> +
> +/* Response to NdisQueryRequest */
> +struct rndis_query_complete {
> + uint32_t req_id;
> + uint32_t status;
> + uint32_t info_buflen;
> + uint32_t info_buf_offset;
> +};
> +
> +/* NdisSetRequest message */
> +struct rndis_set_request {
> + uint32_t req_id;
> + uint32_t oid;
> + uint32_t info_buflen;
> + uint32_t info_buf_offset;
> + uint32_t dev_vc_handle;
> +};
> +
> +/* Response to NdisSetRequest */
> +struct rndis_set_complete {
> + uint32_t req_id;
> + uint32_t status;
> +};
> +
> +/* NdisReset message */
> +struct rndis_reset_request {
> + uint32_t reserved;
> +};
> +
> +/* Response to NdisReset */
> +struct rndis_reset_complete {
> + uint32_t status;
> + uint32_t addressing_reset;
> +};
> +
> +/* NdisMIndicateStatus message */
> +struct rndis_indicate_status {
> + uint32_t status;
> + uint32_t status_buflen;
> + uint32_t status_buf_offset;
> +};
> +
> +/* Diagnostic information passed as the status buffer in */
> +/* struct rndis_indicate_status messages signifying error conditions. */
> +struct rndis_diagnostic_info {
> + uint32_t diag_status;
> + uint32_t error_offset;
> +};
> +
> +/* NdisKeepAlive message */
> +struct rndis_keepalive_request {
> + uint32_t req_id;
> +};
> +
> +/* Response to NdisKeepAlive */
> +struct rndis_keepalive_complete {
> + uint32_t req_id;
> + uint32_t status;
> +};
> +
Hmm, these are a bit harder to unify with hw/usb/dev-network.c. Still
not _that_ hard, just that the USB version has two fields for message
type/length at the beginning. Probably worth it even if we keep two
versions of the core RNDIS code.
Paolo
- Re: [Qemu-devel] [RFC PATCH 25/34] scsi: add Hyper-V/VMBus SCSI controller, (continued)
- [Qemu-devel] [RFC PATCH 32/34] loader: allow arbitrary basename for fw_cfg file roms, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 30/34] net: add Hyper-V/VMBus net adapter, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 33/34] vmbus: add support for rom files, Roman Kagan, 2018/02/06
- [Qemu-devel] [RFC PATCH 34/34] hv-net: define default rom file name, Roman Kagan, 2018/02/06
- Re: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus, no-reply, 2018/02/06