|Summary:||ix-3.1.14 driver fails to build without 'options INET6'|
|Product:||Base System||Reporter:||Александр <null>|
|Component:||misc||Assignee:||Bjoern A. Zeeb <bz>|
|Severity:||Affects Some People||CC:||bz, jeffrey.e.pieper, net, null, piotr.pietruszewski, sbruno|
Description Александр 2016-03-09 13:11:30 UTC
Hi! Rebuild a kernel without 'options INET6' Nat FreeBSD 10.2-RELEASE-p12 admin@nat:/usr/obj/usr/src/sys/GENERIC amd64 Have downloaded and installed the latest driver ix-3.1.14 for X520-DA2 In loader.conf added: if_ix_load="YES" hw.ix.unsupported_sfp=1 After loading OS in /log/messages: Mar 4 14:07:37 nat kernel: link_elf_obj: symbol undefined in6_cksum_pseudo Mar 4 14:07:37 nat kernel: KLD file if_ix.ko - could not finalize loading And accordingly, loaded the old driver. In /log/messages: Mar 4 14:07:37 nat kernel: ix0: <Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 2.8.3> If the kernel is compiled with 'options INET6' what I need, no problem.
Comment 1 Sean Bruno 2016-04-04 17:35:58 UTC
It looks like the module wasn't rebuilt with the new kernel configuration. Can you post your kernel configuration here just to make sure things are being rebuilt?
Comment 2 Александр 2016-04-06 18:14:49 UTC
(In reply to Sean Bruno from comment #1) Because the kernel configuration removed only 'options INET6'
Comment 3 Jeff Pieper 2016-04-07 15:40:43 UTC
Thanks for the report. Without options INET6 defined in the kernel, removing the -DINET6 flag from the Makefile should allow the driver to load, but it doesn't compile: ix_txrx.c:813:4: error: use of undeclared identifier 'ip6'; did you mean 'ip'? ip6 = (struct ip6_hdr *)(l3d); ^~~ ip ix_txrx.c:730:13: note: 'ip' declared here struct ip *ip; ^ ix_txrx.c:813:8: error: incompatible pointer types assigning to 'struct ip *' from 'struct ip6_hdr *' [-Werror,-Wincompatible-pointer-types] ip6 = (struct ip6_hdr *)(l3d); ^ ~~~~~~~~~~~~~~~~~~~~~~~ ix_txrx.c:815:14: error: use of undeclared identifier 'ip6'; did you mean 'ip'? ipproto = ip6->ip6_nxt; ^~~ ip ix_txrx.c:730:13: note: 'ip' declared here struct ip *ip; ^ ix_txrx.c:815:19: error: no member named 'ip6_ctlun' in 'struct ip' ipproto = ip6->ip6_nxt; ~~~ ^ @/netinet/ip6.h:89:18: note: expanded from macro 'ip6_nxt' #define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt ^ 4 errors generated. We will investigate.
Comment 4 Bjoern A. Zeeb 2019-05-21 19:00:38 UTC
Just to clarify, this was trying to compile an out-of-tree driver?
Comment 5 Piotr Pietruszewski 2019-05-22 14:23:15 UTC
This is probably bug for out-of-tree driver since in-kernel driver never had 3.1.14 version (after 3.1.13-k version there was 3.2.12-k version). This problem was resolved in 3.2.0 out-of-tree driver.