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);
+}
+
static inline void set_channel_read_state(struct vmbus_channel *c, bool state)
{
c->batched_reading = state;--
2.1.0
From: Dexuan Cui <decui@microsoft.com>
Date: Tue, 14 Jul 2015 02:58:03 -0700
quoted hunk
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.
From: David Miller
Sent: Thursday, July 16, 2015 12:13
From: Dexuan Cui
Date: Tue, 14 Jul 2015 02:58:03 -0700
quoted
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