OPNsense ice driver network card performance tuning with ice ddp module enabled on Intel E810 network cards

From Thomas-Krenn-Wiki
Jump to navigation Jump to search

The module ice_ddp is a Dynamic Device Profile (DDP)-package for the ice-driver. This driver is also responsible for Intel Netzwerkkarten of the E810-series. This is a runtime-loadable kernel module that enables advanced hardware features and provides full functionality for E810 devices. It is contained in FreeBSD-based base systems such as OPNsense and can be activated manually.This loaded module multiplies the throughput of these network cards. This article shows the performance under OPNsense 25.7.

Requirements

  • hardware with ice driver-based network cards, for example Intel E810
  • OPNsense installation
  • SSH shell enabled on OPNsense

Activation of ice_ddp module

The following paragraph shows how to activate the module:

  • log in to OPNsense via SSH
  • switch to the shell by entering 8
  • switch to the boot: cd /boot/ folder
  • create a new loader.conf.local file in the /boot/ folder:
root@OPNsense:~ # vi /boot/loader.conf.local
  • Add the following line and store the file:
ice_ddp_load="YES"
  • Restart the system.

Output after restart

The module is loaded after the restart:

root@FW2:~ # dmesg | grep -i ddp
[1] ice0: The DDP package was successfully loaded: ICE OS Default Package version 1.3.41.0, track id 0xc0000001.
[1] ice1: DDP package already present on device: ICE OS Default Package version 1.3.41.0, track id 0xc0000001.

Performance test with OPNsense 25.7

Before activating the ice_ddp module

The throughput is quite low before the activation.

  • iperf test throughput:7488 Mbits/sec

Durchsatz ohne aktiviertem ice_ddp Modul

After activating the ice_ddp Moduls

After activation, the load on the firewall is significantly higher, but the throughput is higher than factor 5.

  • iperf test throughput: 50330 Mbits/sec

Durchsatz mit aktiviertem ice_ddp Modul


Author: Thomas Niedermeier

Thomas Niedermeier working in the product management team at Thomas-Krenn, completed his bachelor's degree in business informatics at the Deggendorf University of Applied Sciences. Since 2013 Thomas is employed at Thomas-Krenn and takes care of OPNsense firewalls, the Thomas-Krenn-Wiki and firmware security updates.


Translator: Alina Ranzinger

Alina has been working at Thomas-Krenn.AG since 2024. After her training as multilingual business assistant, she got her job as assistant of the Product Management and is responsible for the translation of texts and for the organisation of the department.