emBoot Labs Testing Methodology

emBoot Labs’ PXE certification test verifies that the Product’s PXE component, especially it’s UNDI layer, is implemented in strict adherence to the PXE Specification.

The test fixture consists of three networked devices:

• PXE server
• PXE client (containing PXE firmware under test)
• Traffic generator


All devices are networked using the same topology as the PXE client. Additionally, the PXE server and the PXE client are connected together to provide out-of-band signaling needed to pass test command and results. Remote testing over a separate channel brings the benefits of minimal intrusion into the native UNDI environment and also provides needed flexibility for the execution of extensive, customized, feature-rich tests.

emBoot Labs created specific test software based on their many years of experience with the PXE specification. emBoot staff was involved in the initial PXE specification review process, and understands the PXE protocol, API, and documentation in every respect.

The PXE client downloads its client test application from the PXE server, and prepares to receive tests issued by the server. Test commands received from the test server are verified and sent to the test application. The server commences execution of its test script; all results are added to a test log.

The first phase of the test involves exhaustive exercising of every aspect (function/subfunction) of the UNDI API; below are just a few examples of the types of tests conducted:

• Directed receive tests
• Directed broadcast receive tests
• Directed transmit tests
• Broadcast transmit tests
• Echo tests
• Various permutations of receive filter settings
• Multicast tests
• State tests
• Get Statistics tests
• Get UNDI Info tests

For each send/receive segment, the ability to send/receive varying packet sizes is tested.

The second phase repeats the testing performed above, but this time with a variety of unicast and broadcast traffic being present on the network. This portion of the test serves as a worst-case stress test, to ensure that the UNDI driver will perform reliably in a real-world environment.

Some screenshots from our test suite: