Questions tagged [ndis]

NDIS is a programming framework for low-level network drivers on Microsoft Windows

Network Driver Interface Specification (NDIS) is a driver development framework on Microsoft Windows. NDIS supports several types of drivers:

  • Network Interface Card (NIC) drivers
  • Layer 2 filter drivers
  • Layer 3 protocol drivers (like IPv6)
  • NIC aggregation drivers (like LBFO, or virtual switches)

Learn more about NDIS on MSDN.

228 questions
2
votes
3 answers

windows driver development

I am new to windows driver development, so please bear with me if my question is being too stupid. Well, I am not sure why, as MSDN suggested and also the way I perceived, the host computer, e.g developing the driver, and the target computer, e.g…
Cong Hui
  • 633
  • 1
  • 13
  • 25
2
votes
2 answers

What is the analogue of an NDIS filter in linux?

I am working on an as close to real-time system as possible in linux and need to send about 600-800 bytes in a TCP packet as soon as I receive a specific packet. For best possible latencies I want this packet to be sent directly from the kernel…
Surojit
  • 1,282
  • 14
  • 26
2
votes
1 answer

WinXPe NDIS 5.1 Device Driver IPv6

Writing WinXPe NDIS 5.1 device driver. Started with Intel E100 driver source from DDK and adapting to Altera triple-speed ethernet core. Receive packet through scatter gather DMA working well, can see good data. Transmit packet through separate…
Frank Natoli
  • 153
  • 1
  • 1
  • 12
2
votes
1 answer

programmatically installing NDIS filter driver

I am trying to write C++ code programmatically installing NDIS 6.0 lightweight filter driver. After reviewing WinDDK, online examples and MSDN documentation I ended up with the code sample below. (Error handling is skipped for clarity) The problem…
glagolig
  • 1,100
  • 1
  • 12
  • 28
1
vote
1 answer

Why does NdisFRegisterFilterDriver return NDIS_STATUS_FAILURE?

I'm trying to write an NDIS Intermediate Filter driver, but I'm stuck before anything at all happens. My code doesn't do anything yet, beyond trying to register the filter driver: NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN…
Kristof Provost
  • 26,018
  • 2
  • 26
  • 28
1
vote
1 answer

Windows: how to spawn threads from (NDIS) kernel driver?

Which function is recommended to spawn a new thread within NDIS5/6 context? Looking for something that is guaranteed to work at IRQL=PASSIVE (e.g. no bsods out of nothing); by a quick examination of ndis.h contents, found nothing. Also, it is…
kagali-san
  • 2,964
  • 7
  • 48
  • 87
1
vote
0 answers

Fatal Error : C1083: Cannot open include file: 'ndis.h': No such file or directory

While building my project in VS2022, this ndis error shows up. I have tried googling but unable to find a proper solution. It was mentioned on official doc that The WDK provides Ndis.h as the main header file for miniport drivers. This file defines…
Kaustubh Dwivedi
  • 418
  • 4
  • 16
1
vote
1 answer

DPC_WATCHDOG_VIOLATION (133/1) Potentially related to NdisFIndicateReceiveNetBufferLists?

We have a NDIS LWF driver, and on a single machine we get a DPC_WATCHDOG_VIOLATION 133/1 bugcheck when they try to connect to their VPN to connect to the internet. This could be related to our NdisFIndicateReceiveNetBufferLists, as the IRQL is…
OneAndOnly
  • 1,048
  • 1
  • 13
  • 33
1
vote
1 answer

Is there a way to read the NET_BUFFER at once?

I made NDIS 6 network filter driver and am reading the packet. When I use Intel I350 NIC, 'MmGetMdlByteCount' returns '9014'bytes. This value is the same as the MTU size, so I can read the data at once. However, when using the x540 NIC,…
Jason
  • 11
  • 2
1
vote
0 answers

KERNEL_SECURITY_CHECK_FAILURE bsod after using NdisFreeNetBufferList?

Some background: We have an NDIS LWF driver that drops received packets, sends them to user-mode service for checking, and user-mode sends packet buffers to our LWF; our LWF then creates an NBL for each packet and then we chain all the created NBLs…
OneAndOnly
  • 1,048
  • 1
  • 13
  • 33
1
vote
1 answer

Access denied when doing "net start ndisprot"

I have compiled the ndisprot sample from the Windows DDK (src\network\ndis\ndisprot\60) for Windows 7 64 bit. I have installed it, but in doing net start ndisprot says system error 5 and access denied. My admin says that I have admin privileges…
Jochen
  • 106
  • 1
  • 3
1
vote
0 answers

Detecting the Ndi\Interfaces LowerRange type of the adapter that we are attaching to in NDIS LWF?

Is there any clean way of detecting what is the type of the Ndi\Interfaces LowerRange of the adapter that we are attaching to in the FilterAttach of NDIS LWF? I guess one dirty way is using the BaseMiniportInstanceName of AttachParameters in the…
OneAndOnly
  • 1,048
  • 1
  • 13
  • 33
1
vote
1 answer

Checksum/CRC reverse engineering of Microsoft NDIS packet

I am trying to decode a 42-byte packet which seems to include 2-byte CRC / checksum field This is a Microsoft NDIS packet (type IPX) which is sent in HLK (WHQL) tests I have decoded most parts of the NDIS header but I can't seem to figure out the…
Amit
  • 165
  • 1
  • 9
1
vote
1 answer

Attach NDIS LWF driver to a Virtual Network Adapter? (Kerio)

We have an NDIS LWF driver, and it seems like it cannot get attached to Virtual Network Adapters, for example the one that Kerio Control VPN client creates (Kerio Virtual Network). When i try to install the NDIS LWF in the network adapter manually…
OneAndOnly
  • 1,048
  • 1
  • 13
  • 33
1
vote
1 answer

IRQL_UNEXPECTED_VALUE BSOD after NdisFIndicateReceiveNetBufferLists?

We have an NDIS LWF driver, and only on very few systems, we get IRQL_UNEXPECTED_VALUE BSOD on the NdisFIndicateReceiveNetBufferLists, But we do not raise or lower IRQL in any part of the code, and the NdisFIndicateReceiveNetBufferLists is called in…
OneAndOnly
  • 1,048
  • 1
  • 13
  • 33