RE: [PATCH v14 net-next 1/1] hv_sock: introduce Hyper-V Sockets

From: Dexuan Cui
Date: Fri Jul 08 2016 - 05:35:33 EST


> From: Olaf Hering [mailto:olaf@xxxxxxxxx]
> Sent: Friday, July 8, 2016 0:02
> On Thu, Jun 30, Dexuan Cui wrote:
>
> > +/* The MTU is 16KB per the host side's design. */
> > +struct hvsock_recv_buf {
> > + unsigned int data_len;
> > + unsigned int data_offset;
> > +
> > + struct vmpipe_proto_header hdr;
> > + u8 buf[PAGE_SIZE * 4];
>
> Please use some macro related to the protocol rather than a Linux
> compiletime macro.
OK. I'll fix this.

> > +/* We send at most 4KB payload per VMBus packet. */
> > +struct hvsock_send_buf {
> > + struct vmpipe_proto_header hdr;
> > + u8 buf[PAGE_SIZE];
>
> Same here.
OK. I'll fix this.

> > + * Copyright(c) 2016, Microsoft Corporation. All rights reserved.
>
> Here the BSD license follows. I think its required/desired to also
> include a GPL blurb like it is done in many other files:
> ...
> * Alternatively, this software may be distributed under the terms of
> * the GNU General Public License ("GPL") version 2 as published by the
> * Free Software Foundation.
> ....
>
> Otherwise the MODULE_LICENSE string might be incorrect.
I'll add the GPL blurb.

> > + /* Hyper-V Sockets requires at least VMBus 4.0 */
> > + if ((vmbus_proto_version >> 16) < 4) {
> > + pr_err("failed to load: VMBus 4 or later is required\n");
>
> I guess this mens WS 2016+, and loading in earlier host versions will
> trigger this path? I think a silent ENODEV is enough.
Yes.
OK, I'll remove the pr_err().

>
> > + return -ENODEV;
>
> Olaf

I'll post v15 shortly, which will address all the comments from Joe and Olaf.

Thanks,
-- Dexuan