diff mbox

[V2,1/7] Drivers: hv: vmbus: define the new offer type for Hyper-V socket (hvsock)

Message ID 1436867883-17692-1-git-send-email-decui@microsoft.com
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Dexuan Cui July 14, 2015, 9:58 a.m. UTC
A helper function is also added.

Signed-off-by: Dexuan Cui <decui@microsoft.com>
---
 include/linux/hyperv.h | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

David Miller July 16, 2015, 4:13 a.m. UTC | #1
From: Dexuan Cui <decui@microsoft.com>
Date: Tue, 14 Jul 2015 02:58:03 -0700

> A helper function is also added.
> 
> Signed-off-by: Dexuan Cui <decui@microsoft.com>
> ---
>  include/linux/hyperv.h | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
> index 30d3a1f..aa21814 100644
> --- a/include/linux/hyperv.h
> +++ b/include/linux/hyperv.h
> @@ -236,6 +236,7 @@ struct vmbus_channel_offer {
>  #define VMBUS_CHANNEL_LOOPBACK_OFFER			0x100
>  #define VMBUS_CHANNEL_PARENT_OFFER			0x200
>  #define VMBUS_CHANNEL_REQUEST_MONITORED_NOTIFICATION	0x400
> +#define VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER		0x2000
>  
>  struct vmpacket_descriptor {
>  	u16 type;
> @@ -758,6 +759,12 @@ struct vmbus_channel {
>  	struct list_head percpu_list;
>  };
>  
> +static inline bool is_hvsock_channel(const struct vmbus_channel *c)
> +{
> +	return !!(c->offermsg.offer.chn_flags &
> +		VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER);
> +}
> +

This is not indented properly, plus it makes no sense to add a flag before
anyone even sets the flag.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dexuan Cui July 16, 2015, 11:18 a.m. UTC | #2
> From: David Miller
> Sent: Thursday, July 16, 2015 12:13
> 
> From: Dexuan Cui
> Date: Tue, 14 Jul 2015 02:58:03 -0700
> 
> > A helper function is also added.
> >
> > diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
> > @@ -236,6 +236,7 @@ struct vmbus_channel_offer {
> >  #define VMBUS_CHANNEL_LOOPBACK_OFFER			0x100
> >  #define VMBUS_CHANNEL_PARENT_OFFER			0x200
> >  #define VMBUS_CHANNEL_REQUEST_MONITORED_NOTIFICATION	0x400
> > +#define VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER		0x2000
> >
> >  struct vmpacket_descriptor {
> >  	u16 type;
> > @@ -758,6 +759,12 @@ struct vmbus_channel {
> >  	struct list_head percpu_list;
> >  };
> >
> > +static inline bool is_hvsock_channel(const struct vmbus_channel *c)
> > +{
> > +	return !!(c->offermsg.offer.chn_flags &
> > +		VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER);
> > +}
> > +
> 
> This is not indented properly, plus it makes no sense to add a flag before
> anyone even sets the flag.

Hi David,
Thanks for pointing out the indentation issue!  I'll fix it in V3.

The flag is set by the host: the c->offermsg is in the shared VMBus ringbuffer
between the host and the guest, so it makes sense for us to check the flag. :-)

-- Dexuan
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 30d3a1f..aa21814 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -236,6 +236,7 @@  struct vmbus_channel_offer {
 #define VMBUS_CHANNEL_LOOPBACK_OFFER			0x100
 #define VMBUS_CHANNEL_PARENT_OFFER			0x200
 #define VMBUS_CHANNEL_REQUEST_MONITORED_NOTIFICATION	0x400
+#define VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER		0x2000
 
 struct vmpacket_descriptor {
 	u16 type;
@@ -758,6 +759,12 @@  struct vmbus_channel {
 	struct list_head percpu_list;
 };
 
+static inline bool is_hvsock_channel(const struct vmbus_channel *c)
+{
+	return !!(c->offermsg.offer.chn_flags &
+		VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER);
+}
+
 static inline void set_channel_read_state(struct vmbus_channel *c, bool state)
 {
 	c->batched_reading = state;