Share via

Whql addrechange test case failing

David ambu 0 Reputation points
2026-03-23T10:30:44.3333333+00:00

Hi All,

I’m facing failures in a few HLK network test cases using:

HLK Server: Windows Server 2022

Client systems: Windows Server 2025 / Windows 11

Issue Summary

The failures seem to be related to IPX packets being dropped, as observed via pktmon.

Observations

  • HLK is generating packets with:

802.3 + LLC/SNAP + IPX (0x8137) + payload

My network driver does not modify packets, it only parses LLC/SNAP headers.

In debugging (NdisProtocolTest.cpp):

  • The test checks packet type at offset 0x14, which aligns with IPX after LLC/SNAP.

If I truncate LLC/SNAP and pass:

802.3 + IPX + payload

  • → The warning in ndistest.cpp disappears → But upper layers still drop the packet as “corrupted”

Questions

Why is HLK still sending IPX traffic, given that IPX is deprecated in modern Windows?

Is HLK expecting drivers to fully preserve and pass LLC/SNAP encapsulation, even for legacy protocols?

  1. Are there any specific alignment, padding, or MDL requirements that HLK enforces for these packets?

Could this be related to known HLK test behavior or errata in recent versions?Hi All,

I’m facing failures in a few HLK network test cases using:

HLK Server: Windows Server 2022

  Client systems: Windows Server 2025 / Windows 11
  
  **Issue Summary**
  
  The failures seem to be related to IPX packets being dropped, as observed via pktmon.
  
  **Observations**
  
     - HLK is generating packets with:
     
     802.3 + LLC/SNAP + IPX (0x8137) + payload
     
        My network driver does not modify packets, it only parses LLC/SNAP headers.
        
           In debugging (NdisProtocolTest.cpp):
           
                 - The test checks packet type at offset 0x14, which aligns with IPX after LLC/SNAP.
                 
                    If I truncate LLC/SNAP and pass:
                    
                    802.3 + IPX + payload
                    
                       - → The warning in ndistest.cpp disappears  
                       → But upper layers still drop the packet as “corrupted”
                       
                       **Questions**
                       
                          Why is HLK still sending IPX traffic, given that IPX is deprecated in modern Windows?
                          
                             Is HLK expecting drivers to fully preserve and pass LLC/SNAP encapsulation, even for legacy protocols?
                             
                                Are there any specific alignment, padding, or MDL requirements that HLK enforces for these packets?
                                
                                   Could this be related to known HLK test behavior or errata in recent versions?
                                   
Windows development | Windows Driver Kit (WDK)

2 answers

Sort by: Most helpful
  1. Tom Tran (WICLOUD CORPORATION) 4,860 Reputation points Microsoft External Staff Moderator
    2026-03-24T07:53:07.2533333+00:00

    Hi @David ambu , Thank you for your patience.

    This looks more related to how the packet is handled in the driver rather than the IPX protocol itself.

    HLK network tests use synthetic traffic, so the protocol isn’t really the focus. These tests are exercising packet handling, where the frame is expected to be passed up as-is, including the full 802.3 + LLC/SNAP encapsulation. If anything is modified, truncated, or misaligned (NET_BUFFER offsets, MDL layout, length, etc.), the stack may fail to parse it and drop it as “Unsupported EtherType.”

    The LLC/SNAP behavior you mentioned is a useful signal since removing it changes the result but leads to corruption, that typically points to an issue in how the original frame is being passed through rather than the protocol itself.

    It might be worth double-checking these on the receive path:

    • Full frame preserved end-to-end
    • NET_BUFFER DataOffset/DataLength
    • MDL chain covers the entire buffer

    Comparing the packet at the hardware/miniport edge vs what’s indicated to NDIS should help pinpoint where things diverge.


    If you found my response helpful or informative, I would greatly appreciate it if you could follow this guidance provide feedback.  

    Was this answer helpful?


  2. Q&A Assist
    2026-03-23T10:31:05.9533333+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    The behavior can be analyzed and addressed only in terms of how HLK network tests are expected to run and how to troubleshoot HLK failures; the context does not document IPX-specific design decisions or errata.

    For Device.Network / LAN tests, the recommended approach is:

    1. Verify the test is being run correctly
      • Confirm that all LAN test prerequisites are met as described in the LAN testing setup documentation referenced by the individual test (for example, LAN Testing Prerequisites from the test’s own page).
      • Check whether the failing tests require any special configuration or supplemental data. In HLK Studio, tests that require special configuration are marked with the toolbox icon in the Type column. If such configuration is required and not present, tests will fail regardless of driver behavior.
      • If the tests are being run as multi-device tests, rerun them as single-device tests to simplify troubleshooting and ensure that logs are not conflated across devices.
    2. Use HLK’s generic troubleshooting flow for network tests
      • For Device.Network tests, follow the “Troubleshooting Device.Network Testing” and “Troubleshooting LAN Testing” guidance:
        • Review the generic HLK failure guide: Troubleshooting Windows HLK Test Failures.
        • Review the Windows HLK release notes for any known current test issues.
        • For each failing run, inspect the HLK Studio test logs (Task Log and Additional Files) for concrete failure reasons and assertions from the test harness.
      • For LAN tests specifically, if there are two-machine jobs involved, run the “NDISTest 6.5 – [2 Machine] – CheckConnectivity” job to verify that the basic connectivity and NIC selection are correct. If this job fails, the logs will show where bidirectional communication fails, which must be resolved before other tests can be trusted.
    3. Identify the failure category in HLK
      • Use the “Identify the failure category” guidance:
        • If there are no Task Logs, check whether the test was cancelled due to timeout or client unresponsiveness.
        • If there is a test result failure, focus on the Task Log and Additional Files, and the Troubleshooting section of the specific test reference.
        • If the test shows no failing task and Execution Logs are disabled (greyed out), this can be a known HLK client issue; the workaround is to rerun the test so that logs are copied back correctly.
    4. Check for configuration changes and unsupported controller scenarios
      • Ensure that the HLK infrastructure or device configuration has not changed after selecting the test target. If it has, re-select the test target (noting that this invalidates previous results).
      • Verify that the HLK Studio/Controller environment is supported (for example, not a machine that was moved from domain to workgroup after installation), since unsupported scenarios can cause test failures unrelated to driver behavior.

    Within the provided context, there is no documented requirement or errata about:

    • Use of IPX in current HLK network tests.
    • Specific alignment, padding, or MDL layout requirements for IPX or LLC/SNAP-encapsulated frames.
    • Expectations that drivers preserve LLC/SNAP encapsulation for legacy protocols.

    Therefore, the actionable steps supported by the documentation are to:

    • Treat these as standard Device.Network / LAN HLK failures.
    • Use the HLK logs, LAN troubleshooting guidance, and connectivity checks to isolate whether the failure is due to test setup, connectivity, or driver behavior.
    • Consult the specific test’s reference and Troubleshooting section (via F1 in HLK Studio) and the HLK release notes for any test-specific issues.

    References:

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.