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

Unable to compile i40e driver in Ubuntu 18.04.5 for an Intel X710 Dual 10 GB NIC

Pakito
Novice
5,741 Views

Hi There,

 

I am trying to compile the i40e driver for an Intel X710 Dual 10 GbE Card.

See below details: 

OS: Ubuntu 18.04.5 LTS

Kernel Version:4.15.0-159-generic

Intel Driver versions I have tried to install: i40e-2.11.25 ,i40e-2.16.11

I have SRIOV, IOMMU and NUMA topology on the BIOS /grub.

The server Manufacturer is Dell R440

 

See below PCI info:

 

driver: i40e

version: 2.1.14-k

firmware-version: 8.15 0x800096c1 20.0.17

expansion-rom-version: 

bus-info: 0000:3b:00.0

supports-statistics: yes

supports-test: yes

supports-eeprom-access: yes

supports-register-dump: yes

supports-priv-flags: yes

 

iproute2 version:  5.8.0

 

We also upgraded the Intel X710 NVM version from v7.0 to v8.15 with the same result.

 

See below error when compiling the i40 e driver:

root@sub-sandvine01:/root# cd i40e-2.11.25/src

root@sub-sandvine01:/root/i40e-2.11.25/src# make install

make[1]: Entering directory '/usr/src/linux-headers-4.15.0-159-generic'

  CC [M]  /root/i40e-2.11.25/src/i40e_main.o

In file included from /root/i40e-2.11.25/src/i40e.h:33:0,

                 from /root/i40e-2.11.25/src/i40e_main.c:8:

/root/i40e-2.11.25/src/kcompat.h:6796:28: error: redefinition of ‘skb_frag_off

 static inline unsigned int skb_frag_off(const skb_frag_t *frag)

                            ^~~~~~~~~~~~

In file included from ./include/linux/tcp.h:21:0,

                 from ./include/net/tcp.h:24,

                 from /root/i40e-2.11.25/src/i40e.h:7,

                 from /root/i40e-2.11.25/src/i40e_main.c:8:

./include/linux/skbuff.h:2763:28: note: previous definition of ‘skb_frag_off’ was here

 static inline unsigned int skb_frag_off(const skb_frag_t *frag)

                            ^~~~~~~~~~~~

scripts/Makefile.build:333: recipe for target '/root/i40e-2.11.25/src/i40e_main.o' failed

make[2]: *** [/root/i40e-2.11.25/src/i40e_main.o] Error 1

Makefile:1590: recipe for target '_module_/root/i40e-2.11.25/src' failed

make[1]: *** [_module_/root/i40e-2.11.25/src] Error 2

make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-159-generic'

Makefile:69: recipe for target 'default' failed

make: *** [default] Error 2

 

 

Are you able to assist ? Thanks. 

 

Labels (1)
0 Kudos
6 Replies
Mike_Intel
Moderator
5,700 Views

Hello Pakito,


Thank you for posting in Intel Ethernet Communities. 


For us to further check the issue, please provide the following details.


Kindly provide us with a brief detailed description of what you wish you to accomplish. From the initial entry it seems like this would be a driver compilation for the Intel® Ethernet Converged Network Adapter XL710, however more details are required. Please provide the markings for your network adapter or provide a photo of your network card on both sides for us to validate if it belongs to a Retail version, or an OEM (Original Equipment Manufacturer).


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days. Thank you.


Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
Pakito
Novice
5,657 Views

Hi Michael ,

 

Correct we are trying to compile the driver for the Intel X710 dual port 10 GbE.

I am unable to get a photo of the Intel card, how can I get the markings on the card?

 

Regards,

 

Francisco

0 Kudos
Mike_Intel
Moderator
5,649 Views

Hello Pakito,


Thank you for the quick reply. By the way, are you using a program to compile the driver? If yes, please tell us.


If you cannot get the markings, let us try getting the markings via ssu logs. Kindly download the utility below:


https://www.intel.com/content/www/us/en/download/18895/intel-system-support-utility-for-the-linux-operating-system.html?wapkw=ssu


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days. Thank you.


Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
Mike_Intel
Moderator
5,543 Views

Hello Pakito,


I hope you enjoyed your weekend. I am just making a follow up on the ssu for us to check the card.


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days. Thank you.


Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
RistoVF
Beginner
5,464 Views

Hi all,

I have a similar situation when I upgraded my kernel on Debian from 4.19.0-17 (4.19.194) to 4.19.0-18 (4.19.208). In between those versions (4.19.201) skb_frag_off function was added in the kernel /usr/src/linux-headers-4.19.0-18-common/include/linux/skbuff.h file (https://yhbt.net/lore/all/20210802134334.892201802@linuxfoundation.org/t/)

 

The i40e driver has a check:
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,4,0))
in src/kcompat_std_defs.h that causes the conflicting function to be included.
Checked in: https://www.intel.com/content/www/us/en/download/18026/intel-network-adapter-driver-for-pcie-40-gigabit-ethernet-network-connections-under-linux.html

There is no need for a network card to be present to make this error appear—you only need to run "make" in the driver src folder when the updated kernel is loaded.

Basically you should update the driver package to check the kernel version in a way that it notices the kernels that have the functions built-in and do not need NEED_SKB_FRAG_OFF_ACCESSORS anymore. I was able to compile the driver after I undefined the   NEED_SKB_FRAG_OFF_ACCESSORS.

 

BR,

Risto

0 Kudos
Mike_Intel
Moderator
5,447 Views

Hello Pakito,


I am just sending another follow up on the information that I requested. 

Since we have not heard back from you, I need to close this inquiry. 


If you need further assistance, please post a new question. 


Hello RistoVF,


For us to check your inquiry and gather the needed details, please post a new question to create a separate thread.


Thank you and stay safe.


Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
Reply