Ethernet Products
Determine ramifications of Intel® Ethernet products and technologies
4972 Discussions

Unable to compile driver xgbe 5.19.6 on Debian 11 Bullseye kernel 5.10.0-25 (5.10.191-1)

tmartin
Beginner
4,050 Views

Hello,

I am not able to compile this driver on Debian Bullseye.

It worked with the previous kernel release 5.10.0-24 (5.10.179-5).

 

Here is the error I'm having:

 

make[1]: Entering directory '/home/builder/packaging/debian-bullseye/ixgbe/ixgbe-5.19.6/src'
filtering include/net/flow_keys.h out
filtering include/linux/jump_label_type.h out
filtering include/linux/jump_label_type.h out
make[2]: Entering directory '/usr/src/linux-headers-5.10.0-25-common'
make[3]: Entering directory '/usr/src/linux-headers-5.10.0-25-amd64'
CC [M] /home/builder/packaging/debian-bullseye/ixgbe/ixgbe-5.19.6/src/ixgbe_main.o
In file included from /usr/src/linux-headers-5.10.0-25-common/include/linux/export.h:43,
from /usr/src/linux-headers-5.10.0-25-common/include/linux/linkage.h:7,
from /usr/src/linux-headers-5.10.0-25-common/include/linux/kernel.h:8,
from /usr/src/linux-headers-5.10.0-25-common/include/linux/list.h:9,
from /usr/src/linux-headers-5.10.0-25-common/include/linux/module.h:12,
from /home/builder/packaging/debian-bullseye/ixgbe/ixgbe-5.19.6/src/ixgbe_main.c:8:
/home/builder/packaging/debian-bullseye/ixgbe/ixgbe-5.19.6/src/ixgbe_main.c: In function ‘ixgbe_atr’:
/home/builder/packaging/debian-bullseye/ixgbe/ixgbe-5.19.6/src/ixgbe_main.c:9872:9: error: ‘VXLAN_HEADROOM’ undeclared (first use in this function); did you mean ‘VXLAN_HF_RCO’?
9872 | VXLAN_HEADROOM))
| ^~~~~~~~~~~~~~
/usr/src/linux-headers-5.10.0-25-common/include/linux/compiler.h:78:42: note: in definition of macro ‘unlikely’
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
/home/builder/packaging/debian-bullseye/ixgbe/ixgbe-5.19.6/src/ixgbe_main.c:9872:9: note: each undeclared identifier is reported only once for each function it appears in
9872 | VXLAN_HEADROOM))
| ^~~~~~~~~~~~~~
/usr/src/linux-headers-5.10.0-25-common/include/linux/compiler.h:78:42: note: in definition of macro ‘unlikely’
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
make[4]: *** [/usr/src/linux-headers-5.10.0-25-common/scripts/Makefile.build:291: /home/builder/packaging/debian-bullseye/ixgbe/ixgbe-5.19.6/src/ixgbe_main.o] Error 1
make[3]: *** [/usr/src/linux-headers-5.10.0-25-common/Makefile:1856: /home/builder/packaging/debian-bullseye/ixgbe/ixgbe-5.19.6/src] Error 2
make[3]: Leaving directory '/usr/src/linux-headers-5.10.0-25-amd64'
make[2]: *** [Makefile:192: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-5.10.0-25-common'
make[1]: *** [Makefile:100: default] Error 2
make[1]: Leaving directory '/home/builder/packaging/debian-bullseye/ixgbe/ixgbe-5.19.6/src'
make: *** [debian/rules:67: install] Error 2

 

Can you help me ?

This is the latest kernel release on Debian 11.

 

Thanks.

0 Kudos
12 Replies
tmartin
Beginner
3,988 Views

Does anyone on Debian 11 encountered this problem ?

0 Kudos
Fariz_Intel
Employee
3,964 Views

Hi tmartin,

 

We understand that you are using the ixgbe-5.19.6 driver. May I know the model of your Intel NIC? Is it an adapter or onboard?

 

After checking the errors, it appears that there are a few repetitive errors, such as 'undeclared' and errors from header files.

 

Indeed, the ixgbe-5.19.6 driver is supported on Debian 11; however, it may not have been fully tested in all scenarios.

 

Considering it was working on the previous kernel version 5.10.0-24, it's possible that this issue might be related to the latest kernel version, 5.10.0-25. Perhaps there is an issue with the header files since it's showing the error:

'VXLAN_HEADROOM' undeclared (first use in this function); did you mean 'VXLAN_HF_RCO'? 9872 | VXLAN_HEADROOM)).

 

If there's a way for us to share this error with the Debian Linux team, we might be able to gather more information. We welcome your input on this matter.

 

You may want to check the external link below, which suggests an alternative method for recompiling the driver.

 

https://www.xmodulo.com/build-kernel-module-dkms-linux.html

 

If you have any additional questions or need further clarification, please feel free to let us know.

 

 

Best regards,

Fariz_Intel


0 Kudos
tmartin
Beginner
3,948 Views

Hi Fariz,

 

thanks for your input on this issue.

 

we use this driver for 10G X510T Ethernet controllers and Ethernet 10G 2P X520 Adapters but do not build on the machines using them.

 

Indeed , it seems to have something to do with this new kernel.

 

I have posted this issue to the e1000-devel mailing list as well and even older versions do not compile.

https://sourceforge.net/p/e1000/mailman/e1000-devel/thread/CAMdTb%2Bex3s%3DjPc5yPeH7ObOpd4wByvDGr29%2BVKWhMT-nr5cgig%40mail.gmail.com/#msg37892524

 

As for dkms, the issue is the same it won't compile with the same errors.

 

Do you need more information in order to reach the debian team ?

 

Thanks again.

 

 

 

0 Kudos
JoohnH
Beginner
3,618 Views

Hi,

I also have this problem after upgrading my Debian 11 kernel. Has anyone got a fix for this?

 

Linux filter 5.10.0-26-amd64 #1 SMP Debian 5.10.197-1 (2023-09-29) x86_64 GNU/Linux

 

/usr/local/src/ixgbe-5.19.6/src/ixgbe_main.c:9872:9: error: ‘VXLAN_HEADROOM’ undeclared (first use in this function); did you mean ‘VXLAN_HF_RCO’?

 

This is also a problem with earlier drivers - i tried 5.15.2 I had available and the same error occurred. Anyone have a fix for this?

 

Thanks,

 

John

0 Kudos
rafal-krypa
Beginner
3,480 Views

The problem seems to be caused by this change in the Linux kernel source: vxlan: calculate correct header length for GPE.

After finding this, I have made the following change to the ixgbe driver code, which seems to fix the problem:

 

diff -urN ixgbe-5.19.6.orig/src/ixgbe_main.c ixgbe-5.19.6/src/ixgbe_main.c
--- ixgbe-5.19.6.orig/src/ixgbe_main.c  2023-10-24 12:36:37.360629830 +0200
+++ ixgbe-5.19.6/src/ixgbe_main.c       2023-10-24 12:39:15.120760559 +0200
@@ -9869,7 +9869,11 @@
                struct ixgbe_adapter *adapter = q_vector->adapter;

                if (unlikely(skb_tail_pointer(skb) < hdr.network +
+#ifdef VXLAN_HEADROOM
                             VXLAN_HEADROOM))
+#else
+                            vxlan_headroom(0)))
+#endif
                        return;

                /* verify the port is recognized as VXLAN or GENEVE*/

 

0 Kudos
Fariz_Intel
Employee
3,368 Views

Hi tmartin,


We apologize for the late response.


We have had no luck reaching the Debian team, and we are unsure about the proper channel for Debian issues.


However, it appears that a fellow community member has figured out the problem, and we greatly appreciate their sharing of this information. Other community members may also join in and share their insights on this topic.


If you need any additional information, please submit a new question, as this thread will no longer be monitored.



Best regards,

Fariz_Intel


0 Kudos
JoohnH
Beginner
3,344 Views

Based on the above, this sounds like it needs an Intel driver change is needed to take this into account? Presumably this is not a Debian only problem, but it may only be witnessed there if other distro's aren't using this kernel / haven't taken this patch.

 

Thanks,

 

John

0 Kudos
HoneyNutz
Beginner
2,715 Views

@Fariz_Intel will intel be including the fix posted above --- the latest driver similarly doe not work for me when building on debian (or more specifically proxmox)

0 Kudos
HoneyNutz
Beginner
2,716 Views

So Intel -- will you be providing a fix for this driver issue?  A community member has resolved the issue, but it seems there is no word on if it will be included in an update

0 Kudos
rafal-krypa
Beginner
224 Views

Although there was no status on this issue from Intel, I can see that the fix has indeed been applied in the latest ixgbe driver versions 5.19.9 and 5.20.3.

0 Kudos
HoneyNutz
Beginner
221 Views

thank you for the update! Its been a while since i gave up with this -- I will give this another shot

0 Kudos
JoohnH
Beginner
194 Views

Thanks for the notice! I have downloaded and tested this and it is indeed now working with the kernel 5.10.0-26-amd64 which it wouldn't compile with before. Great news! 

 

john

0 Kudos
Reply