Lines Matching full:offer
194 const guid_t *guid = &channel->offermsg.offer.if_type; in hv_get_dev_type()
525 &newchannel->offermsg.offer.if_type, in vmbus_add_channel_work()
526 &newchannel->offermsg.offer.if_instance, in vmbus_add_channel_work()
578 * vmbus_process_offer - Process the offer by creating a channel/device
579 * associated with this offer
615 if (guid_equal(&channel->offermsg.offer.if_type, in vmbus_process_offer()
616 &newchannel->offermsg.offer.if_type) && in vmbus_process_offer()
617 guid_equal(&channel->offermsg.offer.if_instance, in vmbus_process_offer()
618 &newchannel->offermsg.offer.if_instance)) { in vmbus_process_offer()
644 if (newchannel->offermsg.offer.sub_channel_index == 0) { in vmbus_process_offer()
787 if (channel->offermsg.offer.sub_channel_index >= ncpu || in init_vp_index()
949 struct vmbus_channel_offer_channel *offer) in vmbus_setup_channel_state() argument
957 (offer->is_dedicated_interrupt != 0); in vmbus_setup_channel_state()
958 channel->sig_event = offer->connection_id; in vmbus_setup_channel_state()
960 memcpy(&channel->offermsg, offer, in vmbus_setup_channel_state()
962 channel->monitor_grp = (u8)offer->monitorid / 32; in vmbus_setup_channel_state()
963 channel->monitor_bit = (u8)offer->monitorid % 32; in vmbus_setup_channel_state()
968 * find_primary_channel_by_offer - Get the channel object given the new offer.
972 find_primary_channel_by_offer(const struct vmbus_channel_offer_channel *offer) in find_primary_channel_by_offer() argument
978 if (offer->offer.sub_channel_index != 0) in find_primary_channel_by_offer()
984 inst1 = &iter->offermsg.offer.if_instance; in find_primary_channel_by_offer()
985 inst2 = &offer->offer.if_instance; in find_primary_channel_by_offer()
998 static bool vmbus_is_valid_offer(const struct vmbus_channel_offer_channel *offer) in vmbus_is_valid_offer() argument
1000 const guid_t *guid = &offer->offer.if_type; in vmbus_is_valid_offer()
1006 if (is_hvsock_offer(offer)) in vmbus_is_valid_offer()
1022 struct vmbus_channel_offer_channel *offer; in vmbus_onoffer() local
1026 offer = (struct vmbus_channel_offer_channel *)hdr; in vmbus_onoffer()
1028 trace_vmbus_onoffer(offer); in vmbus_onoffer()
1030 if (!vmbus_is_valid_offer(offer)) { in vmbus_onoffer()
1031 pr_err_ratelimited("Invalid offer %d from the host supporting isolation\n", in vmbus_onoffer()
1032 offer->child_relid); in vmbus_onoffer()
1037 oldchannel = find_primary_channel_by_offer(offer); in vmbus_onoffer()
1075 oldchannel->offermsg.child_relid = offer->child_relid; in vmbus_onoffer()
1077 offer_sz = sizeof(*offer); in vmbus_onoffer()
1078 if (memcmp(offer, &oldchannel->offermsg, offer_sz) != 0) { in vmbus_onoffer()
1081 * the other field(s) of the offer, e.g. on WS RS5 in vmbus_onoffer()
1082 * (Build 17763), the offer->connection_id of the in vmbus_onoffer()
1086 pr_debug("vmbus offer changed: relid=%d\n", in vmbus_onoffer()
1087 offer->child_relid); in vmbus_onoffer()
1089 print_hex_dump_debug("Old vmbus offer: ", in vmbus_onoffer()
1093 print_hex_dump_debug("New vmbus offer: ", in vmbus_onoffer()
1095 offer, offer_sz, false); in vmbus_onoffer()
1098 vmbus_setup_channel_state(oldchannel, offer); in vmbus_onoffer()
1109 /* Allocate the channel object and save this offer. */ in vmbus_onoffer()
1112 vmbus_release_relid(offer->child_relid); in vmbus_onoffer()
1118 vmbus_setup_channel_state(newchannel, offer); in vmbus_onoffer()
1134 * vmbus_onoffer_rescind - Rescind offer handler.
1136 * We queue a work item to process this offer synchronously
1150 * The offer msg and the corresponding rescind msg in vmbus_onoffer_rescind()
1152 * offer comes in first and then the rescind. in vmbus_onoffer_rescind()
1175 * We wait here until any channel offer is currently in vmbus_onoffer_rescind()
1199 * We failed in processing the offer message; in vmbus_onoffer_rescind()
1215 * Now wait for offer handling to complete. in vmbus_onoffer_rescind()
1220 * We wait here until any channel offer is currently in vmbus_onoffer_rescind()