[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>
This commit is contained in:
Michael Brown
2014-12-19 17:04:25 +00:00
parent ef16d0d2b3
commit 1d0ade42db
2 changed files with 181 additions and 24 deletions

View File

@@ -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