]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[pxe] Fix interoperability with the Symantec (undipd) DOS UNDI driver
authorMichael Brown <mcb30@etherboot.org>
Tue, 23 Jun 2009 21:53:29 +0000 (22:53 +0100)
committerMichael Brown <mcb30@etherboot.org>
Tue, 23 Jun 2009 21:56:21 +0000 (22:56 +0100)
The Symantec UNDI DOS driver fails when run on top of gPXE because we
return our interface type as "gPXE" rather than one of the predefined
NDIS interface type strings.

Fix by returning the standard "DIX+802.3" string; this isn't
necessarily always accurate, but it's highly unlikely that anything
trying to use the UNDI API would understand our IPoIB link-layer
pseudo-header anyway.

src/arch/i386/interface/pxe/pxe_undi.c

index fd07f14717f6b187897bfe708e1e853f8dfb3fc1..95267b65720762bc36d66c551a5d8e7e66db10e9 100644 (file)
@@ -532,7 +532,7 @@ PXENV_EXIT_t pxenv_undi_get_iface_info ( struct s_PXENV_UNDI_GET_IFACE_INFO
         * Most PXE stacks seem to take this approach.
         */
        snprintf ( ( char * ) undi_get_iface_info->IfaceType,
-                  sizeof ( undi_get_iface_info->IfaceType ), "gPXE" );
+                  sizeof ( undi_get_iface_info->IfaceType ), "DIX+802.3" );
        undi_get_iface_info->LinkSpeed = 10000000; /* 10 Mbps */
        undi_get_iface_info->ServiceFlags =
                ( SUPPORTED_BROADCAST | SUPPORTED_MULTICAST |