> -----Original Message-----
> From: Daniele Di Proietto [mailto:diproiet...@vmware.com]
> Sent: Thursday, May 21, 2015 4:23 PM
> To: Traynor, Kevin
> Cc: discuss
> Subject: Re: [ovs-discuss] For help about ssh between vms through ovs-dkdp
> 
> 
> 
> On 21/05/2015 15:48, "Traynor, Kevin" <kevin.tray...@intel.com> wrote:
> 
> >
> >> -----Original Message-----
> >> From: Daniele Di Proietto [mailto:diproiet...@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.tray...@intel.com> wrote:
> >>
> >> >
> >> >
> >> >> -----Original Message-----
> >> >
> >> >> From: Daniele Di Proietto [mailto:diproiet...@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=o
> >>>>ff
> >> >>,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_openvswi
> >>>tc
> >>
> >>>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=S
> >>>Om
> >> >_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.
> 
> Thanks for confirming that Kevin,
> 
> It appears that qemu only negotiates offloadings with a vhost-user peer.
> Looking at qemu(2.3.0) hw/net/vhost_net.c:110 it seems that
> `vhost_net_get_features()` will consider disabling offloadings only if
> dealing with a `NET_CLIENT_OPTIONS_KIND_VHOST_USER` peer (since vhost-cuse
> "emulates" a kernel vhost, our devices will appear as
> `NET_CLIENT_OPTIONS_KIND_TAP`).
> 
> I don't know why qemu behaves like this (I'm definitely not a QEMU expert),
> but I'm sure it has its good reasons.
> 
> Unless you want to dig further I suggest we add the extra QEMU options to
> INSTALL.DPDK.md.  Vhost-user shouldn't have this problem.
> 
> What do you think?
> 
> Daniele

Yeah, I think we should add it. I'm not sure what the pipeline is like, but
maybe we could hold off until after vhost-user because it'll force another
rebase for INSTALL.DPDK and we can cover vhost-user qemu params then also.
If you want to put it in straight away I'm ok with that too.


_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to