Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Win32 and Endace DAG card support. #1366

Open
gvanem opened this issue Oct 9, 2024 · 5 comments
Open

Win32 and Endace DAG card support. #1366

gvanem opened this issue Oct 9, 2024 · 5 comments

Comments

@gvanem
Copy link
Contributor

gvanem commented Oct 9, 2024

Trying to build with -DHAVE_DAG_API on Windows has lot of problems.

  1. First, with Camio's dagapi.h(61):
    fatal error C1189: #error: Could not detect CPU endianness. Please contact <[email protected]> for assistance.
    (which I faked with a -D__x86_64__).

  2. The needed pcap-dag.c file misses a pid_t type for MSVC/clang-cl.

  3. Missing definition:

pcap-dag.c(493,9): error: use of undeclared identifier 'ERF_TYPE_ETH'
  493 |                         case ERF_TYPE_ETH:
      |                              ^
  1. Lots of warnings on mixing char* and u_char*.

  2. And finally:

pcap-dag.c(248,24): error: no member named 'fd' in 'struct pcap'
  248 |         if(dag_stop_stream(p->fd, pd->dag_stream) < 0)
      |                            ~  ^

So what is the point to support DAG cards in pcap-npf.c?
I'm not even sure an Endance/DAG card is even supported on Windows. Not here AFAICS
Time to remove this HAVE_DAG_API code?

@infrastation
Copy link
Member

It would be interesting to see what it looks like in Linux, but I do not have their hardware or the SDK.

@gvanem
Copy link
Contributor Author

gvanem commented Oct 10, 2024

PS. The NapaTech SmartNICs seems to support Windows via some WinPcap-NT driver.
Ref: https://www.napatech.com/products-x/inline-products/nt200a02-smartnic/specs/

These (or some?) can even transmit via WinPcap-NT.

@guyharris
Copy link
Member

I'm not even sure an Endance/DAG card is even supported on Windows.

@sfd: for which platforms is it useful to support DAG cards?

@guyharris
Copy link
Member

The NapaTech SmartNICs seems to support Windows via some WinPcap-NT driver.

The specs from the page you linked to say that the supported OSes are "Linux and Windows" - and that they support "libpcap, WinPcap and DPDK".

According to https://www.napatech.com/products/link-capture-software/ their "Link-Capture™ Software" is supported by:

  • Linux kernel 3.0 – 3.19, 4.0 – 4.18, 5.0 – 5.11 (64-bit)
  • Windows Server 2016 and 2019 (64-bit)

with the supported APIs being:

  • libpcap v. 1.7.3, 1.8.1, 1.9.0 and WinPcap v. 4.1.3
  • DPDK v. 20.11
  • NTAPI (Napatech API)

The page at https://www.napatech.com/support/resources/data-sheets/link-capture-software-for-napatech/ updates that to

  • Linux kernel 3.x, 4.x and 5.x (64-bit)
  • Windows server 2022 (64-bit) and Windows 11 (64-bit)

with

  • libpcap v. 1.8.1, 1.9.1, 1.10.0 and WinPcap v. 4.1.3
  • DPDK v. 21.11 LTS
  • NTAPI (Napatech API)

@napafc, @bkuhre:

  1. Have you modified libpcap to support your adapters? If so, are the modifications available in some repository?
  2. WinPcap is no longer supported, and is based on an older version of libpcap; Npcap is actively being developed and is currently based on, I think, libpcap 1.10.4 (Npcap 1.80 might be based on the recently-released 1.10.5). Would it be possible to support Npcap?

@bkuhre
Copy link

bkuhre commented Oct 10, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants