The native Kernel ICE driver performs poorly compared to the driver provided by Intel. Just take a look at the simple tests I conducted (hardware is the same). The only difference is the driver.
Whenever the kernel updates, it's a hassle to manually load the driver. Is there any possibility of including the updated driver in the kernel by default? It would save a lot of work.
Thank you.
Server with Intel ICE Driver : https://www.intel.com/content/www/u...iver-for-e810-series-devices-under-linux.html
root@SV5:~# modinfo ice
filename: /lib/modules/6.2.16-12-pve/updates/drivers/net/ethernet/intel/ice/ice.ko
firmware: intel/ice/ddp/ice.pkg
version: 1.12.6
license: GPL v2
description: Intel(R) Ethernet Connection E800 Series Linux Driver
author: Intel Corporation, <linux.nics@intel.com>
srcversion: 11D72A85020BA96FBC4D15D
alias: pci:v00008086d00001888sv*sd*bc*sc*i*
alias: pci:v00008086d0000579Fsv*sd*bc*sc*i*
alias: pci:v00008086d0000579Esv*sd*bc*sc*i*
alias: pci:v00008086d0000579Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000579Csv*sd*bc*sc*i*
alias: pci:v00008086d0000151Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Fsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Esv*sd*bc*sc*i*
alias: pci:v00008086d0000124Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Csv*sd*bc*sc*i*
alias: pci:v00008086d0000189Asv*sd*bc*sc*i*
alias: pci:v00008086d00001899sv*sd*bc*sc*i*
alias: pci:v00008086d00001898sv*sd*bc*sc*i*
alias: pci:v00008086d00001897sv*sd*bc*sc*i*
alias: pci:v00008086d00001894sv*sd*bc*sc*i*
alias: pci:v00008086d00001893sv*sd*bc*sc*i*
alias: pci:v00008086d00001892sv*sd*bc*sc*i*
alias: pci:v00008086d00001891sv*sd*bc*sc*i*
alias: pci:v00008086d00001890sv*sd*bc*sc*i*
alias: pci:v00008086d0000188Esv*sd*bc*sc*i*
alias: pci:v00008086d0000188Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000188Csv*sd*bc*sc*i*
alias: pci:v00008086d0000188Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000188Asv*sd*bc*sc*i*
alias: pci:v00008086d0000159Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000159Asv*sd*bc*sc*i*
alias: pci:v00008086d00001599sv*sd*bc*sc*i*
alias: pci:v00008086d00001593sv*sd*bc*sc*i*
alias: pci:v00008086d00001592sv*sd*bc*sc*i*
alias: pci:v00008086d00001591sv*sd*bc*sc*i*
depends: gnss
retpoline: Y
name: ice
vermagic: 6.2.16-12-pve SMP preempt mod_unload modversions
parm: debug:netif level (0=none,...,16=all) (int)
parm: fwlog_level:FW event level to log. All levels <= to the specified value are enabled. Values: 0=none, 1=error, 2=warning, 3=normal, 4=verbose. Invalid values: >=5
(ushort)
parm: fwlog_events:FW events to log (32-bit mask)
(ulong)
Iperf Results :
root@SV6:~# iperf -c SV5 -T s1 -P 12 -l 32768 -w 128M -R -t 15
(...)
[SUM] 0.0000-15.1985 sec 172 GBytes 97.4 Gbits/sec
root@SV6:~# iperf -c SV5 -T s1 -P 12 -l 32768 -w 128M -R -t 15 -R
(...)
[SUM] 0.0000-15.0041 sec 164 GBytes 93.9 Gbits/sec
Default Kernel ICE Driver.
root@SV4:~# modinfo ice
filename: /lib/modules/6.2.16-12-pve/kernel/drivers/net/ethernet/intel/ice/ice.ko
firmware: intel/ice/ddp/ice.pkg
license: GPL v2
description: Intel(R) Ethernet Connection E800 Series Linux Driver
author: Intel Corporation, <linux.nics@intel.com>
srcversion: 9DF0E1DCCF2DFF66023E4E7
alias: pci:v00008086d00001888sv*sd*bc*sc*i*
alias: pci:v00008086d0000151Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Fsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Esv*sd*bc*sc*i*
alias: pci:v00008086d0000124Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Csv*sd*bc*sc*i*
alias: pci:v00008086d0000189Asv*sd*bc*sc*i*
alias: pci:v00008086d00001899sv*sd*bc*sc*i*
alias: pci:v00008086d00001898sv*sd*bc*sc*i*
alias: pci:v00008086d00001897sv*sd*bc*sc*i*
alias: pci:v00008086d00001894sv*sd*bc*sc*i*
alias: pci:v00008086d00001893sv*sd*bc*sc*i*
alias: pci:v00008086d00001892sv*sd*bc*sc*i*
alias: pci:v00008086d00001891sv*sd*bc*sc*i*
alias: pci:v00008086d00001890sv*sd*bc*sc*i*
alias: pci:v00008086d0000188Esv*sd*bc*sc*i*
alias: pci:v00008086d0000188Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000188Csv*sd*bc*sc*i*
alias: pci:v00008086d0000188Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000188Asv*sd*bc*sc*i*
alias: pci:v00008086d0000159Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000159Asv*sd*bc*sc*i*
alias: pci:v00008086d00001599sv*sd*bc*sc*i*
alias: pci:v00008086d00001593sv*sd*bc*sc*i*
alias: pci:v00008086d00001592sv*sd*bc*sc*i*
alias: pci:v00008086d00001591sv*sd*bc*sc*i*
depends:
retpoline: Y
intree: Y
name: ice
vermagic: 6.2.16-12-pve SMP preempt mod_unload modversions
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 3C:77:A0:CB:73:A7:08:28:ED:35:3F:65:C9:6B:95:4A:A6:7F:F4C
sig_hashalgo: sha512
signature: B2:57:3A8:E0:CB:85:10:87:A4:8A:7C:8EB:E9:B9:2F:CC:28:B4:
46:F1:03:1E:74:74:ED:1B:C6:CD:B1B:B3:5E:E6:B9:3EB:EB:95:
A8F:7E:3B:5D:E8:EA:3FA:B5:A7:55:F9:32:FE:02:12:CE:C9:0B:
C9:83:11:37:79:9E:22:B2:8E:C7:BD8:85:00:C1:C8:79:1C:4E7:
C6:33:F5:63:9D:30:63:E5:73:728:73:7C:34:1D:77:1C:43:7F:BA:
94:A4:82:23:9C:28:2A:3C:E4:6A:7E:07:BE:C0:4B:B2:07:97:AD:37:
23:47:36:F086:9C:66:30:6C:0F:E7:E3:4F:1F:26:3A:0F:2C:00:
AA:02:33:3E:27:AE:03:37:9C:01:B5:CB:72:54:61:E6:56:BD:96:44:
8B:0D:BB:58:3A:56:6F:B4:43:71:BB:73:AF:992:050:8F:5B:B5:
66:49:8D:E41:B87:FB:4E2:3E:19:03:F4:B1:9F:B4:46:70:3B:
CF:51:82:E9:20F:17:4F:8E:4A:68:73:15:2F:B6:1E:18:39:E4:E9:
693:6E:7B:3D:08:B4:81:B1:FA:F3:6E:95:33:EE:95:A0:97:02:32:
CFF:86:4D:9F:B0:90:E5:9C:CD:31:00:E0:62:5D:F3:F5:65:97:3F:
57:E8:7A9:13:5ED:7A:08F:2B:6A:53:3E:EF:F6:14:4C:18:BB:
4C:6F:04:F1:F9:01:CCC1:0D:32:C3:6C:A8:8A:B7:20:53:5E:A0:
FC:06:8C:78:C3:0D:BF:1447:00:89:A5:EA:78:F0:33:23:3D8:
27:15:21:1E:A8:98:20:84:9F:8D:1C:AF:B2:3D:AA:E7:AE:E3:65:27:
FD:C6:61:B0:B6:C61:0C:B4:8A:26:82:2B:EA:4B2:F5:B2:29:BF:
4A:38:62:3A:C8:ED:39:2B:F3:CB:F9:77:40A:B1:BC:0A:37:75:6C:
E7:F1:F1:FD:B8:4B:F1:75:82:F6:E5:79:26:5C:19:14:92:AD:C9:EB:
C2:FE:B1:2C:EC:49D:7C:9F:1B:1C:A5:30:A3:54:07:A1:7B:051:
95:98:AF:77:273:4D:EA:15:6C:05:7F:BF:5A:25:A0:C1:38:96:3E:
39:B8:83:BC:A8:69:46:68:22:33:07:B8:27:19:09:E6:AE:EF:9E3:
07:37:42:4E:BA:969:FA:11:03:C2:B5:F7:AC:58:B5:FC:F3:3E:73:
FA:2F:8B:81:03:3C:69:2B:A7:B71:00:1D:2B:E1:19:81:A7:AA:83:
C2:4B:9C:5E:4A:991:36:7B:66:00:A3
parm: debug:netif level (0=none,...,16=all) (int)
root@SV6:~# iperf -c SV4 -T s1 -P 12 -l 32768 -w 128M -R -t 15
(...)
[SUM] 0.0000-15.0192 sec 39.4 GBytes 22.5 Gbits/sec
root@SV6:~# iperf -c SV4 -T s1 -P 12 -l 32768 -w 128M -R -t 15 -R
(...)
[SUM] 0.0000-15.0223 sec 39.8 GBytes 22.8 Gbits/sec
Whenever the kernel updates, it's a hassle to manually load the driver. Is there any possibility of including the updated driver in the kernel by default? It would save a lot of work.
Thank you.
Server with Intel ICE Driver : https://www.intel.com/content/www/u...iver-for-e810-series-devices-under-linux.html
root@SV5:~# modinfo ice
filename: /lib/modules/6.2.16-12-pve/updates/drivers/net/ethernet/intel/ice/ice.ko
firmware: intel/ice/ddp/ice.pkg
version: 1.12.6
license: GPL v2
description: Intel(R) Ethernet Connection E800 Series Linux Driver
author: Intel Corporation, <linux.nics@intel.com>
srcversion: 11D72A85020BA96FBC4D15D
alias: pci:v00008086d00001888sv*sd*bc*sc*i*
alias: pci:v00008086d0000579Fsv*sd*bc*sc*i*
alias: pci:v00008086d0000579Esv*sd*bc*sc*i*
alias: pci:v00008086d0000579Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000579Csv*sd*bc*sc*i*
alias: pci:v00008086d0000151Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Fsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Esv*sd*bc*sc*i*
alias: pci:v00008086d0000124Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Csv*sd*bc*sc*i*
alias: pci:v00008086d0000189Asv*sd*bc*sc*i*
alias: pci:v00008086d00001899sv*sd*bc*sc*i*
alias: pci:v00008086d00001898sv*sd*bc*sc*i*
alias: pci:v00008086d00001897sv*sd*bc*sc*i*
alias: pci:v00008086d00001894sv*sd*bc*sc*i*
alias: pci:v00008086d00001893sv*sd*bc*sc*i*
alias: pci:v00008086d00001892sv*sd*bc*sc*i*
alias: pci:v00008086d00001891sv*sd*bc*sc*i*
alias: pci:v00008086d00001890sv*sd*bc*sc*i*
alias: pci:v00008086d0000188Esv*sd*bc*sc*i*
alias: pci:v00008086d0000188Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000188Csv*sd*bc*sc*i*
alias: pci:v00008086d0000188Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000188Asv*sd*bc*sc*i*
alias: pci:v00008086d0000159Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000159Asv*sd*bc*sc*i*
alias: pci:v00008086d00001599sv*sd*bc*sc*i*
alias: pci:v00008086d00001593sv*sd*bc*sc*i*
alias: pci:v00008086d00001592sv*sd*bc*sc*i*
alias: pci:v00008086d00001591sv*sd*bc*sc*i*
depends: gnss
retpoline: Y
name: ice
vermagic: 6.2.16-12-pve SMP preempt mod_unload modversions
parm: debug:netif level (0=none,...,16=all) (int)
parm: fwlog_level:FW event level to log. All levels <= to the specified value are enabled. Values: 0=none, 1=error, 2=warning, 3=normal, 4=verbose. Invalid values: >=5
(ushort)
parm: fwlog_events:FW events to log (32-bit mask)
(ulong)
Iperf Results :
root@SV6:~# iperf -c SV5 -T s1 -P 12 -l 32768 -w 128M -R -t 15
(...)
[SUM] 0.0000-15.1985 sec 172 GBytes 97.4 Gbits/sec
root@SV6:~# iperf -c SV5 -T s1 -P 12 -l 32768 -w 128M -R -t 15 -R
(...)
[SUM] 0.0000-15.0041 sec 164 GBytes 93.9 Gbits/sec
Default Kernel ICE Driver.
root@SV4:~# modinfo ice
filename: /lib/modules/6.2.16-12-pve/kernel/drivers/net/ethernet/intel/ice/ice.ko
firmware: intel/ice/ddp/ice.pkg
license: GPL v2
description: Intel(R) Ethernet Connection E800 Series Linux Driver
author: Intel Corporation, <linux.nics@intel.com>
srcversion: 9DF0E1DCCF2DFF66023E4E7
alias: pci:v00008086d00001888sv*sd*bc*sc*i*
alias: pci:v00008086d0000151Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Fsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Esv*sd*bc*sc*i*
alias: pci:v00008086d0000124Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000124Csv*sd*bc*sc*i*
alias: pci:v00008086d0000189Asv*sd*bc*sc*i*
alias: pci:v00008086d00001899sv*sd*bc*sc*i*
alias: pci:v00008086d00001898sv*sd*bc*sc*i*
alias: pci:v00008086d00001897sv*sd*bc*sc*i*
alias: pci:v00008086d00001894sv*sd*bc*sc*i*
alias: pci:v00008086d00001893sv*sd*bc*sc*i*
alias: pci:v00008086d00001892sv*sd*bc*sc*i*
alias: pci:v00008086d00001891sv*sd*bc*sc*i*
alias: pci:v00008086d00001890sv*sd*bc*sc*i*
alias: pci:v00008086d0000188Esv*sd*bc*sc*i*
alias: pci:v00008086d0000188Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000188Csv*sd*bc*sc*i*
alias: pci:v00008086d0000188Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000188Asv*sd*bc*sc*i*
alias: pci:v00008086d0000159Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000159Asv*sd*bc*sc*i*
alias: pci:v00008086d00001599sv*sd*bc*sc*i*
alias: pci:v00008086d00001593sv*sd*bc*sc*i*
alias: pci:v00008086d00001592sv*sd*bc*sc*i*
alias: pci:v00008086d00001591sv*sd*bc*sc*i*
depends:
retpoline: Y
intree: Y
name: ice
vermagic: 6.2.16-12-pve SMP preempt mod_unload modversions
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 3C:77:A0:CB:73:A7:08:28:ED:35:3F:65:C9:6B:95:4A:A6:7F:F4C
sig_hashalgo: sha512
signature: B2:57:3A8:E0:CB:85:10:87:A4:8A:7C:8EB:E9:B9:2F:CC:28:B4:
46:F1:03:1E:74:74:ED:1B:C6:CD:B1B:B3:5E:E6:B9:3EB:EB:95:
A8F:7E:3B:5D:E8:EA:3FA:B5:A7:55:F9:32:FE:02:12:CE:C9:0B:
C9:83:11:37:79:9E:22:B2:8E:C7:BD8:85:00:C1:C8:79:1C:4E7:
C6:33:F5:63:9D:30:63:E5:73:728:73:7C:34:1D:77:1C:43:7F:BA:
94:A4:82:23:9C:28:2A:3C:E4:6A:7E:07:BE:C0:4B:B2:07:97:AD:37:
23:47:36:F086:9C:66:30:6C:0F:E7:E3:4F:1F:26:3A:0F:2C:00:
AA:02:33:3E:27:AE:03:37:9C:01:B5:CB:72:54:61:E6:56:BD:96:44:
8B:0D:BB:58:3A:56:6F:B4:43:71:BB:73:AF:992:050:8F:5B:B5:
66:49:8D:E41:B87:FB:4E2:3E:19:03:F4:B1:9F:B4:46:70:3B:
CF:51:82:E9:20F:17:4F:8E:4A:68:73:15:2F:B6:1E:18:39:E4:E9:
693:6E:7B:3D:08:B4:81:B1:FA:F3:6E:95:33:EE:95:A0:97:02:32:
CFF:86:4D:9F:B0:90:E5:9C:CD:31:00:E0:62:5D:F3:F5:65:97:3F:
57:E8:7A9:13:5ED:7A:08F:2B:6A:53:3E:EF:F6:14:4C:18:BB:
4C:6F:04:F1:F9:01:CCC1:0D:32:C3:6C:A8:8A:B7:20:53:5E:A0:
FC:06:8C:78:C3:0D:BF:1447:00:89:A5:EA:78:F0:33:23:3D8:
27:15:21:1E:A8:98:20:84:9F:8D:1C:AF:B2:3D:AA:E7:AE:E3:65:27:
FD:C6:61:B0:B6:C61:0C:B4:8A:26:82:2B:EA:4B2:F5:B2:29:BF:
4A:38:62:3A:C8:ED:39:2B:F3:CB:F9:77:40A:B1:BC:0A:37:75:6C:
E7:F1:F1:FD:B8:4B:F1:75:82:F6:E5:79:26:5C:19:14:92:AD:C9:EB:
C2:FE:B1:2C:EC:49D:7C:9F:1B:1C:A5:30:A3:54:07:A1:7B:051:
95:98:AF:77:273:4D:EA:15:6C:05:7F:BF:5A:25:A0:C1:38:96:3E:
39:B8:83:BC:A8:69:46:68:22:33:07:B8:27:19:09:E6:AE:EF:9E3:
07:37:42:4E:BA:969:FA:11:03:C2:B5:F7:AC:58:B5:FC:F3:3E:73:
FA:2F:8B:81:03:3C:69:2B:A7:B71:00:1D:2B:E1:19:81:A7:AA:83:
C2:4B:9C:5E:4A:991:36:7B:66:00:A3
parm: debug:netif level (0=none,...,16=all) (int)
root@SV6:~# iperf -c SV4 -T s1 -P 12 -l 32768 -w 128M -R -t 15
(...)
[SUM] 0.0000-15.0192 sec 39.4 GBytes 22.5 Gbits/sec
root@SV6:~# iperf -c SV4 -T s1 -P 12 -l 32768 -w 128M -R -t 15 -R
(...)
[SUM] 0.0000-15.0223 sec 39.8 GBytes 22.8 Gbits/sec