Page MenuHomeFreeBSD

D7514.id.diff
No OneTemporary

D7514.id.diff

Index: head/sys/dev/hyperv/netvsc/hv_net_vsc.c
===================================================================
--- head/sys/dev/hyperv/netvsc/hv_net_vsc.c
+++ head/sys/dev/hyperv/netvsc/hv_net_vsc.c
@@ -930,44 +930,17 @@
}
}
-/*
- * Net VSC receiving vRSS send table from VSP
- */
static void
-hv_nv_send_table(struct hn_softc *sc, const struct vmbus_chanpkt_hdr *pkt)
+hn_proc_notify(struct hn_softc *sc, const struct vmbus_chanpkt_hdr *pkt)
{
- netvsc_dev *net_dev;
- const nvsp_msg *nvsp_msg_pkt;
- int i;
- uint32_t count;
- const uint32_t *table;
-
- net_dev = hv_nv_get_inbound_net_device(sc);
- if (!net_dev)
- return;
+ const struct hn_nvs_hdr *hdr;
- nvsp_msg_pkt = VMBUS_CHANPKT_CONST_DATA(pkt);
-
- if (nvsp_msg_pkt->hdr.msg_type !=
- nvsp_msg5_type_send_indirection_table) {
- printf("Netvsc: !Warning! receive msg type not "
- "send_indirection_table. type = %d\n",
- nvsp_msg_pkt->hdr.msg_type);
+ hdr = VMBUS_CHANPKT_CONST_DATA(pkt);
+ if (hdr->nvs_type == HN_NVS_TYPE_TXTBL_NOTE) {
+ /* Useless; ignore */
return;
}
-
- count = nvsp_msg_pkt->msgs.vers_5_msgs.send_table.count;
- if (count != VRSS_SEND_TABLE_SIZE) {
- printf("Netvsc: Received wrong send table size: %u\n", count);
- return;
- }
-
- table = (const uint32_t *)
- ((const uint8_t *)&nvsp_msg_pkt->msgs.vers_5_msgs.send_table +
- nvsp_msg_pkt->msgs.vers_5_msgs.send_table.offset);
-
- for (i = 0; i < count; i++)
- net_dev->vrss_send_table[i] = table[i];
+ if_printf(sc->hn_ifp, "got notify, nvs type %u\n", hdr->nvs_type);
}
/*
@@ -1005,7 +978,7 @@
hv_nv_on_receive(net_dev, rxr, chan, pkt);
break;
case VMBUS_CHANPKT_TYPE_INBAND:
- hv_nv_send_table(sc, pkt);
+ hn_proc_notify(sc, pkt);
break;
default:
if_printf(rxr->hn_ifp,
Index: head/sys/dev/hyperv/netvsc/if_hnreg.h
===================================================================
--- head/sys/dev/hyperv/netvsc/if_hnreg.h
+++ head/sys/dev/hyperv/netvsc/if_hnreg.h
@@ -59,8 +59,11 @@
#define HN_NVS_TYPE_CHIM_DISCONN 106
#define HN_NVS_TYPE_RNDIS 107
#define HN_NVS_TYPE_NDIS_CONF 125
+#define HN_NVS_TYPE_VFASSOC_NOTE 128 /* notification */
+#define HN_NVS_TYPE_SET_DATAPATH 129
#define HN_NVS_TYPE_SUBCH_REQ 133
#define HN_NVS_TYPE_SUBCH_RESP 133 /* same as SUBCH_REQ */
+#define HN_NVS_TYPE_TXTBL_NOTE 134 /* notification */
/*
* Any size less than this one will _not_ work, e.g. hn_nvs_init

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 8, 12:42 PM (50 m, 38 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31064378
Default Alt Text
D7514.id.diff (2 KB)

Event Timeline