Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F151312279
D7514.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D7514.id.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D7514: hyperv/hn: Ignore the useless TX table.
Attached
Detach File
Event Timeline
Log In to Comment