Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Underwhelming ice driver performance for Intel Ethernet Network Adapter E810-XXVDA2 25gbps NIC

Featured Replies

I am currently using the Intel Ethernet Network Adapter E810-XXVDA2 NIC in my Unraid build and the performance is very underwhelming. I am only able to get half of the speed (12gbs, and 1 of my CPU pegged at 100% when doing an iperf3 test). I did some research and this is due to an older driver used by Unraid (looks like the older driver did not properly implement all the offloading features). I've checked Ubuntu and Proxmox and they seem to have gotten the right driver and I am able to saturate the 25gbps connection with very low CPU usage (maybe 2 cores will spike like 30% during the test). I also checked Truenas Scale which has a bit older kernel compared to Unraid and it has an updated driver.

 

I tried to install an updated driver for Unraid, but Unraid does not provide any build tools, and / kernel headers. I tried to build the kernel headers manually, but after building the headers, the NIC install just does not work. I have no experience with Slackware but I figured out how to get the build tools, and get it working. Is there any way I can get the kernel headers so I can build and swap out the driver? I have tested with the latest version of Unraid stable 6.12.14 (6.1 kernel) and 7.0.0rc1 (6.6 kernel).

  • Author

I was able to finally compile the driver last night (official linux driver from Intel) and get the full performance of the NIC, so like I said, it was a driver issue. Someone experienced something similar with an older kernel in proxmox, which prompted me to the issue:

https://forum.proxmox.com/threads/default-ice-driver-kernel-6-poor-performance.133855/
 

If there is a way to have the driver fixed before the latest 7 stable, that will be great.

  • Community Expert

LT typically does not use out-of-tree drivers, they did in the past, but they could build with a kernel, and then fail to build with the next one, best bet is to wait for the in-tree driver to be updated to perform similarly to that one.

  • Author

A better driver has been upstreamed. I just don't know which kernel version(s) provided the fix. From looking at the latest version of Proxmox and Ubuntu, they are using an upstream driver, not a custom driver.

  • Community Expert

In that case, it should be included with a future Unraid release

  • 2 weeks later...

Hello everyone 
I am also planning to install an intel E810-DA4 in my unraid server (6.12.14) over Christmas. Should I leave it alone, update to 7.0.0-rc1 or are there any instructions/help on how to compile and install the ‘new’ driver? What I can't use is 100% utilisation with network traffic. I'm more at home on the Windows or Ubuntu side ... Slackware is just in ‘use’ so far. 
Thanks for any help!!!  

 

  • Author

Unless you really know what you are doing, my advice is to avoid the Intel 800 series (the 700 series is fine) until Unraid moves to a kernel that has a better Ice driver. The current ice driver for the 800 series does not implement any hardware offloading, so unless your CPU is very very beefy (even with that, I am not sure), you can barely saturate the link. Unraid does not support users compiling their own drivers (it does not come with any build tools), and Slackware is not the most user friendly distro.

 

If you know what you are doing, head over to https://github.com/ich777/unraid_kernel and in the releases section, you can grab the Kernel for Unraid, install a Ubuntu docker container (I used the most recent Ubuntu version, 24.10), and use the kernel and the container to build the new driver. After, you write some bash scripts to swap the driver for the newly built driver, reload the module, and restart networking anytime unraid starts.

Edited by kkdev

Thanks kkdev for the clarification: Now it is clear that I will wait  😁-> I should be extremely bored over Christmas. 
When will there be a new kernel with unraid? 🫠
 

Perhaps a little more clarification for me. :)

Story: We have a provider that offers a subscription of 25GB instead of 10GB at almost no extra charge (theoretically). I couldn't resist -> https://www.init7.net/en/internet/fiber7/  

That's why I would like to put the E810 into operation. I have a pfsense with Intel E810 (ice driver) in operation as a router firewall, where harwareoffloading works wonderfully! 
 

Question: If it is foreseeable that kernel 6.6.xx will also be used in the final version of unraid7, is it a given that the Intel E810 will not perform as desired?  Or what about the next kernel (6.12.xx?)? -> If the future is really so unclear. Wouldn't it be possible/useful to create a driver plugin so that the Intel E810 can be supported?

I am probably overlooking various things.
 

Thanks for your help and regards Andi 

 

  • Author

I did some tests and Truenas Scale 24.10 which uses a bit older version of the kernel 6.6 has a better ICE driver. I do not know whether they patched the kernel to include a better version of the ice driver (maybe they did, Truenas Scale is geared towards enterprise storage so I am sure they will make sure that most nics are supported), or it was included in that version of the kernel (I did not have time to do research). What I know for sure is that kernel version 6.8 has a good driver, and I have no idea when Unraid will update the kernel to include that driver. Since 6.6 is an LTS version, you will have to probably wait for Unraid 8, which will take a while.

 

My advice to you is to get a Mellanox ConnectX-4 or 5, a Broadcom NIC, or the Intel 700 series (the 700 series has 25gb NICs) if you want to have 25gbps in your server. I currently use a Mellanox ConnectX-5 100gbps NIC in my Unraid server and I am able to hit 98gbps to another client running Proxmox. I have sinced moved the 800 series NIC to one of my client devices.

Thanks kkdev! I was looking at nvidia before the E810. Unfortunately I have a small server rack in my homelab and only one slot in my unraidserver (X10SDV-8C-TLN4F) so I went for the e810-xxvda4 with 4 25GB SFP28 slots. I couldn't find a 4port card at Mellanox. I give 2 slots directly (PCI IOMMU group) to a virtual pfsense and the other 2 slots (only 1 at the moment) would be used by unraid .... well, you can't have everything ... 

 

@ich777 What do you mean as a driverplugin master? -> is there any way to influence the 7.0 release to get higher-performance E810 drivers on board?

  • Author

Well that makes sense, but virtualizing a critical infrastructure such as your router is probably not the way to go, in my opinion. I don't know if you've heard of the Minisforum MS-01, but they are excellent and very performant (and has a low profile PCIE slot which fits an Intel E810-CQDA2!), and because they use mobile chips they are very low power. I played with OpnSense on them through a Local NAT (I only have 10gbps internet) for benchmarking and I was able to hit 25gbps with IDS/IPS enabled while not consuming more than 80W in my tests. Personally though, I use a Mikrotik router (maybe I will add OpnSense between the internet and the router in a transparent bridge mode in the future, but I have no use for IDS/IPS at least for now).

Edited by kkdev

28 minutes ago, andber said:

is there any way to influence the 7.0 release to get higher-performance E810 drivers on board?

You are talking about in tree drivers here and a higher Kernel version correct  (sorry I didn't follow the whole thread)?

I assume that Unraid 7 will ship with the LTS Kernel 6.6.x and not with any higher version since the RC phase for 7.0 is almost over I think and a stable release from 7.0 is not that far away.

 

I really can't tell if the above is true but I most certainly think that this will be the case. You have to wait a bit longer for the newer Kernel version.

 

If you really want to build the driver yourself you can start here:

https://github.com/ich777/unraid_kernel

 

Everything is in there that you can build custom drivers however I don't know if that's worth it... I would recommend to wait.

 

8 hours ago, kkdev said:

you will have to probably wait for Unraid 8

I don't think that that you have to wait for 8 but I assume 7.1 ;)

 

14 minutes ago, kkdev said:

but virtualizing a critical infrastructure such as your router is probably not the way to go, in my opinion.

I agree completely on that one!

  • Author

Hey @ich777 thanks for your Unraid kernel releases. They have been super helpful for me figuring out things with Unraid. I appreciate the good work!

3 minutes ago, kkdev said:

Hey @ich777 thanks for your Unraid kernel releases. They have been super helpful for me figuring out things with Unraid. I appreciate the good work!

Thanks, this is just a by product from the driver plugin compilation toolchain and I thought why not upload it so that other people can benefit from it (I asked Tom if he is okay with that just to be on the safe side... :D ).

Thank you @ich777 for the always clear and insightful information!
 

2 hours ago, kkdev said:

... but virtualizing a critical infrastructure such as your router is probably not the way to go, in my opinion. I don't know if you've heard of the Minisforum MS-01,...

I totally agree with you @kkdev, i think its the time to switch to a hardware firewall ....  would simplify a few things.

 



 

12 minutes ago, andber said:

I totally agree with you @kkdev, i think its the time to switch to a hardware firewall ....  would simplify a few things.

I completely switched over to MikroTik and I couldn't be happier TBH.

 

If you get a bit into how routing works then you might even don't need IPS/IDS.

  • Author
2 hours ago, ich777 said:

I completely switched over to MikroTik and I couldn't be happier TBH.

 

If you get a bit into how routing works then you might even don't need IPS/IDS.

Yup, I've been a Mikrotik fan since 2015, it has never failed me. They always have the cheapest and low power equipment available. I run their router, together with 2 switches which serves my needs. The only service that has outside access on my network is Plex, and it is served behind a reverse proxy, with a separate suricata container in Proxmox monitoring the open port. I know that I can do some advance routing with Mikrotik, but in doing so, I lose some routing performance (I'm have 10gbps internet), so I try to keep my routing and firewall rules pretty light. The reverse proxy is also doing geo-blocking.

  • 4 months later...
  • Author

Update: I tested the Unraid 7.1 rc3 and the ice driver is still terrible. I don't know what is happening here with Unraid, or how Unraid sources and builds its kernel, but just about any other Linux OS I have tried does not have this problem (and I have tried many). I just wanted to put it out there so that nobody scratches their heads trying to solve this problem. I have sinced switched to Mellanox ConnectX5 and move some servers away from Unraid.

  • Community Expert

Unraid uses the in-tree kernel drivers.

  • 1 month later...
On 5/1/2025 at 11:07 PM, kkdev said:

Update: I tested the Unraid 7.1 rc3 and the ice driver is still terrible. I don't know what is happening here with Unraid, or how Unraid sources and builds its kernel, but just about any other Linux OS I have tried does not have this problem (and I have tried many). I just wanted to put it out there so that nobody scratches their heads trying to solve this problem. I have sinced switched to Mellanox ConnectX5 and move some servers away from Unraid.

Hey, thanks for posting this. I was going to get an Intel E810 25 gig nic but am now going to go with ConnectX-5 MCX512F-ACAT instead. The ConnectX-6 Lx is nice as well but too expensive

Edited by msalad

  • Author
1 hour ago, msalad said:

Hey, thanks for posting this. I was going to get an Intel E810 25 gig nic but am now going to go with ConnectX-5 MCX512F-ACAT instead. The ConnectX-6 Lx is nice as well but too expensive

No worries, I have not tested the in-tree drivers to verify, but all major OS's except Unraid offer a decent ice driver. This is likely due to the fact that they include a recent driver as part of their Kernel, since Intel E810 nics are pretty popular in the enterprise space. Unless Unraids decide to do something about the driver, I'll stay away from using the E810 NICs with Unraid.

  • 4 months later...

Lat to the party with this but anyone tried the E810 with 7.2 RC1, still terrible performance?Lat to the party with this but anyone tried the E810 with 7.2 RC1, still terrible performance?

  • Author
2 minutes ago, mikeyosm said:

Lat to the party with this but anyone tried the E810 with 7.2 RC1, still terrible performance?Lat to the party with this but anyone tried the E810 with 7.2 RC1, still terrible performance?

So this is not an Unraid specific issue, but yeah the ice driver from the kernel still sucks as recent as 6.14, which is higher than Unraid's current kernel. All the major OS' have added recent drivers (Proxmox/Ubuntu/Truenas), so if you want to use it, you can build the drivers yourself. @ich777 provides the kernel on his Github, so you can use it to build new drivers.

I personally used the provided kernel to build the ice drivers in the past (I have since switched to Mellanox nics). I currently use the kernel to build nvme rdma drivers though.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.