summaryrefslogtreecommitdiff
path: root/cmake/dependencies/eth/netmap.cmake
blob: b31c4d036e3c97137fdeabe9777aa2339b5ffb34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# netmap support (kernel bypass). Explicit opt-in.
find_path(NETMAP_C_INCLUDE_DIR
  net/netmap_user.h
  HINTS /usr/include /usr/local/include)

mark_as_advanced(NETMAP_C_INCLUDE_DIR)

set(ENABLE_NETMAP FALSE CACHE BOOL
  "Use netmap for Ethernet PoAs, overriding raw sockets or BPF")

if(ENABLE_NETMAP)
  if(NOT NETMAP_C_INCLUDE_DIR)
    message(FATAL_ERROR "ENABLE_NETMAP is set, but netmap was not found.")
  endif()

  message(STATUS "Netmap support for Ethernet PoAs enabled")

  set(HAVE_NETMAP TRUE)

  unset(HAVE_RAW_SOCKETS)
  unset(HAVE_BPF)
endif()