Modifying rx/tx Chksums in Linux Driver Using the Xsigo Driver
To modify chksum offload to off on Linux
To turn off on the fly – but wont stay after a reboot
Firs, remove the module by running run
rmmod xve
Next, add back the module by running
modprobe xve xs_seq_file=1 xve_no_tx_checksum_offload=1 modinfo xve
For permanent set add the below highlight
cat /etc/modprobe.d/xsigo.conf
### START xsigo entries ###
options ib_mthca rdb_per_qp=64
options mlx4_core log_rdmarc_per_qp=6
options xscore xsigod_enable=1 boot_flag=0 rdma_responder_resources=64
options xsvnic xsvnic_havnic=1 xs_seq_file=1
options xve xs_seq_file=1 xve_no_tx_checksum_offload=1
### END xsigo entries ###
Then run the below (replace with your kernel version)
/opt/xsigo/bin/xsigo-hostdriver-setup --kversion 2.6.39-400.17.1.el6uek.x86_64 --ofed-version native-install
Modifying ESX chksum offload to off
To check in ESX if checksums are off
/usr/sbin/esxcfg-module -g xve xve enabled = 1 options = ''
To modify the chksum to off
/usr/sbin/esxcfg-module -s xve_no_tx_checksum_offload=1 xve /usr/sbin/esxcfg-module -g xve xve enabled = 1 options = 'xve_no_tx_checksum_offload=1'
Next, we need to re-load the module
First, we unload the module
vmkload_mod -u xve Module xve successfully unloaded
To reload the module just run
vmkload_mod xve xve_no_tx_checksum_offload=1
To verify on the interface
ethtool -k 2018_pviB (assuming the interface name is 2018_pviB)
ethtool -k 2018_pviB Offload parameters for 2018_pviB: Cannot get device scatter-gather settings: Operation not supported Cannot get device tcp segmentation offload settings: Operation not supported Cannot get device udp large send offload settings: Function not implemented Cannot get device generic segmentation offload settings: Function not implemented rx-checksumming: off tx-checksumming: off scatter-gather: off tcp segmentation offload: off udp fragmentation offload: off generic segmentation offload: off