DPDK patches and discussions
 help / color / mirror / Atom feed
From: Laine Stump <laine@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>,
	Maxime Coquelin <maxime.coquelin@redhat.com>
Cc: "dev@openvswitch.org" <dev@openvswitch.org>,
	Yuanhan Liu <yuanhan.liu@linux.intel.com>,
	Flavio Leitner <fleitner@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	Michal Privoznik <mprivozn@redhat.com>,
	Ciara Loftus <ciara.loftus@intel.com>,
	Kevin Traynor <ktraynor@redhat.com>,
	Daniele Di Proietto <diproiettod@vmware.com>,
	"libvir-list@redhat.com" <libvir-list@redhat.com>,
	mark.b.kavanagh@intel.com, Michal Privoznik <mprivozn@redhat.com>
Subject: Re: [dpdk-dev] [libvirt] [RFC] Vhost-user backends cross-version migration support
Date: Thu, 2 Feb 2017 11:47:57 -0500	[thread overview]
Message-ID: <c4c89750-c83b-5db9-81e8-3dd4813d4e17@redhat.com> (raw)
In-Reply-To: <20170202150621.GQ2915@redhat.com>

On 02/02/2017 10:06 AM, Daniel P. Berrange wrote:
> On Thu, Feb 02, 2017 at 03:14:01PM +0100, Maxime Coquelin wrote:
>>
>> On 02/01/2017 12:41 PM, Daniel P. Berrange wrote:
>>> It depends where / how in OVS it needs to be set. The only stuff libvirt
>>> does with OVS is to run 'add-port' and 'del-port' commands via the ovs
>>> cli tool.

(aside note: the code that exec's ovs-vsctl was written back when there 
was no standardized API for performing such operations. libvirt would 
prefer to not exec external programs though, and I've heard that OVS may 
now have an official API of some sort for doing things like this (maybe 
via netlink or dbus or something?) If that's the case, can someone point 
me in the right direction?)

>>>   We pass through arguments from the port profile stored in the
>>> XML config.
>>>
>>>    <interface type='bridge'>
>>>      <source bridge='ovsbr'/>
>>>      <virtualport type='openvswitch'>
>>>        <parameters profileid='menial' interfaceid='09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f'/>
>>>      </virtualport>
>>>    </interface>
>>>
>>> eg those things in <parameters/> get passed as cli args to the 'add-port'
>>> command. Soo if add-port needs this new version string, then we'd need
>>> to add the version to the openvswitch virtualport XML.
>>>
>>> If the version is provided to OVS in a different command, then it would
>>> probably be outside scope of libvirt.
>> I think it would make sense to be a parameter of the add-port command.
>> But it would be for vhost-user related add-port command, I didn't find
>> where/if this is managed in libvirt XML.
> For vhost-user, libvirt does not have any interaction with OVS at
> all. If the thing that's using the vhost-user UNIX socket, in turn
> connects to OVS, that's outside scope of libvirt. IOW, for vhost-user
> OVS it seems like that job is for Nova / os-vif to solve.

This brings up another tangentially related question I came up against 
last night - qemu now has an option to report the host's MTU to the 
guest for virtio and vhost-user interfaces, and Michal Privoznik 
recently pushed patches to set the MTU sent to the guest via an explicit 
<mtu size='n'/> in libvirt's interface config:

    https://bugzilla.redhat.com/1408701

But it would be much nicer if libvirt could learn the MTU of [that stuff 
at the other end of the unix socket] without requiring intervention in 
libvirt's config. For example, I'm just now testing patches for 
tap-based interfaces (connecting to Linux host bridges or OVS switches) 
that query the current MTU of the bridge and report that to qemu; this 
eliminates the burden of configuring each interface of each guest 
individually (and changing that config in all those places if someone 
ever wants to change the MTU of the bridge).

As Dan says, though, libvirt's only interaction in the case of 
vhost-user is with the unix socket. Is there any way to learn what is 
the appropriate MTU from OVS in these cases? Or must Nova (or ovirt or 
some poor user) set that up in the libvirt config for every single 
interface?

  parent reply	other threads:[~2017-02-02 16:48 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-01  8:35 [dpdk-dev] " Maxime Coquelin
2017-02-01  9:14 ` [dpdk-dev] [libvirt] " Michal Privoznik
2017-02-01  9:43   ` Daniel P. Berrange
2017-02-01 11:33     ` Maxime Coquelin
2017-02-01 11:41       ` Daniel P. Berrange
2017-02-01 22:32         ` Michael S. Tsirkin
2017-02-02 14:14         ` Maxime Coquelin
2017-02-02 15:06           ` Daniel P. Berrange
2017-02-02 16:21             ` Michael S. Tsirkin
2017-02-02 17:10               ` Daniel P. Berrange
2017-02-02 17:20                 ` Michael S. Tsirkin
2017-02-02 17:29                   ` Daniel P. Berrange
2017-02-02 17:31                     ` Michael S. Tsirkin
2017-02-02 18:21                       ` Daniel P. Berrange
2017-02-02 18:27                         ` Michael S. Tsirkin
2017-02-03  9:27                           ` Daniel P. Berrange
2017-02-03  9:41                             ` Maxime Coquelin
2017-02-03 10:11                               ` Daniel P. Berrange
2017-02-03 11:36                                 ` Maxime Coquelin
2017-02-02 16:47             ` Laine Stump [this message]
2017-02-02 17:09               ` Michael S. Tsirkin
2017-02-02 17:13                 ` Daniel P. Berrange
2017-02-02 17:16                 ` Maxime Coquelin
2017-02-03  9:12                   ` Michal Privoznik
2017-02-03 17:40                     ` Laine Stump
2017-02-03 14:11 ` [dpdk-dev] " Maxime Coquelin
2017-02-03 15:34   ` Michael S. Tsirkin
2017-02-03 15:54     ` Daniel P. Berrange
2017-02-03 16:10       ` Michael S. Tsirkin
2017-02-03 17:22     ` Maxime Coquelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c4c89750-c83b-5db9-81e8-3dd4813d4e17@redhat.com \
    --to=laine@redhat.com \
    --cc=berrange@redhat.com \
    --cc=ciara.loftus@intel.com \
    --cc=dev@dpdk.org \
    --cc=dev@openvswitch.org \
    --cc=diproiettod@vmware.com \
    --cc=fleitner@redhat.com \
    --cc=ktraynor@redhat.com \
    --cc=libvir-list@redhat.com \
    --cc=mark.b.kavanagh@intel.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mprivozn@redhat.com \
    --cc=mst@redhat.com \
    --cc=yuanhan.liu@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).