Page MenuHomeFreeBSD

D8293.diff
No OneTemporary

D8293.diff

Index: head/sys/dev/hyperv/netvsc/hv_net_vsc.h
===================================================================
--- head/sys/dev/hyperv/netvsc/hv_net_vsc.h
+++ head/sys/dev/hyperv/netvsc/hv_net_vsc.h
@@ -269,6 +269,7 @@
#define HN_CAP_UDP6CS 0x0040
#define HN_CAP_TSO4 0x0080
#define HN_CAP_TSO6 0x0100
+#define HN_CAP_HASHVAL 0x0200
/*
* Externs
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
@@ -544,8 +544,9 @@
if (error) {
if_printf(sc->hn_ifp, "reinit NVS version 0x%x "
"failed: %d\n", sc->hn_nvs_ver, error);
+ return (error);
}
- return (error);
+ goto done;
}
/*
@@ -567,11 +568,16 @@
HN_NDIS_VERSION_MAJOR(sc->hn_ndis_ver),
HN_NDIS_VERSION_MINOR(sc->hn_ndis_ver));
}
- return (0);
+ goto done;
}
}
if_printf(sc->hn_ifp, "no NVS available\n");
return (ENXIO);
+
+done:
+ if (sc->hn_nvs_ver >= HN_NVS_VERSION_5)
+ sc->hn_caps |= HN_CAP_HASHVAL;
+ return (0);
}
int
Index: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
===================================================================
--- head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
+++ head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
@@ -2233,7 +2233,8 @@
"\006UDP4CS"
"\007UDP6CS"
"\010TSO4"
- "\011TSO6");
+ "\011TSO6"
+ "\012HASHVAL");
return sysctl_handle_string(oidp, caps_str, sizeof(caps_str), req);
}
@@ -3008,12 +3009,15 @@
if (sc->hn_caps & HN_CAP_UDP6CS)
csum_assist |= CSUM_IP6_UDP;
#endif
-
for (i = 0; i < sc->hn_tx_ring_cnt; ++i)
sc->hn_tx_ring[i].hn_csum_assist = csum_assist;
- if (sc->hn_ndis_ver >= HN_NDIS_VERSION_6_30) {
- /* Support HASHVAL pktinfo on TX path. */
+ if (sc->hn_caps & HN_CAP_HASHVAL) {
+ /*
+ * Support HASHVAL pktinfo on TX path.
+ */
+ if (bootverbose)
+ if_printf(sc->hn_ifp, "support HASHVAL pktinfo\n");
for (i = 0; i < sc->hn_tx_ring_cnt; ++i)
sc->hn_tx_ring[i].hn_tx_flags |= HN_TX_FLAG_HASHVAL;
}

File Metadata

Mime Type
text/plain
Expires
Thu, Feb 19, 10:11 AM (5 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28848861
Default Alt Text
D8293.diff (2 KB)

Event Timeline