ATE DDK chat: NDIS and Network Device Drivers

Posted May 20, 2004

Chat Date: April 22, 2004

Please note: Portions of this transcript have been edited for clarity

Introduction

Moderator: JPerry (Microsoft)
Hello, welcome to our chat on ATE DDK chat: NDIS and Network Device Drivers.

Moderator: JPerry (Microsoft)
I'm John Perry, Microsoft MVP Lead for DDK, and your Moderator for today.

Moderator: JPerry (Microsoft)
We have some members of our DDK team here, and I'll let them introduce themselves

Host: Adube (Microsoft)
My name is Aditya Dube and I am a developer on the NDIS team.

Host: Brian (Microsoft)
I am Brian King. I am responsible for the NDISTest. If you have any questions related to NDISTest that are not answered here you can contact us at ndiststr@microsoft.com

Host: alid (Microsoft)
Hi, My name is Alireza Dabagh and I am a developer working on NDIS.

Host: TAROONM (Microsoft)
Hi, this is Taroon. I am a developer in the wireless networking team. My team owns the Zero Configuration and 802.1X authentication for wireless networks in Windows operating system.

Host: Brad (Microsoft)
Hi, I'm Brad Williamson, Software Design Engineer with the NDIS group.

Host: David (Microsoft)
I'm David Harding, wireless device test developer for the NDISTest.

Host: Fengfen (Microsoft)
I am Fengfen Liu, I am a developer working on NDIS

Host: Igor (Microsoft)
Hello, my name is Igor Kostic and I am a Program Manager working on NDIS and network device drivers.

Host: Michael (Microsoft)
My name is Michael Nanakul and I work as a software test engineer on NDIS.sys.

Host: Mitesh (Microsoft)
I am Mitesh Desai, NDISTest developer

Host: Rohit (Microsoft)
My name is Rohit Raina, I am support engineer for Networking Technologies (PSS)

Moderator: JPerry (Microsoft)
So, let's go -

Start of Chat

Host: alid (Microsoft)
Q: This might be really basic question, When I was debugging my NDIS IM driver, I saw Ethernet Header, with Source and Destination MAC. I though I am sitting between the protocol and miniport driver, and Miniport driver adds the ethernet header.
A: Raj, in NDIS environment, the MAC header is constructed by protocol stack.

Host: TAROONM (Microsoft)
Q: How can I use WMI to query NDIS statistics via OID_802_11_STATISTICS
A: You can query the corresponding WMI GUID called GUID_NDIS_802_11_STATISTICS to get this information

Host: Brian (Microsoft)
The NDISTest is now being distributed through a betaplace (in addition to the WHQL HCT releases.) If you would like to get the NDISTest please follow the instructions below to join the betaplace.

Host: Brian (Microsoft)
1) Goto https://beta.microsoft.com 2) Sign in using your passport email and password3) Use Guest ID NDISTest when prompted. If you are already participating in other beta programs you will need to follow the instructions at the top of the page to reach the Guest ID screen.4) Follow the link to the NDISTest beta program at the bottom5) Follow the instructions to fill out the survey enrollment form6) Finally send us an email at ndiststr@microsoft.com to let us know

Host: Adube (Microsoft)
Q: Thomas_PCAUSA : Will there be a NDIS 6/LH update at WinHec?
A: We will have a BOF (Birds Of A Feather) meeting at WinHEC where the NDIS team will be present to answer questions.

Host: Igor (Microsoft)
Q: Will there be support for connection-oriented intermediate drivers in NDIS 6?NDIS 6.0 is not being covered here today, as some aspects of it are still under NDA. We plan on covering many of the questions at the upcoming WinHEC in two weeks.

Host: Igor (Microsoft)
Q: When can non-hardware developers get a chance to work with Native Wi-Fi? Last I heard only hardware vendors were involved.
A: Native Wi-Fi BetaPlace access will open to broader audience the week after WinHEC (May 10th)

Host: alid (Microsoft)
Q: Hardeep : When Status == NDIS_STATUS_RESOURCES is set for a packet before NdisMIndicateReceivePacket is called ……then the protocol above should copy the data and then return( I mean it would not call the MPreturnpackethandler)………does this rule not apply

Host: alid (Microsoft)
Q: contd.)in Ptreceivepacket we are actually wrapping the packet and indicating it above and on return we check the Status ……..if it was indicated with NDIS_STATUS_RESOURCES then we reclaim our packet

Host: alid (Microsoft)
A: Hardeep, you should save the fact that you are sending the packet with status_resources in a local variable. I believe DDK already mentions this. Deserialized drivers can not count on the status field in the packet to be the same when the call comes back.

Host: alid (Microsoft)
Q: Hardeep : yes I understand that Alid but my question is that if the miniport below had indiacted a packet with status NDIS_STATUS_RESOURCES then it's NdisMIndicateReceivePacket would not return until the top most protocol driver has consumed the data??
A: Correct.

Host: Adube (Microsoft)
Q: Raj : Can I send an ARP from the server, requesting the other clients to update there ARP tables before arp table time out happens and how?
A: There is a Win32 API called SendARP that can be used to send ARPs.

Host: Adube (Microsoft)
An IM driver will need to be aware of the current IP address on the Interface if it were to be used for send ARP packets out. This IP address may change at any time.

Host: Igor (Microsoft)
Q: Most NDIS questions in microsoft.public.development.device.drivers seem to be related to Filter IMs, specifically the PASSTHRU sample in the DDK. Can MS update the sample to at least do "something".
A: At this time we have no firm plans/dates for updating the pass-through sample. However, we are looking into this expanding its scope for Longhorn. As soon as we have concrete plans we will share them broadly.

Host: alid (Microsoft)
Q: Hardeep : Well that means using NDIS_STATUS_RESOURCES will only prevent calling of ur Return Packet handler.
A: No, it also means the caller can safely release packet resources when the call comes back. upper protocols should not touch it any more.

Host: Igor (Microsoft)
Q: When will Microsoft be coming out with a fix for the new TCP vulnerability that was recently reported in the news?
A: This question needs to be answered by someone from the TCP team. As this is an NDIS chat we do not have the right people to answer this question.

Moderator: JPerry (Microsoft)
You can find the most current security info at: https://www.microsoft.com/technet/security/current.aspx. When something becomes available, you should be able to find it there

Host: alid (Microsoft)
Q: Raj : I have two interface (Two NIC) and I want to resend the data received on one interface to another interface. Where should I handle this? I mean at IM driver level or up in the stack
A: It depends. Doing it in the IM driver would be layer 2 bridging and preferable when possible. Doing it in protocol (tcp/ip) will be layer 3 bridging and sometimes "necessary". Each one has its own requirement regarding what to do with the MAC or IP addres

Host: Michael (Microsoft)
Q: Is there any sample in MSDN to send data from one interface to another?
A: There are no NDIS samples that demonstrate how to do this. Furthermore, we are not aware of any MSDN samples that do what you describe.

Moderator: JPerry (Microsoft)
We've got about 5 minutes left....

Host: TAROONM (Microsoft)
Q: Stephan_MVP : Brian: Hmm, doesn't the "wireless zero config" do something similar, i.e. direct traffic to one link or another?
A: No it doesn’t.

Host: Igor (Microsoft)
Q: The passthru driver searches the registry for nic?s when binding.it actually seems to bind for the uninstalled nic( the driver is not signed appears twice , instead of once..) hat is actually happening? What is the work around?Thomas_PCAUSA : I think Raj is asking why two unsigned driver warnings for each NDIS IM binding.
A: Hardeep, at this time we have stipulations but not a definitive answer. We will try to repro this in our lab and investigate the root cause. Depending on the investigation outcome we will follow up through appropriate channels (i.e. KB article, etc).

Host: TAROONM (Microsoft)
Q: Can WZC can tell TCP/IP which link it should use? MAybe that is actually some special implementation for wireless?
A: WZC doesn’t tell TCP/IP which interface to use. TCP/IP determines this information independent of WZC

Moderator: JPerry (Microsoft)
Thanks all, it's been a great chat - we're out of time, though.

Moderator: JPerry (Microsoft)
Check back for our next chat, https://msdn.microsoft.com/chats

Host: alid (Microsoft)
Thanks everyone, it was a pleasure talking to you all. Please let us know if there is any particular NDIS or NIC driver topics you are interested to discuss in future.

For further information on this topic please visit the following:

Windows Drivers Transcripts: Read the archive

Website: Visit the Community Home Page for Windows Platform Development

Top of pageTop of page