[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: |
Roman Kagan |
Subject: |
Re: [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protocol definitions |
Date: |
Wed, 7 Feb 2018 23:15:17 +0300 |
User-agent: |
Mutt/1.9.2 (2017-12-15) |
On Wed, Feb 07, 2018 at 01:00:14PM +0100, Paolo Bonzini wrote:
> 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.
This is my "fault". At some point I got tired of this pattern so I
factored out the header and the payload. I'll reconsider with this
unification in mind.
Roman.
- 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
- Re: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus, no-reply, 2018/02/06