Skip to content

Instantly share code, notes, and snippets.

@vdm
Last active November 28, 2019 21:35
Show Gist options
  • Save vdm/6af55e1a568de0b61882 to your computer and use it in GitHub Desktop.
Save vdm/6af55e1a568de0b61882 to your computer and use it in GitHub Desktop.
ixgbevf 2.16.1 upgrade for AWS EC2 SR-IOV "Enhanced Networking" on Ubuntu 14.04 (Trusty) LTS
ssh [email protected] "bash -s -x" -- <ixgbevf-upgrade.sh
# https://gist.github.com/CBarraford/8850424
mkdir work
cd work
wget http://sourceforge.net/projects/e1000/files/ixgbevf%20stable/2.16.1/ixgbevf-2.16.1.tar.gz
tar zxf ixgbevf-2.16.1.tar.gz
# https://gist.github.com/defila-aws/44946d3a3c0874fe3d17
curl -L -O https://gist.github.com/defila-aws/44946d3a3c0874fe3d17/raw/af64c3c589811a0d214059d1e4fd220a96eaebb3/patch-ubuntu_14.04.1-ixgbevf-2.16.1-kcompat.h.patch
cd ixgbevf-2.16.1/src
patch -p5 <../../patch-ubuntu_14.04.1-ixgbevf-2.16.1-kcompat.h.patch
sudo su
aptitude install -y build-essential
make install
modprobe ixgbevf
update-initramfs -c -k all
echo "options ixgbevf InterruptThrottleRate=1,1,1,1,1,1,1,1" > /etc/modprobe.d/ixgbevf.conf
cd ../../..
rm -Rf work
reboot
@doapp-ryanp
Copy link

Thanks for this. I prefer to leverage dkms to auto handle rebuilds on kernel updates. Here are the steps I did. Here are some docs from AWS that explain a bit in detail.

wget http://sourceforge.net/projects/e1000/files/ixgbevf%20stable/2.16.1/ixgbevf-2.16.1.tar.gz
tar zxf ixgbevf-2.16.1.tar
mv ixgbevf-2.16.1 /usr/src/
cd /usr/src/ixgbevf-2.16.1
nano dkms.conf #change version - @see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enhanced-networking-ubuntu
curl -L -O https://gist.githubusercontent.com/defila-aws/44946d3a3c0874fe3d17/raw/18e8d8eb53364ab3dea9028c0aa06a3c05dea7b6/patch-ubuntu_14.04.1-ixgbevf-2.16.1-kcompat.h.patch
cd src
patch -p5 < ../patch-ubuntu_14.04.1-ixgbevf-2.16.1-kcompat.h.patch
dkms add -m ixgbevf -v 2.16.1
dkms build -m ixgbevf -v 2.16.1
dkms install -m ixgbevf -v 2.16.1
update-initramfs -c -k all
#stop instance, enable: aws ec2 modify-instance-attribute --instance-id i-xxx --sriov-net-support simple
#create ami then startup instance, verify via:
#aws ec2 describe-image-attribute --image-id ami-xxx --attribute sriovNetSupport
#verify from inside instance via: 
ethtool -i eth0 | grep ixgbevf
#DONE

@montaro
Copy link

montaro commented Aug 6, 2015

Thanks!

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