Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Any one know which Intel ix driver for x520 card is in the actual kernel?

    Scheduled Pinned Locked Moved 2.5 Development Snapshots (Retired)
    13 Posts 3 Posters 3.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bmeeksB
      bmeeks
      last edited by

      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.

      1 Reply Last reply Reply Quote 1
      • L
        louis2
        last edited by

        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

        DaddyGoD bmeeksB 2 Replies Last reply Reply Quote 0
        • DaddyGoD
          DaddyGo @louis2
          last edited by

          @louis2

          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 now

          but I wonโ€™t spoil your hunting and reading opportunity...

          Cats bury it so they can't see it!
          (You know what I mean if you have a cat)

          1 Reply Last reply Reply Quote 0
          • bmeeksB
            bmeeks @louis2
            last edited by bmeeks

            @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.

            1 Reply Last reply Reply Quote 1
            • L
              louis2
              last edited by

              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 fault

              Louis

              DaddyGoD 1 Reply Last reply Reply Quote 0
              • DaddyGoD
                DaddyGo @louis2
                last edited by

                @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

                Cats bury it so they can't see it!
                (You know what I mean if you have a cat)

                1 Reply Last reply Reply Quote 0
                • L
                  louis2
                  last edited by

                  @DaddyGo

                  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

                  DaddyGoD 1 Reply Last reply Reply Quote 0
                  • DaddyGoD
                    DaddyGo @louis2
                    last edited by

                    @louis2

                    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

                    43472d77-c36b-40f1-b916-e2e2aa4cb247-image.png

                    Cats bury it so they can't see it!
                    (You know what I mean if you have a cat)

                    1 Reply Last reply Reply Quote 0
                    • L
                      louis2
                      last edited by louis2

                      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

                      DaddyGoD 1 Reply Last reply Reply Quote 0
                      • DaddyGoD
                        DaddyGo @louis2
                        last edited by

                        @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... ๐Ÿ˜€

                        Cats bury it so they can't see it!
                        (You know what I mean if you have a cat)

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.