3 function install_iavf_driver {
6 echo "Installing modules..."
7 echo "Installing i40evf blacklist file..."
8 mkdir -p "/etc/modprobe.d/"
9 echo "blacklist i40evf" > "/etc/modprobe.d/iavf-blacklist-i40evf.conf"
11 kver=`uname -a | awk '{print $3}'`
12 install_mod_dir=/lib/modules/$kver/updates/drivers/net/ethernet/intel/iavf/
13 echo "Installing driver in $install_mod_dir"
14 mkdir -p $install_mod_dir
15 cp iavf.ko $install_mod_dir
17 echo "Installing kernel module i40evf..."
22 echo "Enabling VF on interface $ifname..."
23 echo "/sys/class/net/$ifname/device/sriov_numvfs"
24 echo '8' > /sys/class/net/$ifname/device/sriov_numvfs
29 route_info=`ip route show | grep $ifname`
30 if [ -z "$route_info" ]; then
37 function get_sriov_ifname {
38 for net_device in /sys/class/net/*/ ; do
39 if [ -e $net_device/device/sriov_numvfs ] ; then
40 ifname=$(basename $net_device)
42 if [ "$?" = "0" ]; then
51 if [ $# -ne 1 ] ; then
52 ifname=$(get_sriov_ifname)
53 if [ -z "$ifname" ]; then
54 echo "Cannot find Nic with SRIOV support."
56 install_iavf_driver $ifname
60 if [ ! -e /sys/class/net/$ifname/device/sriov_numvfs ] ; then
61 echo "${ifname} is not a valid sriov interface"
63 install_iavf_driver $ifname