Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV
Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


Add as many multicast addresses failed on miniport driver

vinay_kpvinay_kp Member Posts: 182
I am trying to solve the multicast address test in HLK test in windows 10 . During the test , i can see the log like :

*********************************************************
Add/Delete a multicast address multiple times - 0
--------------------------------------------------------
ClOpen::AddMulticastAddress
Add address 01-02-03-04-05-06 to the multicast list on the Test open
Address 01-02-03-04-05-06 added to the Multicast List on the Test open


Query Multicast address list to validate that Add was successfull.


Delete Multicast Address.
ClOpen::RemoveMulticastAddress
Remove address 01-02-03-04-05-06 to the multicast list on the Test open
Address 01-02-03-04-05-06 removed from the Multicast List on the Test open


Query Multicast address list to validate that Delete was successfull.



Add/Delete a multicast address multiple times - 1
-------------------------------------------------------------
ClOpen::AddMulticastAddress
Add address 01-02-03-04-05-06 to the multicast list on the Test open
Address 01-02-03-04-05-06 added to the Multicast List on the Test open


Query Multicast address list to validate that Add was successfull.


Delete Multicast Address.
ClOpen::RemoveMulticastAddress
Remove address 01-02-03-04-05-06 to the multicast list on the Test open
Address 01-02-03-04-05-06 removed from the Multicast List on the Test open


Query Multicast address list to validate that Delete was successfull.

etc.....

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

Now this fine next , i can see like :

Add as many multicast addresses as driver says it supports



********************************************************
Add multicast address - 0
--------------------------------------------------------------------
ClOpen::AddMulticastAddress
Add address 01-02-03-04-00-00 to the multicast list on the Test open
Address 01-02-03-04-00-00 added to the Multicast List on the Test open


Query Multicast address list to validate that Add was successfull.

Add multicast address - 1
------------------------------------------------------------------------
ClOpen::AddMulticastAddress
Add address 01-02-03-04-00-01 to the multicast list on the Test open
NdisRequest for OID_802_3_MULTICAST_LIST of type QueryInformation failed with status = NDIS_STATUS_INVALID_LENGTH
Address 01-02-03-04-00-01 added to the Multicast List on the Test open


Query Multicast address list to validate that Add was successfull.

etc....

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


I am getting failing at this point :

Send/Receive for all valid multicast addresses. Should receive all packets for this test.
---------------------------------------------------------------------------------------------------


Create communication helpers.
Open::CreateCommunicationHelper
- Name: TestDeviceMultipointCommHelper
- Type: MultipointCommHelper
Open::CreateCommunicationHelper
- Name: SuppDeviceMultipointCommHelper
- Type: MultipointCommHelper
Setup NetBufferModule stack on communication helpers.
Open::CreateEndPoint
- Name: TestDeviceMultipointCommHelper_EndPoint
- Type: NDT_CLENDPOINT_EX
EndPoint::OpenCommunicationChannel
- Name: TestDeviceMultipointCommHelper_EndPoint
- Traffic Manager Type: NDT_MULTIPOINT_TRAFFIC_MGR
- Stack Manager Type: NDT_MULTIPOINT_NB_MODULE_STACK
- NBL Completion Provider Type: 1
- Module 0: NDT_SIMPLE_NB_ALLOCATOR_MODULE
- Module 1: NDT_SIMPLE_NDISTEST_PAYLOAD_MODULE
- Module 2: NDT_NDISTEST_HEADER_MODULE
- Module 3: NDT_LLC_SNAP_HEADER_MODULE
- Module 4: NDT_ETHERNET_MEDIA_HEADER_MODULE

Open::CreateEndPoint
- Name: SuppDeviceMultipointCommHelper_EndPoint
- Type: NDT_CLENDPOINT_EX
EndPoint::OpenCommunicationChannel
- Name: SuppDeviceMultipointCommHelper_EndPoint
- Traffic Manager Type: NDT_MULTIPOINT_TRAFFIC_MGR
- Stack Manager Type: NDT_MULTIPOINT_NB_MODULE_STACK
- NBL Completion Provider Type: 1
- Module 0: NDT_SIMPLE_NB_ALLOCATOR_MODULE
- Module 1: NDT_SIMPLE_NDISTEST_PAYLOAD_MODULE
- Module 2: NDT_NDISTEST_HEADER_MODULE
- Module 3: NDT_LLC_SNAP_HEADER_MODULE
- Module 4: NDT_ETHERNET_MEDIA_HEADER_MODULE

Configure NetBufferModules for sending on the support device.
Configure NetBufferModules for receiving on the test device.
Send/Receive 250 packets from your Virtual Network Driver to your Virtual Network Driver.
CommunicationHelper::StartReceive
- Name: TestDeviceMultipointCommHelper
- Type: MultipointCommunicationHelper
- Traffic Manager Type: NDT_MULTIPOINT_TRAFFIC_MGR
- Receive Process Mech: NDT_PROCESS_RECEIVE_AT_PASSIVE
- Configured NetBufferModuleStack:
- [1] NDT_SIMPLE_NDISTEST_PAYLOAD_MODULE
- [2] NDT_NDISTEST_HEADER_MODULE
- [3] NDT_LLC_SNAP_HEADER_MODULE
- [4] NDT_ETHERNET_MEDIA_HEADER_MODULE
- STATUS: NDIS_STATUS_SUCCESS

CommunicationHelper::StartSend
- Name: SuppDeviceMultipointCommHelper
- Type: MultipointCommunicationHelper
- Traffic Manager Type: NDT_MULTIPOINT_TRAFFIC_MGR
- Send Mechanism: NDT_SEND_AT_PASSIVE
- Send Complete Mech: NDT_VERIFY_SEND_COMPLETE_AT_PASSIVE
- NDIS Send Flags: 0
- Send Latency (ms): 0
- Preallocated NBL Count: 105
- Configured NetBufferModuleStack:
- [0] NDT_SIMPLE_NB_ALLOCATOR_MODULE
- [1] NDT_SIMPLE_NDISTEST_PAYLOAD_MODULE
- [2] NDT_NDISTEST_HEADER_MODULE
- [3] NDT_LLC_SNAP_HEADER_MODULE
- [4] NDT_ETHERNET_MEDIA_HEADER_MODULE
- STATUS: NDIS_STATUS_SUCCESS

EndPoint::WaitForSendsToComplete
- Name: SuppDeviceMultipointCommHelper_EndPoint
- Timeout (ms): 21000
EndPoint::StopReceive
- Name: TestDeviceMultipointCommHelper_EndPoint
- Timeout (ms): 5000
EndPoint::GetSendResults
- Name: SuppDeviceMultipointCommHelper_EndPoint

Support adapter your Virtual Network Driver sent 5250 packets to all destinations of 5250 expected.
Support adapter your Virtual Network Driver sent 250 packets to destination 01-02-03-04-00-00 of 250 expected.
Support adapter your Virtual Network Driver sent 250 packets to destination 01-02-03-04-00-01 of 250 expected.

EndPoint::GetReceiveResults
- Name: TestDeviceMultipointCommHelper_EndPoint
EndPoint::GetReceiveResults
- Name: TestDeviceMultipointCommHelper_EndPoint

50013 Received less than the expected percentage of packets sent.
We expected 247 packets (99 percent of 250 expected packets sent).

NDISTest header module: Destination 01-02-03-04-00-00 on test adapter your Virtual Network Driver received 0 of 250 expected packets sent.

50013 Received less than the expected percentage of packets sent.
We expected 247 packets (99 percent of 250 expected packets sent).

NDISTest header module: Destination 01-02-03-04-00-01 on test adapter your Virtual Network Driver received 0 of 250 expected packets sent.

50013 Received less than the expected percentage of packets sent.



Some packet is failing here . Is it due to NDIS_STATUS_INVALID_LENGTH status ? or anything am missing ?

Any suggestions ?

Comments

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 15 Jun 2020 LIVE ONLINE
Writing WDF Drivers 22 June 2020 LIVE ONLINE
Internals & Software Drivers 28 Sept 2020 Dulles, VA