Skip to content

Instantly share code, notes, and snippets.

@isaiah-perumalla
Last active December 1, 2024 20:39
Show Gist options
  • Save isaiah-perumalla/433713d82b0e3a479ffa53da2f130257 to your computer and use it in GitHub Desktop.
Save isaiah-perumalla/433713d82b0e3a479ffa53da2f130257 to your computer and use it in GitHub Desktop.
Solarflare-onload-installation-steps

check installation

lspci | grep Eth

check nic card is installed properly

dmesg

might need to find a suitable slot if you see the below

 This Solarflare Network Adapter requires the equivalent of 8 lanes at PCI Express 3 speed for full throughput, but is currently limited to 4 lanes at PCI Express 1 speed.  Consult your motherboard documentation to find a more suitable slot

check in-tree drivers

find /lib/modules/`uname -r` -type f -name '*.ko' -printf '%f\n' | grep -E 'sfc|onload'`

should see the following

onload.ko
sfc.ko
sfc-siena.ko
sfc.ko
sfc-falcon.ko

ethtool -i ens3f0np0

should see something like below

isaiahp@z600:~$ ethtool -i ens3f0np0
driver: sfc
version: 6.2.0-39-generic
firmware-version: 8.0.0.1015 rx1 tx1
expansion-rom-version: 
bus-info: 0000:1c:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

Install Onload and Onload kernel modules

  1. install build prerequisites sudo apt install python3-dev libpcap-dev libcap-dev devscripts

  2. download onload deb packages openonload-8-1-3-40

  3. install source sudo dpkg-source -x onload_8.1.3.40-1.dsc

  4. untar tar -xf onload_8.1.3.40-debiansource.tgz

  5. dpkg-source -x onload_8.1.3.40-1.dsc

  6. cd into src dir

  7. build packages `debuild -i -uc -us

  8. this should generate onload-user_8.1.3.40-1_amd64.deb

  9. install userspace packages sudo dpkg -i onload-user_8.1.3.40-1_amd64.deb

  10. sudo dpkg -i onload-source_8.1.3.40-1_all.deb

  11. check packages installed sudo dpkg -l "*onload*"

Install onload kernel module

use dkms

  1. unzip SF-120887-LS-15-OpenOnload-DKMS-Release-Package.zip

  2. sudo alien -c onload-dkms-8.1.3.40-0.noarch.rpm

  3. sudo dpkg -i onload-dkms_8.1.3.40-1_all.deb

  4. sudo onload_tool reload

  5. check module and driver

find /lib/modules/`uname -r` -type f -name '*.ko' -printf '%f\n' | grep -E 'sfc|onload'`

should see the following

onload.ko
sfc.ko
sfc_char.ko
sfc_resource.ko
sfc_driverlink.ko
onload.ko
sfc.ko
sfc_char.ko
sfc_resource.ko
sfc-siena.ko
sfc.ko
sfc-falcon.ko

  1. check everything is loaded onload -v output should be
Onload 8.1.3.40
Copyright (c) 2002-2024 Advanced Micro Devices, Inc.
Built: Nov 26 2024 22:03:41 (release)
Build profile header: <ci/internal/transport_config_opt_extra.h>
Kernel module: 8.1.3.40

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment