Any one know which Intel ix driver for x520 card is in the actual kernel?
-
FreeBSD recently migrated to a new methodolgy for NIC drivers. The new kernel API is called iflib. It is a wrapper library that encompasses several common functions that all NIC drivers need. The idea behind iflib was to reduce redundant coding in the various NIC drivers in order to standardize on certain kernel interface functions. Most, but not all, NIC drivers have been rewritten by the manufacturers to support the iflib API. The new library handles things such as netmap device interfacing, for example, to remove that burden from the manfacturer driver developers.
So the use of iflib in FreeBSD means that driver versions changed. So the version you see in current FreeBSD kernels is the iflib version of the driver, and that version number mostly will not match the latest version of the driver shown on the manufacturer's web site. That Intel 3.3.14 driver is a prime example. The latest iflib version of that driver is a 4.x something or other (don't remember at the moment off the top of head) in FreeBSD-12.1. So now some vendors have an iflib version of their FreeBSD driver for newer kernel versions, and an older non-iflib version for older kernels. And the real kicker is that with some NIC drivers, the seemingly newer and higher number (you would assume it is newer since it's a higher revision) is actually older code than what may be in a non-iflib version. It can be a little confusing to sort it all out.
-
I like that iflib idea!!
I hope it is available and used here as well. Do you / any one know!?
Botum line is of cause better and easier support ... and that it "just works".Louis
-
if you are searching for "one".... in the forum now, you can see that others have already addressed this question
all I can say is there are still difficulties, so it is not yet available as you think nowbut I wonโt spoil your hunting and reading opportunity...
-
@louis2 said in Any one know which Intel ix driver for x520 card is in the actual kernel?:
I like that iflib idea!!
I hope it is available and used here as well. Do you / any one know!?
Botum line is of cause better and easier support ... and that it "just works".Louis
Well, one of the problems iflib introduced is that it also added more work to the driver developers since now they have to produce two different versions of each driver. One for kernels using iflib and one for those older kernels not using it.
I think the driver you are having trouble with is like this. There is actually newer code in the 3.3.14 driver than in the 4.x version showing in FreeBSD-12.1/STABLE (again, I can't remember the exact version number). One problem some of the newer Intel drivers had (and might be still having in FreeBSD-12.1) is an issue with initializing VLANs on driver load. It has to do with differences in the way driver initialization works when using iflib. The hardware on some of the newer Intel cards wants to be initialized in a manner that iflib does not do. Here's a link to a bug report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240818.
-
Yep,
I understand that it is more work during transision.
Still no idea whichh driver version the pfSense kernel is using ......
One of the problems, there is at least one other bug!, I have when using PIMD, is that switching on and off one of my vlan interfaces, does / (did?) almost certain lead to a crash if have PIMD active.
I put "did?" in between because since the today! snapshot pfSense !seems! to crash significant less often .... too early! to be sure! ......... (see peace of crash dump below)
If PIMD is using interface=x as RP-canidate and I switch that vlan off, PIMD switches to its defaults RP.
If I switch that prefered interface back on ==> crash (also in actual snapshot!).What ever, if this is yes or no related to the bug link you included, I am not sure. Could be, but it is not an "Ah that is the problem!".
Louis
Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address = 0x1000
fault code = supervisor write data, page not present
instruction pointer = 0x20:0xffffffff80e934f5
stack pointer = 0x0:0xfffffe00004de7f0
frame pointer = 0x0:0xfffffe00004de7f0
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 12 (swi1: netisr 2)
trap number = 12
panic: page faultLouis
-
@louis2 said in Any one know which Intel ix driver for x520 card is in the actual kernel?:
Still no idea whichh driver version the pfSense kernel is using ......
if not visible as described above (although it is very strange)
restart pfSense and observe the kernel messages on the console during boot...
there you can see the versions of the loaded device drivers -
I did a restart scrolls very fast. Tried to make a movie with my mobile :) Scrolling too fast to be sharp.
Whatever, the info seen in the movie (hard to see), the info from "dmesg | grep ix", the bootlog and crashdumps all seems to be the same.
So that does not help.
Louis
-
just try this, you need to see the version here also
(if not then you are in big trouble)sysctl dev.ix or sysctl dev.ixgbe
joke: you don't even have a NIC driver, hahahaha
-
Do not worry I do have a driver,
it is so old that it just forgot its version number
- sysctl dev.ix:
dev.ix.0.%desc: Intel(R) PRO/10GbE PCI-Express Network Driver
dev.ix.0.iflib.rxq1.rxq_fl0.credits: 2047
So we learned something "iflib", so at least we know now that the new iflib version is used
lets have a look for the other interfaces:
-
dev.em.0.%desc: Intel(R) PRO/1000 Network Connection
dev.em.0.iflib.rxq0.rxq_fl0.credits: 1023 -
dev.igb.0.%desc: Intel(R) PRO/1000 PCI-Express Network Driver
dev.igb.1.iflib.rxq1.rxq_fl0.credits: 1023
So all network interfaces 1 x em, 2 x igb and 2 x ix do use the new iflib library.
(perhaps that is causing the problem ???? )Lots if other parameters given, to much for now
Louis
- sysctl dev.ix:
-
@louis2 said in Any one know which Intel ix driver for x520 card is in the actual kernel?:
it is so old that it just forgot its version number
or drank a lot at a party and is now a hangover...