This is what I was trying to show in that image.
root@vm2-Standard-PC-i440FX-PIIX-1996:/home/vm2# ethtool -k ens3
Features for ens3:
rx-checksumming: on [fixed]
tx-checksumming: off
    tx-checksum-ipv4: off [fixed]
    tx-checksum-ip-generic: off [fixed]
    tx-checksum-ipv6: off [fixed]
    tx-checksum-fcoe-crc: off [fixed]
    tx-checksum-sctp: off [fixed]
scatter-gather: off
    tx-scatter-gather: off [fixed]
    tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
    tx-tcp-segmentation: off [fixed]
    tx-tcp-ecn-segmentation: off [fixed]
    tx-tcp6-segmentation: off [fixed]
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: off [requested on]
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: off [fixed]
tx-vlan-offload: off [fixed]
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: on [fixed]
rx-vlan-filter: on [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-ipip-segmentation: off [fixed]
tx-sit-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: on [fixed]
hw-tc-offload: off [fixed]
root@vm2-Standard-PC-i440FX-PIIX-1996:/home/vm2# ethtool -K ens3 sg on tx on tso on gso on
Cannot change tx-checksumming
Cannot change scatter-gather
Cannot change tcp-segmentation-offload
Could not change any device features

 I have changed my VM domain XML file to:
<interface type='vhostuser'>
      <mac address='52:54:00:e0:07:94'/>
      <source type='unix' path='/usr/local/var/run/openvswitch/vhost-user2' mode='client'/>
      <model type='virtio'/>
      <driver name='vhost' queues='6'>
        <host csum='on' gso='on' tso4='on' tso6='on' ecn='on' ufo='on' mrg_rxbuf='on'/>
        <guest csum='on' tso4='on' tso6='on' ecn='on' ufo='on'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

Still, I get the same error. I want to get TSO feature in this DPDK vhost user port. Unable to enable it.

On Fri, May 3, 2019 at 6:29 PM Michal Privoznik <> wrote:
On 5/3/19 10:19 AM, Harsh Gondaliya wrote:
> In my Linux VM, I am unable to change scatter-gather / tx-checksumming /
> TCP-segmentation offload features by ethtool command. I am using virtio nic
> with vhostuser port backend.
> It shows me an error:
> Cannot change tx-checksumming
> Cannot change scatter-gather
> Cannot change tcp-segmentation offload
> Could not change any device features

You need to enable those in domain XML:

> Ony running command ethtool -k ens3, I get the following:
> [image: image.png]

Oh¸ it's way better to post this as a text rather than image. Some of us
use text clients to read e-mails.