
Issue 11
© Solarflare Communications 2014
72
Solarflare Server Adapter
User Guide
5
There are enough resources to upgrade two NICs at a time, so re-bind interfaces in groups of
four (2x2NICs):
# echo -n "0000:02:00.0" > /sys/bus/pci/drivers/sfc/bind
# echo -n "0000:02:00.1" > /sys/bus/pci/drivers/sfc/bind
# echo -n "0000:03:00.0" > /sys/bus/pci/drivers/sfc/bind
# echo -n "0000:03:00.1" > /sys/bus/pci/drivers/sfc/bind
6
Run sfupdate to update these NICs (command options may vary):
# sfupdate --write --yes --force
7
Run the command to unbind the interfaces again, there will be failures reported because some
of the interfaces aren’t bound:
# for bdf in $(lspci -D -d 1924: | awk '{ print $1 }'); do echo -n ${bdf}\
> /sys/bus/pci/devices/${bdf}/driver/unbind; done
8
Repeat the process for the other interfaces (0000:04:00.x; 0000:83:00.x and 0000:84:00.x)
doing so in pairs until all the NICs have been upgraded.
9
Rebind all interfaces, doing so en-mass and ignoring errors from those already bound:
# for bdf in $(lspci -D -d 1924: | awk '{ print $1 }'); do echo -n ${bdf}\
> /sys/bus/pci/drivers/sfc/bind; done
10
Alternatively reload the sfc driver:
# onload_tool reload
or:
# modprobe -r sfc
# modprobe sfc
11
Run
ifconfig -a
again to find that all the interfaces are reported and all have been
firmware upgraded without having to physically touch the server or change the kernel.
Sfupdate: SLES 11 Limitation
Due to limitations in SLES 11 using kernel versions prior to 2.6.27.54 it is necessary to reboot the
server after running the sfupdate utility to upgrade server firmware.