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: