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

ixgbe-5.22.25 not supported by netmap #969

Open
nolsen42 opened this issue Jan 11, 2025 · 0 comments
Open

ixgbe-5.22.25 not supported by netmap #969

nolsen42 opened this issue Jan 11, 2025 · 0 comments

Comments

@nolsen42
Copy link

nolsen42 commented Jan 11, 2025

Latest ixgbe version provided by intel is 5.22.25, which is not available on sourceforge since intel moved to their own github repo. Even if you manually download the file and set the version with --select-version=ixgbe:5.22.25, it will fail during make because its missing the patch file needed.

If you use latest ixgbe version available on netmap, which is 5.20.10, it will not compile on my machine. I am running 6.8.0-51-generic as my kernel.

tar xf /home/nolsen/netmap/LINUX/ext-drivers/ixgbe-5.20.10.tar.gz && ln -s ixgbe-5.20.10/src ixgbe
patch --quiet --force -p1 < patches/intel--ixgbe--5.20.10;
touch get-ixgbe
make -C /lib/modules/6.8.0-51-generic/build M=/home/nolsen/netmap EXTRA_CFLAGS='-I/home/nolsen/netmap -I/home/nolsen/netmap/LINUX -I/home/nolsen/netmap/LINUX/../sys -I/home/nolsen/netmap/LINUX/../sys/dev -DCONFIG_NETMAP -Wno-unused-but-set-variable -Wno-attributes -Wno-packed-not-aligned -Wno-stringop-truncation -Wno-missing-attributes -Wno-format-truncation -Wno-maybe-uninitialized -Wno-unused-variable -Wno-unused-label -Wno-implicit-fallthrough -Wno-enum-int-mismatch -Wno-missing-prototypes -g -DCONFIG_NETMAP_NULL -DCONFIG_NETMAP_PTNETMAP -DCONFIG_NETMAP_GENERIC -DCONFIG_NETMAP_MONITOR -DCONFIG_NETMAP_PIPE -DCONFIG_NETMAP_VALE'  modules CONFIG_NETMAP=m  O_DRIVERS="" NETMAP_DRIVER_SUFFIX=
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-51-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
  You are using:           gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
  CC [M]  /home/nolsen/netmap/netmap_mem2.o
  CC [M]  /home/nolsen/netmap/netmap_mbq.o
  CC [M]  /home/nolsen/netmap/netmap_legacy.o
  CC [M]  /home/nolsen/netmap/netmap_bdg.o
  CC [M]  /home/nolsen/netmap/netmap_kloop.o
  CC [M]  /home/nolsen/netmap/netmap_vale.o
  CC [M]  /home/nolsen/netmap/netmap_offloadings.o
  CC [M]  /home/nolsen/netmap/netmap_pipe.o
  CC [M]  /home/nolsen/netmap/netmap_monitor.o
  CC [M]  /home/nolsen/netmap/netmap_generic.o
  CC [M]  /home/nolsen/netmap/netmap_null.o
  CC [M]  /home/nolsen/netmap/netmap_common.o
  CC [M]  /home/nolsen/netmap/netmap_linux.o
  CC [M]  /home/nolsen/netmap/netmap_ptnet.o
  LD [M]  /home/nolsen/netmap/netmap.o
  MODPOST /home/nolsen/netmap/Module.symvers
  CC [M]  /home/nolsen/netmap/netmap.mod.o
  LD [M]  /home/nolsen/netmap/netmap.ko
  BTF [M] /home/nolsen/netmap/netmap.ko
Skipping BTF generation for /home/nolsen/netmap/netmap.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-51-generic'
KBUILD_EXTRA_SYMBOLS=/home/nolsen/netmap/Module.symvers; export KBUILD_EXTRA_SYMBOLS; make -C ixgbe CFLAGS_EXTRA="-Wno-unused-but-set-variable -Wno-attributes -Wno-packed-not-aligned -Wno-stringop-truncation -Wno-missing-attributes -Wno-format-truncation -Wno-maybe-uninitialized -Wno-unused-variable -Wno-unused-label -Wno-implicit-fallthrough -Wno-enum-int-mismatch -Wno-missing-prototypes -I/home/nolsen/netmap -I/home/nolsen/netmap/LINUX -I/home/nolsen/netmap/LINUX/../sys -I/home/nolsen/netmap/LINUX/../sys/dev -DCONFIG_NETMAP -Wno-unused-but-set-variable -Wno-attributes -Wno-packed-not-aligned -Wno-stringop-truncation -Wno-missing-attributes -Wno-format-truncation -Wno-maybe-uninitialized -Wno-unused-variable -Wno-unused-label -Wno-implicit-fallthrough -Wno-enum-int-mismatch -Wno-missing-prototypes -g -DCONFIG_NETMAP_NULL -DCONFIG_NETMAP_PTNETMAP -DCONFIG_NETMAP_GENERIC -DCONFIG_NETMAP_MONITOR -DCONFIG_NETMAP_PIPE -DCONFIG_NETMAP_VALE"  NETMAP_DRIVER_SUFFIX= KSRC=/lib/modules/6.8.0-51-generic/build KBUILD_EXTRA_SYMBOLS=/home/nolsen/netmap/Module.symvers
make[1]: Entering directory '/home/nolsen/netmap/ixgbe-5.20.10/src'
*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but
*** the signing key cannot be found. Module signing has been
*** disabled for this build.
make[2]: Entering directory '/usr/src/linux-headers-6.8.0-51-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
  You are using:           gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
  CC [M]  /home/nolsen/netmap/ixgbe-5.20.10/src/ixgbe_main.o
In file included from /home/nolsen/netmap/ixgbe-5.20.10/src/ixgbe_main.c:795:
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:65:2: error: #error "unsupported ixgbe driver version"
   65 | #error "unsupported ixgbe driver version"
      |  ^~~~~
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h: In function ‘ixgbe_netmap_txsync’:
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:85:41: error: initialization of ‘struct ixgbe_ring *’ from incompatible pointer type ‘struct ixgbe_ring **’ [-Werror=incompatible-pointer-types]
   85 | #define NM_IXGBE_TX_RING(a, r)          (&(a)->tx_ring[(r)])
      |                                         ^
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:288:37: note: in expansion of macro ‘NM_IXGBE_TX_RING’
  288 |         struct NM_IXGBE_RING *txr = NM_IXGBE_TX_RING(adapter, ring_nr);
      |                                     ^~~~~~~~~~~~~~~~
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:336:57: error: implicit declaration of function ‘NM_IXGBE_TX_DESC’; did you mean ‘IXGBE_TX_DESC’? [-Werror=implicit-function-declaration]
  336 |                         union ixgbe_adv_tx_desc *curr = NM_IXGBE_TX_DESC(txr, nic_i);
      |                                                         ^~~~~~~~~~~~~~~~
      |                                                         IXGBE_TX_DESC
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:336:57: warning: initialization of ‘union ixgbe_adv_tx_desc *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:381:46: warning: assignment to ‘union ixgbe_adv_tx_desc *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  381 |                                         curr = NM_IXGBE_TX_DESC(txr, nic_i);
      |                                              ^
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h: In function ‘ixgbe_netmap_rxsync’:
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:86:41: error: initialization of ‘struct ixgbe_ring *’ from incompatible pointer type ‘struct ixgbe_ring **’ [-Werror=incompatible-pointer-types]
   86 | #define NM_IXGBE_RX_RING(a, r)          (&(a)->rx_ring[(r)])
      |                                         ^
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:527:37: note: in expansion of macro ‘NM_IXGBE_RX_RING’
  527 |         struct NM_IXGBE_RING *rxr = NM_IXGBE_RX_RING(adapter, ring_nr);
      |                                     ^~~~~~~~~~~~~~~~
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:559:57: error: implicit declaration of function ‘NM_IXGBE_RX_DESC’; did you mean ‘IXGBE_RX_DESC’? [-Werror=implicit-function-declaration]
  559 |                         union ixgbe_adv_rx_desc *curr = NM_IXGBE_RX_DESC(rxr, nic_i);
      |                                                         ^~~~~~~~~~~~~~~~
      |                                                         IXGBE_RX_DESC
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:559:57: warning: initialization of ‘union ixgbe_adv_rx_desc *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:618:57: warning: initialization of ‘union ixgbe_adv_rx_desc *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  618 |                         union ixgbe_adv_rx_desc *curr = NM_IXGBE_RX_DESC(rxr, nic_i);
      |                                                         ^~~~~~~~~~~~~~~~
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h: In function ‘ixgbe_netmap_configure_rx_ring’:
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:86:41: error: initialization of ‘struct ixgbe_ring *’ from incompatible pointer type ‘struct ixgbe_ring **’ [-Werror=incompatible-pointer-types]
   86 | #define NM_IXGBE_RX_RING(a, r)          (&(a)->rx_ring[(r)])
      |                                         ^
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:724:38: note: in expansion of macro ‘NM_IXGBE_RX_RING’
  724 |         struct NM_IXGBE_RING *ring = NM_IXGBE_RX_RING(adapter, ring_nr);
      |                                      ^~~~~~~~~~~~~~~~
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:745:49: warning: initialization of ‘union ixgbe_adv_rx_desc *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  745 |                 union ixgbe_adv_rx_desc *curr = NM_IXGBE_RX_DESC(ring, i);
      |                                                 ^~~~~~~~~~~~~~~~
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h: In function ‘ixgbe_netmap_attach’:
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:903:54: error: ‘adapter->tx_ring[0]’ is a pointer; did you mean to use ‘->’?
  903 |         na.num_tx_desc = NM_IXGBE_TX_RING(adapter, 0)->count;
      |                                                      ^~
      |                                                      ->
/home/nolsen/netmap/LINUX/ixgbe_netmap_linux.h:904:54: error: ‘adapter->rx_ring[0]’ is a pointer; did you mean to use ‘->’?
  904 |         na.num_rx_desc = NM_IXGBE_RX_RING(adapter, 0)->count;
      |                                                      ^~
      |                                                      ->
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:243: /home/nolsen/netmap/ixgbe-5.20.10/src/ixgbe_main.o] Error 1
make[3]: *** [/usr/src/linux-headers-6.8.0-51-generic/Makefile:1925: /home/nolsen/netmap/ixgbe-5.20.10/src] Error 2
make[2]: *** [Makefile:240: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-6.8.0-51-generic'
make[1]: *** [Makefile:107: default] Error 2
make[1]: Leaving directory '/home/nolsen/netmap/ixgbe-5.20.10/src'
make: *** [netmap.mak:87: build-ixgbe] Error 2```

So I am pretty much going nowhere with this, and cannot use netmap at all.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant