Why MAC options failing after miniport intitialize during address change ?

I am trying to pass NDISTest 6.5 - 2 Machine - AddressChange for HLK test . This test do following activites during test .

This test verifies the ability of NDIS and the driver to override the adapter’s current MAC address by writing a new address (both valid and invalid addresses into the driver’s registry with registry value NetworkAddress. The driver should receive the new address when it calls NdisReadNetworkAddress during initialization. The following is the sequence of events:

1 Read current NetworkAddress parameter in registry so it can be restored at the end.

2 Query the card to find its current and permanent Ethernet address.

3 Stop the driver.

4 Write the new Ethernet address into registry.

5 Start the driver.

6 Query the card to find its current registry setting and compare to expected setting.

7 Query the card to find its permanent address and make sure it hasn’t changed.

8 Have the server send 250 packets to the new current address.

9 Have the server send 250 packets to the original current address (expecting 0 packets received).

10 Repeat steps 3-9 for each new address to be tested (valid and invalid ones).

11 Stop the driver.

12 Put the original NetworkAddress into the registry.

13 Start the driver.

14 Query the card to find its current and permanent Ethernet address and make sure they are the same as at the start.

So during the test i got failure logs as :

***************************************************

Validate MAC options after miniport initialize

We check for NDIS_MAC_OPTION_SUPPORTS_MAC_ADDRESS_OVERWRITE after a miniport initialze because either the miniport or NDIS must add this flag for devices that support overwriting the local MAC (which is the purpose of this AddressChange test in general).NDIS adds this flag to a miniport’s MAC options when the miniport calls NdisReadNetworkAddress(). This flag should be set even if the configured MAC address in the NetworkAddress key is invalid as the flag simply indicates that miniport/device is capable of overwriting the local MAC.
Adapter::NdisIOControl

  • Oid: OID_GEN_MAC_OPTIONS

  • Buffer Length: 4

50030 Failed to query required object OID_GEN_MAC_OPTIONS on your Virtual Network Driver.

********************************************

and for next test

*************************************************
Check network addresses on the test adapter after modifying the registry with new network address

Obtain new current address on your Virtual Network Driver
Open::NdisRequest

  • Name: Test open for receiving

  • RequestType: QueryInformation

  • OID: OID_802_3_CURRENT_ADDRESS

  • RequestId: 0

  • BufferLength: 6

  • Flags: 0x00000000

  • PortNumber: 0
    Results

  • Status: NDIS_STATUS_SUCCESS (0x0)

  • Bytes Written: 6

  • Bytes Needed: 743435792

Current address from test adapter is 00-53-QC-08-78-20
New network address under test is 02-01-06-06-09-12
50009 Current network address did not change after driver was reloaded. The driver should have picked up a new network address from the registry.
Obtain new permanent address on your Virtual Network Driver
Open::NdisRequest

  • Name: Test open for receiving

  • RequestType: QueryInformation

  • OID: OID_802_3_PERMANENT_ADDRESS

  • RequestId: 0

  • BufferLength: 6

  • Flags: 0x00000000

  • PortNumber: 0
    Results

  • Status: NDIS_STATUS_SUCCESS (0x0)

  • Bytes Written: 6

  • Bytes Needed: 743435792

New permanent address from test adapter is 00-53-QC-08-78-20
Original permanent address is 00-53-QC-08-78-20

*********************************************

Why Current network address did not change after my driver was reloaded and MAC options failing after miniport intitialize ? Any suggestions ? Thanks

> Current address from test adapter is 00-53-QC-08-78-20

New network address under test is 02-01-06-06-09-12

Hmm, how can this be? Assuming you copied & pasted from the log, the current address was invalid before test starts (note “QC” - maybe remains from previous run?).
The test could get confused by invalid address override. Check how the driver reacts to invalid address in the registry. Does it fail, or ignores the bad address?

– pa

>Current address from test adapter is 00-53-QC-08-78-20

Not just invalid, but impossible. A MAC address is 6 bytes, usually represented in HEX.

* Bob

? Bob Ammerman
? xxxxx@ramsystems.biz
716.864.8337

138 Liston St
Buffalo, NY 14223
www.ramsystems.biz

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-625687-
xxxxx@lists.osr.com] On Behalf Of xxxxx@fastmail.fm
Sent: Sunday, February 19, 2017 9:41 AM
To: Windows System Software Devs Interest List
> Subject: RE:[ntdev] Why MAC options failing after miniport intitialize during
> address change ?
>
> > > > address under test is 02-01-06-06-09-12
>
> Hmm, how can this be? Assuming you copied & pasted from the log, the
> current address was invalid before test starts (note “QC” - maybe remains
> from previous run?).
> The test could get confused by invalid address override. Check how the
> driver reacts to invalid address in the registry. Does it fail, or ignores the bad
> address?
>
> – pa
>
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list online at:
> http:
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software drivers!
> Details at http:
>
> To unsubscribe, visit the List Server section of OSR Online at
> http:</http:></http:></http:>