Vadim Smirnov

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 1,509 total)
  • Author
    Posts
  • in reply to: slow 10GBE and windows driver #14327
    Vadim Smirnov
    Keymaster

      I have tested the driver with several 10 Gbps network adapters and have not observed any noticeable performance degradation. One example is the Broadcom P210tep NetXtreme-E dual-port 10GBASE-T PCIe adapter.

      However, 10 Gbps networking is still relatively niche, and hardware and driver implementations can vary significantly. To provide a universal packet-processing interface, Windows Packet Filter disables NIC task offloading features; jumbo frames are just the most commonly discussed example. This may affect different network adapters and their drivers in different ways.

      The drop from 10 Gbps to 1.7 Gbps is unusually large, so the issue may be specific to the Marvell AQtion AQC113 driver or its interaction with other network filters installed on the system.

      in reply to: slow 10GBE and windows driver #14321
      Vadim Smirnov
      Keymaster

        Please check the topic below:

        Speed issue

        in reply to: Speed issue #14293
        Vadim Smirnov
        Keymaster

          This is probably related to Jumbo Frames. Some hardware can reach 10 Gbps only when Jumbo Frames are enabled, while the standard Windows Packet Filter driver build limits the maximum Ethernet frame size to 1514 bytes:

          #ifdef JUMBO_FRAME_SUPPORTED
          #define MAX_ETHER_FRAME 9014
          #else
          #define MAX_ETHER_FRAME 1514
          #endif

          So, even if no sample application is running, installing the standard driver may affect throughput on such hardware.

          To enable Jumbo Frame support, the driver has to be rebuilt with JUMBO_FRAME_SUPPORTED defined.

          Vadim Smirnov
          Keymaster

            If AutoHotkey lets you run a command-line action when the app is closed, you can use the CLI utility to disconnect the tunnel.

            Vadim Smirnov
            Keymaster

              This is expected behavior.

              The VPN  connection is managed by a background service that does not depend on the UI. On normal exit, the UI sends a disconnect command to the service before closing.

              If the UI process is force-killed, for example via AutoHotKey or Task Manager, it cannot send that command, so the service keeps running and the VPN tunnel stays connected.

              So disconnect on exit works for normal exits, but not when the UI is forcibly terminated.

              Vadim Smirnov
              Keymaster

                Have you enabled Disconnect VPN when app closes option? What options do you have enabled under Startup & Auto-Connect?

                Vadim Smirnov
                Keymaster

                  Could you please clarify what version of WSC do you use?

                  in reply to: Using WinpkFilter for UDP receiving #14265
                  Vadim Smirnov
                  Keymaster

                    Примера нет, но WireSock работает схожим образом. Для Wireguard тоннеля он не прогоняет UDP пакеты через TCP/IP stack, а отправляет их напрямую в сеть и так же забирает из сети. Это дает чувствительный выигрыш в скорости.

                    in reply to: Using WinpkFilter for UDP receiving #14263
                    Vadim Smirnov
                    Keymaster

                      WinpkFilter использует похожий NDIS-фильтр-драйвер, что и Wireshark. Поэтому если Wireshark видит трафик с потерями, то WinpkFilter будет видеть его точно так же.

                      Можно попробовать альтернативный вариант: отправлять пакеты напрямую из WinpkFilter, в обход сетевого стека, и таким же образом принимать их.

                      in reply to: Regarding compatibility issues between lib and sys #14128
                      Vadim Smirnov
                      Keymaster

                        Even though the major version (3) matches, the jump in the minor version (from 3.2/3.4 to 3.6) usually means changes in the driver interface. So 3.2.x or 3.4.x libraries aren’t guaranteed to work with a 3.6.x sys file. It’s best to keep both at the same major.minor version (e.g. 3.6.x with 3.6.x) to avoid compatibility issues.

                        Vadim Smirnov
                        Keymaster

                          Dear Roshan,

                          Thank you for your interest — I’m glad to hear you’re ready to proceed with the purchase.
                          To answer your questions:

                          • Yes, you will receive the full source code and the static .lib file immediately after payment. The delivery is handled manually but typically within a few hours at most.
                          • Yes, redistribution of the SDK inside your own EXE is legally allowed under the Source Code license.
                          • As mentioned, the delivery process is manual, but prompt — you’ll receive everything by email shortly after your purchase is confirmed.
                          • At the moment, we do not offer Telegram or WhatsApp support channels, but I provide direct email support and am usually very responsive.

                          For ongoing development support, we can also arrange alternative contact methods if needed.

                          in reply to: adding functional code in kernel mode #14050
                          Vadim Smirnov
                          Keymaster

                            All information about the Windows Packet Filter source code license is available at:

                            👉 https://www.ntkernel.com/windows-packet-filter/licensing/

                            This page provides details on licensing options, pricing, and what’s included with the source code package.

                            in reply to: adding functional code in kernel mode #14048
                            Vadim Smirnov
                            Keymaster

                              Thank you for your interest in the Windows Packet Filter. The driver’s source code is available for purchase for those who need to extend or customize its functionality in kernel mode.

                              in reply to: Please help me about ndisapi.pas for delphi #14046
                              Vadim Smirnov
                              Keymaster

                                Hi,

                                Thanks for your interest in the NDISAPI project — I’m glad to hear you’re experimenting with it in Delphi.

                                The Delphi interface unit is actually named winpkf.pas, and it’s available in the repository here:

                                https://github.com/wiresock/ndisapi/blob/master/examples/legacy/Delphi/winpkf.pas

                                It looks like this file was last updated around version 3.4 of the driver, so depending on what features you’re planning to use, it might require some updates to match the current API.

                                If you do end up updating or improving the unit, feel free to submit a pull request — contributions are always welcome!

                                in reply to: При установке WinpkFilter-BSOD #14042
                                Vadim Smirnov
                                Keymaster

                                  Спасибо, что проверили. Жаль, что воспроизведение пропало. Возможно, это связано с незаметным обновлением драйверов. Проблема была не в карте Realtek — «затёртый» OID, на котором происходил сбой, шёл через сетевой интерфейс, эмулированный поверх Bluetooth. Однако отключение карты всё же могло повлиять на воспроизведение, поскольку, по всей видимости, имело место состояние гонки (race condition).

                                Viewing 15 posts - 1 through 15 (of 1,509 total)