summaryrefslogtreecommitdiffstats
path: root/include/linux/hyperv.h
diff options
context:
space:
mode:
authorDexuan Cui2016-01-28 07:29:40 +0100
committerGreg Kroah-Hartman2016-02-08 06:34:12 +0100
commit5c23a1a5c60b0f472cfa61cd7d8279f8aaeb5b64 (patch)
tree700ec3910bf1b48fae5ce2f4b15f0e32af39b9e1 /include/linux/hyperv.h
parentDrivers: hv: vmbus: vmbus_sendpacket_ctl: hvsock: avoid unnecessary signaling (diff)
downloadkernel-qcow2-linux-5c23a1a5c60b0f472cfa61cd7d8279f8aaeb5b64.tar.gz
kernel-qcow2-linux-5c23a1a5c60b0f472cfa61cd7d8279f8aaeb5b64.tar.xz
kernel-qcow2-linux-5c23a1a5c60b0f472cfa61cd7d8279f8aaeb5b64.zip
Drivers: hv: vmbus: define a new VMBus message type for hvsock
A function to send the type of message is also added. The coming net/hvsock driver will use this function to proactively request the host to offer a VMBus channel for a new hvsock connection. Signed-off-by: Dexuan Cui <decui@microsoft.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/hyperv.h')
-rw-r--r--include/linux/hyperv.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 79c4aa70eff3..898eac9e8c13 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -392,6 +392,10 @@ enum vmbus_channel_message_type {
CHANNELMSG_VERSION_RESPONSE = 15,
CHANNELMSG_UNLOAD = 16,
CHANNELMSG_UNLOAD_RESPONSE = 17,
+ CHANNELMSG_18 = 18,
+ CHANNELMSG_19 = 19,
+ CHANNELMSG_20 = 20,
+ CHANNELMSG_TL_CONNECT_REQUEST = 21,
CHANNELMSG_COUNT
};
@@ -562,6 +566,13 @@ struct vmbus_channel_initiate_contact {
u64 monitor_page2;
} __packed;
+/* Hyper-V socket: guest's connect()-ing to host */
+struct vmbus_channel_tl_connect_request {
+ struct vmbus_channel_message_header header;
+ uuid_le guest_endpoint_id;
+ uuid_le host_service_id;
+} __packed;
+
struct vmbus_channel_version_response {
struct vmbus_channel_message_header header;
u8 version_supported;
@@ -1283,4 +1294,6 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid);
extern __u32 vmbus_proto_version;
+int vmbus_send_tl_connect_request(const uuid_le *shv_guest_servie_id,
+ const uuid_le *shv_host_servie_id);
#endif /* _HYPERV_H */