Embedded Connectivity
Intel network controllers, Firmware, and drivers support systems
883 Discussions

Fail to compile and install ixgbe 5.19.6 driver on IBM PowerLinux

CharlesMR
Beginner
1,029 Views

When compiling and installing the ixgbe 5.19.6 driver for Ethernet Controller 82599 network card on IBM PowerLinux, the following error message is encountered:

make[1]: Entering directory `/usr/src/kernels/4.14.0-115.el7a.0.1.ppc64le'
CC [M] /root/ixgbe-5.19.6/src/ixgbe_main.o
In file included from /root/ixgbe-5.19.6/src/ixgbe_osdep.h:16:0,
from /root/ixgbe-5.19.6/src/ixgbe_type.h:45,
from /root/ixgbe-5.19.6/src/ixgbe_dcb.h:7,
from /root/ixgbe-5.19.6/src/ixgbe.h:24,
from /root/ixgbe-5.19.6/src/ixgbe_main.c:31:
/root/ixgbe-5.19.6/src/kcompat.h:6908:8: error: unknown type name ‘tc_setup_cb_t’
tc_setup_cb_t *cb,
^
/root/ixgbe-5.19.6/src/ixgbe_main.c: In function ‘__ixgbe_setup_tc’:
/root/ixgbe-5.19.6/src/ixgbe_main.c:11337:7: error: ‘TC_SETUP_BLOCK’ undeclared (first use in this function)
case TC_SETUP_BLOCK:
^
/root/ixgbe-5.19.6/src/ixgbe_main.c:11337:7: note: each undeclared identifier is reported only once for each function it appears in
/root/ixgbe-5.19.6/src/ixgbe_main.c:11338:3: error: implicit declaration of function ‘_kc_flow_block_cb_setup_simple’ [-Werror=implicit-function-declaration]
return flow_block_cb_setup_simple(type_data,
^
/root/ixgbe-5.19.6/src/ixgbe_main.c:11349:7: error: ‘TC_SETUP_QDISC_MQPRIO’ undeclared (first use in this function)
case TC_SETUP_QDISC_MQPRIO:
^
/root/ixgbe-5.19.6/src/ixgbe_main.c: At top level:
/root/ixgbe-5.19.6/src/ixgbe_main.c:12256:2: error: unknown field ‘ndo_size’ specified in initializer
.ndo_size = sizeof(const struct net_device_ops),
^
/root/ixgbe-5.19.6/src/ixgbe_main.c:12256:35: warning: initialization makes pointer from integer without a cast [enabled by default]
.ndo_size = sizeof(const struct net_device_ops),
^
/root/ixgbe-5.19.6/src/ixgbe_main.c:12256:35: warning: (near initialization for ‘ixgbe_netdev_ops.ndo_set_config’) [enabled by default]
/root/ixgbe-5.19.6/src/ixgbe_main.c:12261:2: error: unknown field ‘extended’ specified in initializer
.extended.ndo_set_vf_vlan = ixgbe_ndo_set_vf_vlan,
^
/root/ixgbe-5.19.6/src/ixgbe_main.c:12281:2: error: unknown field ‘extended’ specified in initializer
.extended.ndo_set_vf_trust = ixgbe_ndo_set_vf_trust,
^
/root/ixgbe-5.19.6/src/ixgbe_main.c:12281:2: warning: initialization from incompatible pointer type [enabled by default]
/root/ixgbe-5.19.6/src/ixgbe_main.c:12281:2: warning: (near initialization for ‘ixgbe_netdev_ops.ndo_setup_tc’) [enabled by default]
/root/ixgbe-5.19.6/src/ixgbe_main.c:12345:2: error: unknown field ‘extended’ specified in initializer
.extended.ndo_udp_tunnel_add = ixgbe_add_udp_tunnel_port,
^
/root/ixgbe-5.19.6/src/ixgbe_main.c:12345:2: warning: initialization from incompatible pointer type [enabled by default]
/root/ixgbe-5.19.6/src/ixgbe_main.c:12345:2: warning: (near initialization for ‘ixgbe_netdev_ops.ndo_bridge_dellink’) [enabled by default]
/root/ixgbe-5.19.6/src/ixgbe_main.c:12346:2: error: unknown field ‘extended’ specified in initializer
.extended.ndo_udp_tunnel_del = ixgbe_del_udp_tunnel_port,
^
/root/ixgbe-5.19.6/src/ixgbe_main.c:12346:2: warning: initialization from incompatible pointer type [enabled by default]
/root/ixgbe-5.19.6/src/ixgbe_main.c:12346:2: warning: (near initialization for ‘ixgbe_netdev_ops.ndo_change_carrier’) [enabled by default]
cc1: some warnings being treated as errors
make[2]: *** [/root/ixgbe-5.19.6/src/ixgbe_main.o] Error 1
make[1]: *** [_module_/root/ixgbe-5.19.6/src] Error 2
make[1]: Leaving directory `/usr/src/kernels/4.14.0-115.el7a.0.1.ppc64le'
make: *** [default] Error 2

The following is the relevant configuration information of the current system:

# lscpu
Architecture: ppc64le
Byte Order: Little Endian
CPU(s): 128
On-line CPU(s) list: 0-127
Thread(s) per core: 4
Core(s) per socket: 16
Socket(s): 2
NUMA node(s): 2
Model: 2.1 (pvr 004e 1201)
Model name: POWER9, altivec supported
CPU max MHz: 3400.0000
CPU min MHz: 1833.0000
L1d cache: 32K
L1i cache: 32K
L2 cache: 512K
L3 cache: 10240K
NUMA node0 CPU(s): 0-63
NUMA node8 CPU(s): 64-127
# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (AltArch)
# uname -r
4.14.0-115.el7a.0.1.ppc64le
# rpm -qa |grep kernel
kernel-tools-4.14.0-115.el7a.0.1.ppc64le
abrt-addon-kerneloops-2.1.11-52.el7.centos.ppc64le
kernel-4.14.0-115.el7a.0.1.ppc64le
kernel-headers-4.14.0-115.el7a.0.1.ppc64le
kernel-devel-4.14.0-115.el7a.0.1.ppc64le
kernel-tools-libs-4.14.0-115.el7a.0.1.ppc64le


I checked the program logic and it appears that based on the current version of the system, the referenced include header file does not contain the required type definition.

With the RHEL_RELEASE_CODE setting undefined (setting a value less than 7,6 may also work), compilation can be successful, but I think some features and options will be disabled as a result. It is unknown whether there is any operational risk to the system by doing so.

Looking forward to any reply, thanks!

0 Kudos
3 Replies
CarlosAM_INTEL
Moderator
1,025 Views

Hello, @CharlesMR:

Thank you for contacting Intel Embedded Community.

We received your questions, but we want to address the following questions to understand them:

Could you please clarify if the Ethernet Controller 82599 network card has been designed by you or by a third-party company? In case it is a third-party development please let us know the name of the manufacturer, the part number, and any information related to it.

Where do you download the ixgbe 5.19.6 driver?

We are waiting for your answer to these questions.

Best regards,

@CarlosAM_INTEL.

 

 

0 Kudos
CharlesMR
Beginner
941 Views

@CarlosAM_INTEL 

Thanks for your reply.

The network card is installed on Inspur Power Systems FP5280G2.

From the output of the lspci command, it appears that the manufacturer is Inspur Electronic Information Industry Co., Ltd.

I obtained the ixgbe 5.19.6 driver from the support personnel of Inspur. In addition, I also downloaded another version from the following website:
https://www.intel.com/content/www/us/en/download/14302/786092/intel-network-adapter-driver-for-pcie-intel-10-gigabit-ethernet-network-connections-under-linux.html
I found that they are exactly the same.

The following output of lspci command provides detailed information about the Ethernet Controller 82599, hoping it will help clarify your questions.

0001:01:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
        Subsystem: Inspur Electronic Information Industry Co., Ltd. 10G SFP+ DP EP102Fi4 Adapter
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 40
        NUMA node: 0
        Region 0: Memory at 600c080000000 (64-bit, non-prefetchable) [size=8M]
        Region 2: I/O ports at <unassigned> [disabled]
        Region 4: Memory at 600c081800000 (64-bit, non-prefetchable) [size=16K]
        [virtual] Expansion ROM at 600c081000000 [disabled] [size=4M]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
                Address: 0000000000000000  Data: 0000
                Masking: 00000000  Pending: 00000000
        Capabilities: [70] MSI-X: Enable+ Count=64 Masked-
                Vector table: BAR=4 offset=00000000
                PBA: BAR=4 offset=00002000
        Capabilities: [a0] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
                DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
                        MaxPayload 512 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s, Exit Latency L0s <2us, L1 <32us
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis+, LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [e0] Vital Product Data
                Not readable
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                AERCap: First Error Pointer: 00, GenCap+ CGenEn+ ChkCap+ ChkEn+
        Capabilities: [140 v1] Device Serial Number b4-05-5d-ff-ff-1c-f3-28
        Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 1
                ARICtl: MFVC- ACS-, Function Group: 0
        Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
                IOVCap: Migration-, Interrupt Message Number: 000
                IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy+
                IOVSta: Migration-
                Initial VFs: 64, Total VFs: 64, Number of VFs: 0, Function Dependency Link: 00
                VF offset: 128, stride: 2, Device ID: 10ed
                Supported Page Size: 00000553, System Page Size: 00000010
                Region 0: Memory at 0006004000000000 (64-bit, prefetchable)
                Region 3: Memory at 0006004001000000 (64-bit, prefetchable)
                VF Migration: offset: 00000000, BIR: 0
        Kernel driver in use: ixgbe
        Kernel modules: ixgbe

 

0 Kudos
CarlosAM_INTEL
Moderator
927 Views

Hello, @CharlesMR:

Thanks for your clarification.

You should address as a reference your consultations related to the cited third-party company to the channels listed on the following website:

https://www.inspur.com/lcjtww/gylc32/2346042/index.html

By the way, you need to consider that the manufacturer should provide the proper drivers for the devices manufactured by them and the proper way to request them is through the channels listed on the website stated in this communication.

Best regards,

@CarlosAM_INTEL

0 Kudos
Reply