How to check driver versions in ESXi (fnic, etc.) 1

I recently encountered some strange I/O issues with guests running on ESXi 5.0 U2 in a Cisco UCS environment that I have inherited.  While investigating the root cause it was brought to our attention that some of our UCS drivers might be out of date.  According to Cisco’s compatibility matrix (found here), we should be on version 1.5.0.20 of the fnic driver.

cisco_compatibility_matrix

 

Armed with this information, I now needed to find out what version of the fnic driver I was actually using.  Surprisingly, not many people know how to check this, and it is really quite simple.  You first need to enable SSH logins (procedure here) to your ESXi host, then run this command:

~ # vmkload_mod -s fnic
vmkload_mod module information
 input file: /usr/lib/vmware/vmkmod/fnic
 Version: Version 1.5.0.8, Build: 472560, Interface: 9.2 Built on: Jun 14 2012
 License: GPLv2
 Name-space: com.cisco.fnic#9.2.0.0
 Required name-spaces:
 com.vmware.libfcoe#9.2.0.0
 com.vmware.libfc#9.2.0.0
 com.vmware.driverAPI#9.2.0.0
 com.vmware.vmkapi#v2_0_0_0
 Parameters:
 skb_mpool_max: int
 Maximum attainable private socket buffer memory pool size for the driver.
 skb_mpool_initial: int
 Driver's minimum private socket buffer memory pool size.
 heap_max: int
 Maximum attainable heap size for the driver.
 heap_initial: int Initial heap size allocated for the driver.

You can use this technique for other drivers as well by replacing ‘fnic’ with the short name of the driver you are trying to query. Hope this helps!