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

    Intel X710 Issues

    Scheduled Pinned Locked Moved Hardware
    37 Posts 10 Posters 7.1k 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.
    • M
      mloiterman @stephenw10
      last edited by

      @stephenw10

      No not after upgrading the firmware on the card.

      I tried enabling flow control by setting it to sequential setting it to 0,1,2,3 through the tunables page. I could get it to turn on txpause but not rxpause which is wierd because initially, before upgrading firmware, I could not get rxpause to turn off.

      I did not reboot or reboot the modem inbetween changing those settings though.

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        Flow control is negotiated so you won't see it in the ifconfig output if the other side doesn't support it. You can force it on or off though on some NICs.

        Steve

        M 1 Reply Last reply Reply Quote 0
        • M
          mloiterman @stephenw10
          last edited by

          @stephenw10

          OK, I got it figured out.

          I had to enable flow control on my switch for the port connected to pfSense and had to enable full flow control for the X710 port connected to my switch with these systctl tunables in System/Advanced/System Tunables:

          dev.ixl.1.fc
          3
          Enable flow control

          Now I can get ~ 945Mbs for the machines connected with 1G NICs and ~1,200Mbs for the 10G NICs.

          L 1 Reply Last reply Reply Quote 0
          • stephenw10S
            stephenw10 Netgate Administrator
            last edited by

            Ah, nice result. Interesting. I guess you are hitting something that requires flow-control to mitigate which is unusual.

            Steve

            L 1 Reply Last reply Reply Quote 0
            • L
              lnguyen @mloiterman
              last edited by lnguyen

              @mloiterman

              Did you update the drivers after updating the NVM firmware? I just updated to 8.30 FW, but following your steps, I have been unable to acheive the same results.

              M 1 Reply Last reply Reply Quote 0
              • M
                mloiterman @lnguyen
                last edited by

                @lnguyen

                Yes, I compiled the latest version of intel's driver against the kernel in 2.5.1.

                I can help you with that if you need it, but it will have to wait until later this week.

                F 1 Reply Last reply Reply Quote 0
                • F
                  froboz @mloiterman
                  last edited by

                  @mloiterman I would be interested in the compile instructions as well as I have the same issue you have although I did manage a work around with the old firmware 8.10. I updated the firmware to 8.30 :-( . I could reverse the firmware update but I figured I would move forward through this problem :-) . Something is seriously wrong with this card and PFsense at the moment and I hope netgate finds the time to fix it. Thanks

                  1 Reply Last reply Reply Quote 0
                  • M
                    mloiterman
                    last edited by

                    I’ve updated to the 8.30 firmware and the 1.12.16 version of the driver and it still seems like I need to enable Flow Control on the LAN side port of the X710 and the switch port it’s connected to.

                    For anyone that is interested here’s the basic steps to build you’re own version of the Intel driver.

                    1. Get yourself a FreeBSD system where you can download source files and compile the driver. I would suggest NOT using your pfSense system to do this kind of work.
                    2. Once you’ve got your FreeBSD system setup, do a deep clone of the source repository. For 12.2-RELEASE:
                    # git clone -b releng/12.2 https://git.freebsd.org/src.git /usr/src
                    
                    1. Determine which version of pfSense your kernel was compiled against from here. For pfSense CE 2.5.1, for example, it’s 12.2-STABLE@f4d0bc6aa6b.
                    2. On the system where you’ve cloned the source tree in step 2, check out the specific version of the source tree you’ve determined in step 3 by using the hash value at the end of the version string:
                    # cd /usr/src
                    # git checkout f4d0bc6aa6b
                    
                    1. Download the driver source files from Intel. For 1.12.16, they can be found here.

                    2. Untar the archive:

                    # tar zxf ixl-1.12.16.tar.gz
                    

                    This will create the ixl-1.12.16 directory.

                    1. To load the driver onto a running system:
                    # cd ixl-1.12.16/src
                    # make
                    # kldload ./if_ixl.ko
                    
                    L 1 Reply Last reply Reply Quote 2
                    • L
                      lnguyen @mloiterman
                      last edited by

                      @mloiterman

                      Did you copy this to /boot/kernel to make it persistant?

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        mloiterman @lnguyen
                        last edited by

                        @lnguyen

                        No, you place the kernel module in /boot/modules.

                        Make sure the module is set to root:wheel and the permissions are 555:

                        # chown root:wheel if_ixl.ko && chmod 555 if_ixl.ko
                        

                        and then in /boot/loader.conf.local, which may not exist unless you create it, you'll need to add:

                        if_ixl_load="YES"
                        
                        L R 2 Replies Last reply Reply Quote 1
                        • L
                          lnguyen @mloiterman
                          last edited by lnguyen

                          @mloiterman

                          Thanks. Running into some issues in my scenario.

                          • IPv6 addresses for WAN and LAN are no longer populated
                          • 1Gbps hosts are still not reaching 942Mbps
                          • WAN Interface showing unknown speed
                          • The interface status for ixl1 does not reflect rxpause, txpause (driver loaded confirmed)
                          1 Reply Last reply Reply Quote 0
                          • C
                            ChuckLasher
                            last edited by ChuckLasher

                            @mloiterman

                            @lnguyen and I are working together on this project.
                            I have the x710-T2L,

                            I compiled the 1.12.16 drivers in my FreeBSD 12.2 VM and got us to this point.

                            I have flow control which works but the speed isn't showing. (dev.ixl.1.fc=3)
                            I notice that it takes a bit for the IPv6 addresses to populate on startup. This is new behavior.

                            What are we missing here?

                            Untitled.png

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              mloiterman @ChuckLasher
                              last edited by

                              @chucklasher

                              I cannot say what might be causing your issues, but I can tell you that I enabled Flow Control on the LAN switch ports and enabled full Flow Control on the LAN port on the X710 card. I had Flow Control disabled on the WAN port of the X710 card.

                              My understanding is the Flow Control is negotiated and must be active on both sides of the connection.

                              This whole thing is still a bit of a mystery to me and it’s not really clear why it’s needed. I suspect it may be partially rooted in the fact that my switches, HP 2920 48 port with PoE+ are 1Gbs switches with a 10Gbs add in cards. NBASE-T is a newer standard and there maybe bugs or issues like this that are triggered when you have a mixed environment. That’s only speculation from me, however.

                              Please let me know what you find because I would like to eventually disable Flow Control.

                              C L 2 Replies Last reply Reply Quote 0
                              • C
                                ChuckLasher @mloiterman
                                last edited by ChuckLasher

                                @mloiterman

                                Messing around last night yielded results.

                                1. In the GUI, added System Tunable dev.ixl.1.fc=3
                                2. Reverted back to the shipped driver (iflib)
                                3. Enabled Flow Control on the Netgear switch (XS724EM)
                                4. Restarted

                                Screenshot from 2021-05-25 11-16-25.png

                                Not entirely sure why this works but there is significance when CE 2.5.1 adds the tunable vs sysctl

                                In testing, ATV 4K will obtain (has to work up to it) 940 Mbps.

                                Speeds do not "snap" up to their values. Speedtest seems to 'slew' its way up to the final value.

                                I suspect there is a better way to handle this but is well above my understanding level. Perhaps priority flow control ?

                                M 1 Reply Last reply Reply Quote 0
                                • L
                                  lnguyen @mloiterman
                                  last edited by

                                  @mloiterman

                                  IPv6 addresses did eventually populate. I have a Cisco switch that is not negotiating FC with the Intel X710-T4L ports. The default kernel drivers report the correct speed negotiated from ifconfig

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    lnguyen @stephenw10
                                    last edited by

                                    @stephenw10

                                    I think this scenario is due to WAN speed >1Gbps overflowing 1Gbps connected LAN hosts.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      mloiterman @ChuckLasher
                                      last edited by mloiterman

                                      @chucklasher

                                      Two other things:

                                      I noticed performance was subjectively better when flow control for the X710 lan port to “1” which is rxpause. 3 worked too, but “seemed” less performing. Although, I have no objective data to see if that’s really true or not.

                                      Performance seemed better when I Disabled hardware checksum offload.

                                      C 1 Reply Last reply Reply Quote 1
                                      • C
                                        ChuckLasher @mloiterman
                                        last edited by

                                        @mloiterman

                                        Thanks,

                                        1. Made the change.
                                        2. I'll play around with the offload. I will see what impact that has on the 10 GbE machines.
                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          lnguyen
                                          last edited by lnguyen

                                          2 year old thread. Same issue but with WAN 2x1Gbps LAGG instead of 2.5Gbps
                                          Low throughput over lagg with 1gb clients

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

                                            I think using ethernet flow control to solve this issue is not an ideal workaround. I think looking at TCP flow control or packet buffer sizes in pfSense is the long term resolution here. Just not sure what to tune in pfSense to accommodate WAN connections greater than 1Gbps LAN connections.

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