Getting Started Writing a Hyper-V Extensible Switch Extension

A Hyper-V Extensible Switch extension is an NDIS filter or Windows Filtering Platform (WFP) filter that runs inside the Hyper-V Extensible Switch (also called the "Hyper-V virtual switch").

There are 3 classes of extensions: capture, filtering, and forwarding. All of them can be implemented as NDIS filter drivers. Filtering extensions can also be implemented as WFP filter drivers.

For an architectural overview for driver developers, see Overview of the Hyper-V Extensible Switch.

To create a Hyper-V Extensible Switch extension, follow these steps:

  1. Learn the extension architecture and programming model.

  2. Set up your development environment.

  3. Study the sample extensions.

  4. Write your extension.

    • You can use one of the samples as a starting point, port existing filter code, or write your extension from scratch.
    • If you’re developing an NDIS extension, you can use the standard NDIS INF with a few changes as outlined in INF Requirements for Hyper-V Extensible Switch Extensions.
  5. Build your extension and unit-test it.

  6. Learn about the Windows certification (logo) process for getting an extension signed.

  7. Set up your Windows Hardware Certification Kit environment.

  8. Run the WHCK tests for extensions:

    • Filter.Driver.Fundamentals
    • Filter.Driver.Security
    • Filter.Driver.vSwitchExtension
  9. After your final extension passes WHCK certification, submit it to Microsoft.

  10. List your extension on

    • List a brief description of your extension on
    • Information on listing a certified extension on will be available soon.