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

    Chelsio T4 VF is not recognized as NIC

    Scheduled Pinned Locked Moved Virtualization
    8 Posts 2 Posters 296 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.
    • nazar-pcN
      nazar-pc
      last edited by

      I used SR-IOV to create a virtual function device and then assigned it to a KVM-based VM using VFIO.

      pfSense sees the PCIe device:

      none0@pci0:1:0:0:	class=0x020000 rev=0x00 hdr=0x00 vendor=0x1425 device=0x4802 subvendor=0x1014 subdevice=0x03e5
          vendor     = 'Chelsio Communications Inc'
          device     = 'T422-CR Unified Wire Ethernet Controller [VF]'
          class      = network
          subclass   = ethernet
      none1@pci0:2:0:0:	class=0x020000 rev=0x00 hdr=0x00 vendor=0x1425 device=0x4802 subvendor=0x1014 subdevice=0x03e5
          vendor     = 'Chelsio Communications Inc'
          device     = 'T422-CR Unified Wire Ethernet Controller [VF]'
          class      = network
          subclass   = ethernet
      

      But for whatever reason it doesn't recognize it as NIC.

      Linux host uses cxgb4vf driver for it. Is there anything I can do to make it work in pfSense? My understanding is that Chelsio cards must be well supported, so I'm a bit confused here. Is pfSense missing a driver?

      I'm on pfSense 2.8.0-RELEASE.

      patient0P 1 Reply Last reply Reply Quote 0
      • patient0P
        patient0 @nazar-pc
        last edited by

        @nazar-pc the cxgbe driver is part of pfSense, compiled into the kernel and the card is listed as support in the manual page of the cxgbe module.

        Do you see any error in the dmesg related to that driver (dmesg | fgrep cxgbe)?

        I can't help with the SR-IOV part unfortunately.

        kldstat -v | fgrep cxgbe
                        113 cxgbe/vcxgbe
                        110 t4nex/cxgbe
        

        FreeBSD Manual Pages: cxgbe

        nazar-pcN 1 Reply Last reply Reply Quote 0
        • nazar-pcN
          nazar-pc @patient0
          last edited by

          @patient0 Not really, no output for dmesg | fgrep cxgbe command

          nazar-pcN 1 Reply Last reply Reply Quote 0
          • nazar-pcN
            nazar-pc @nazar-pc
            last edited by

            I searched a bunch of things and looks like cxgbev driver is responsible for VF devices, but:

            [2.8.0-RELEASE][root@pfSense.localdomain]/root: kldload cxgbe
            kldload: can't load cxgbe: module already loaded or in kernel
            [2.8.0-RELEASE][root@pfSense.localdomain]/root: kldload cxgbev
            kldload: can't load cxgbev: No such file or directory
            

            So module wasn't compiled into the kernel?

            nazar-pcN patient0P 2 Replies Last reply Reply Quote 0
            • nazar-pcN
              nazar-pc @nazar-pc
              last edited by

              Just confirmed that FreeBSD 15.0-CURRENT does have this driver, hence created https://redmine.pfsense.org/issues/16246

              1 Reply Last reply Reply Quote 0
              • patient0P
                patient0 @nazar-pc
                last edited by patient0

                @nazar-pc it's kldstat -v but yes it's not build into the kernel and not availabe as a module.

                Edit: forgot "not" regarding the module.

                nazar-pcN 1 Reply Last reply Reply Quote 0
                • nazar-pcN
                  nazar-pc @patient0
                  last edited by nazar-pc

                  @patient0 I don't think it is, not right now at least. Loading fails on pfSense 2.8.0 and succeeds on FreeBSD 15.0-CURRENT.
                  UPD: I mean cxgbev for virtual function, not cxgbe for physical device.

                  patient0P 1 Reply Last reply Reply Quote 0
                  • patient0P
                    patient0 @nazar-pc
                    last edited by

                    @nazar-pc said in Chelsio T4 VF is not recognized as NIC:

                    I mean cxgbev for virtual function, not cxgbe for physical device

                    Yep, I understood and you are right. I wanted to write "and not available as a module"

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