summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2014-12-19 18:04:25 +0100
committerMichael Brown2014-12-19 18:05:56 +0100
commit1d0ade42dba3c30375694fb59eb2d06085271a71 (patch)
treea8c3b2444a2e85efbe67585d070d6de678deac53 /src/include
parent[hyperv] Add support for NetVSC paravirtual network devices (diff)
downloadipxe-1d0ade42dba3c30375694fb59eb2d06085271a71.tar.gz
ipxe-1d0ade42dba3c30375694fb59eb2d06085271a71.tar.xz
ipxe-1d0ade42dba3c30375694fb59eb2d06085271a71.zip
[rndis] Send RNDIS_INITIALISE_MSG
The Hyper-V RNDIS implementation on Windows Server 2012 R2 requires that we send an explicit RNDIS initialisation message in order to get a working RX datapath. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/rndis.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/include/ipxe/rndis.h b/src/include/ipxe/rndis.h
index 60ffd10f..4e4ab7f8 100644
--- a/src/include/ipxe/rndis.h
+++ b/src/include/ipxe/rndis.h
@@ -28,10 +28,10 @@ struct rndis_header {
} __attribute__ (( packed ));
/** RNDIS initialise message */
-#define RNDIS_INITIALIZE_MSG 0x00000002UL
+#define RNDIS_INITIALISE_MSG 0x00000002UL
/** RNDIS initialise message */
-struct rndis_initialize_message {
+struct rndis_initialise_message {
/** Request ID */
uint32_t id;
/** Major version */
@@ -42,6 +42,24 @@ struct rndis_initialize_message {
uint32_t mtu;
} __attribute__ (( packed ));
+/** Request ID used for initialisation
+ *
+ * This is a policy decision.
+ */
+#define RNDIS_INIT_ID 0xe110e110UL
+
+/** RNDIS major version */
+#define RNDIS_VERSION_MAJOR 1
+
+/** RNDIS minor version */
+#define RNDIS_VERSION_MINOR 0
+
+/** RNDIS maximum transfer size
+ *
+ * This is a policy decision.
+ */
+#define RNDIS_MTU 2048
+
/** RNDIS initialise completion */
#define RNDIS_INITIALISE_CMPLT 0x80000002UL