[ovs-discuss] For help about ssh between vms through ovs-dkdp

Traynor, Kevin kevin.traynor at intel.com
Thu May 21 14:48:36 UTC 2015


> -----Original Message-----
> From: Daniele Di Proietto [mailto:diproiettod at vmware.com]
> Sent: Wednesday, May 20, 2015 4:12 PM
> To: Traynor, Kevin
> Cc: ???0280; discuss; ??0310
> Subject: Re: [ovs-discuss] For help about ssh between vms through ovs-dkdp
> 
> 
> On 20/05/2015 15:21, "Traynor, Kevin" <kevin.traynor at intel.com> wrote:
> 
> >
> >
> >> -----Original Message-----
> >
> >> From: Daniele Di Proietto [mailto:diproiettod at vmware.com]
> >
> >> Sent: Wednesday, May 20, 2015 1:47 PM
> >
> >> To: 钢锁0310
> >
> >> Cc: 通天晓0280; discuss; Traynor, Kevin
> >
> >> Subject: Re: [ovs-discuss] For help about ssh between vms through
> >>ovs-dkdp
> >
> >>
> >
> >> This might be related to offloading features.
> >
> >>
> >
> >> Could you try again with this qemu "-device" option and let us know?
> >
> >> -device
> >
> >>
> >>virtio-net-pci,netdev=net1,csum=off,gso=off,guest_tso4=off,guest_tso6=off
> >>,g
> >
> >> uest_ecn=off
> >
> >
> >
> >I checked this previously and the DPDK vhost lib will report those
> >features
> >
> >as not available during negotiation so you should be ok with not
> >specifying
> >
> >them explicitly in the qemu cmd line. I haven't tested with qemu 2.3.
> >
> >
> >
> >>
> >
> >>
> >
> >> Kevin, do you this we should mention this in INSTALL.DPDk.md?
> >
> >
> >
> >I had changed the original patch to make it optional in 3a based on
> >feedback
> >
> >from Michael Tsirkin and testing. So unless we find an issue, I'd prefer
> >to
> >
> >leave optional.
> >
> >https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openvswitc
> >h_ovs_blob_master_INSTALL.DPDK.md-23dpdk-2Dvhost-2Dvm-2Dconfiguration&d=Aw
> >IGoQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=SmB5nZacmXNq0gKCC1s_C
> >w5yUNjxgD4v5kJqZ2uWLlE&m=iM-aCjDqF2zfP98Zeafj9Z78WnCYvkzPSyZeV1kVGWg&s=SOm
> >_egKoAfzUwWioueTrQ9W2sa_WSUwKC74LO5SNvWs&e=
> >
> 
> If I don't add the extra options, my guests (Debian wheezy kernel 3.2 and
> Ubuntu 14.04 kernel 3.13, running on QEMU 2.1.3) see these features
> 
> # ethtool -k eth0
> 
> Features for eth0:
>                                                 rx-checksumming: off
> [fixed]
>                                                 tx-checksumming: on
>         tx-checksum-ipv4: off [fixed]
>         tx-checksum-unneeded: off [fixed]
>         tx-checksum-ip-generic: on
>         tx-checksum-ipv6: off [fixed]
>         tx-checksum-fcoe-crc: off [fixed]
>         tx-checksum-sctp: off [fixed]
>                                                 scatter-gather: on
>         tx-scatter-gather: on
>         tx-scatter-gather-fraglist: on
>                                                 tcp-segmentation-offload:
> on
>         tx-tcp-segmentation: on
>         tx-tcp-ecn-segmentation: on
>         tx-tcp6-segmentation: on
>                                                 udp-fragmentation-offload:
> on
> 
> generic-segmentation-offload: on
>                                                 generic-receive-offload: on
>                                                 large-receive-offload: off
> [fixed]
> [...]
> 
> 
> Pings work, but everything else (e.g. DNS lookups) doesn't.
> To fix the setup I have either to add the extra options or to disable the
> offloads (inside the guest) with
> 
>   ethtool -K eth0 tx off

I'm seeing that too. I can see that the dpdk vhost is reporting the correct
features it supports:
VHOST_CONFIG: (0) Device configuration started
vhost: get_features() returning: pu=0x0000000000068000

where the bits represent
#define VIRTIO_NET_F_MRG_RXBUF  0x08000 /* Host can merge receive buffers. */
#define VIRTIO_NET_F_CTRL_VQ    0x20000 /* Control channel available */
#define VIRTIO_NET_F_CTRL_RX    0x40000 /* Control channel RX mode support */

and then the negotiation appears to complete correctly when the dpdk vhost
set_features() is called:

vhost: set_features called: pu=0x0000000000008000
2015-05-21T14:08:56Z|00001|dpdk(cuse_thread2)|INFO|vHost Device 'dpdkvhost0' (0) has been added

but it looks like the negotiated features are not being reported or used? 
# ethtool -k eth1
Offload parameters for eth1:
rx-checksumming: off
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: on
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off
rx-vlan-offload: off
tx-vlan-offload: off
ntuple-filters: off
receive-hashing: off

Previously when I had tested, I had checked the negotiation but went on to
run a dpdk app in the guest and didn't see this issue. So, I think it may
need to go back into the docs...let me know what you think and I can adjust.




More information about the discuss mailing list