aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hv
diff options
context:
space:
mode:
authorDexuan Cui <decui@microsoft.com>2016-01-28 01:29:40 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-02-08 00:34:12 -0500
commit5c23a1a5c60b0f472cfa61cd7d8279f8aaeb5b64 (patch)
tree700ec3910bf1b48fae5ce2f4b15f0e32af39b9e1 /drivers/hv
parent5f363bc38f810d238d1e8b19998625ddec3b8138 (diff)
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 'drivers/hv')
-rw-r--r--drivers/hv/channel.c15
-rw-r--r--drivers/hv/channel_mgmt.c4
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 3f0453302146..fcab234796ef 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -219,6 +219,21 @@ error0:
219} 219}
220EXPORT_SYMBOL_GPL(vmbus_open); 220EXPORT_SYMBOL_GPL(vmbus_open);
221 221
222/* Used for Hyper-V Socket: a guest client's connect() to the host */
223int vmbus_send_tl_connect_request(const uuid_le *shv_guest_servie_id,
224 const uuid_le *shv_host_servie_id)
225{
226 struct vmbus_channel_tl_connect_request conn_msg;
227
228 memset(&conn_msg, 0, sizeof(conn_msg));
229 conn_msg.header.msgtype = CHANNELMSG_TL_CONNECT_REQUEST;
230 conn_msg.guest_endpoint_id = *shv_guest_servie_id;
231 conn_msg.host_service_id = *shv_host_servie_id;
232
233 return vmbus_post_msg(&conn_msg, sizeof(conn_msg));
234}
235EXPORT_SYMBOL_GPL(vmbus_send_tl_connect_request);
236
222/* 237/*
223 * create_gpadl_header - Creates a gpadl for the specified buffer 238 * create_gpadl_header - Creates a gpadl for the specified buffer
224 */ 239 */
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index d6c611457601..60ca25b93b4c 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -958,6 +958,10 @@ struct vmbus_channel_message_table_entry
958 {CHANNELMSG_VERSION_RESPONSE, 1, vmbus_onversion_response}, 958 {CHANNELMSG_VERSION_RESPONSE, 1, vmbus_onversion_response},
959 {CHANNELMSG_UNLOAD, 0, NULL}, 959 {CHANNELMSG_UNLOAD, 0, NULL},
960 {CHANNELMSG_UNLOAD_RESPONSE, 1, vmbus_unload_response}, 960 {CHANNELMSG_UNLOAD_RESPONSE, 1, vmbus_unload_response},
961 {CHANNELMSG_18, 0, NULL},
962 {CHANNELMSG_19, 0, NULL},
963 {CHANNELMSG_20, 0, NULL},
964 {CHANNELMSG_TL_CONNECT_REQUEST, 0, NULL},
961}; 965};
962 966
963/* 967/*