qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>,
	samuel.thibault@ens-lyon.org, qemu-devel@nongnu.org,
	jan.kiszka@siemens.com, maethor@subiron.org
Subject: Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level
Date: Thu, 23 Feb 2017 11:40:45 +0000	[thread overview]
Message-ID: <20170223114045.GB2383@work-vm> (raw)
In-Reply-To: <20170223110433.GL10047@redhat.com>

* Daniel P. Berrange (berrange@redhat.com) wrote:
> On Thu, Feb 23, 2017 at 10:51:56AM +0000, Dr. David Alan Gilbert wrote:
> > Samual, Jan: Can you just take 1-3 of this series;  4 has a problem;
> > 
> > * Juan Quintela (quintela@redhat.com) wrote:
> > > "Dr. David Alan Gilbert (git)" <dgilbert@redhat.com> wrote:
> > > > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> > > >
> > > > Working up the stack, this replaces the slirp_socket_load/save
> > > > with VMState definitions.
> > > >
> > > > A place holder for IPv6 support is added as a comment; it needs
> > > > testing once the rest of the IPv6 code is there.
> > > >
> > > > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> > > 
> > > Reviewed-by: Juan Quintela <quintela@redhat.com>
> > > 
> > > 
> > > > +/* Win has a signed family number */
> > > > +#define VMSTATE_SS_FAMILY(f, s) VMSTATE_INT16(f, s)
> > > 
> > > Great!
> > > Just hope that there is no 32000 families soon :-)
> > 
> > Actually; that's a problem;  it turns out FreeBSD has a char for it's
> > family type rahter than the uint16 that linux and windows have.
> > I need to think hth to abstract that.
> 
> What, if any, promises have we made about the migration data format
> being ABI stable across platforms ?

It should be in theory; it should just reflect the state of the guest, and
the state of the guest should be independent of the platform it's running on.
Now slirp is a bit of an odd case since it involves more host state.

> It strikes me that even if FreeBSD & Linux had the same sized type
> for ss_family, the constants used to popuate it might be different
> on each platform. eg AF_INET6 is 10 on Linux but 23 on Mingw and
> probably something else again on FreeBSD.

Ewww I'd thought that was at least standardised.
It looks like AF_INET is 2 on Linux, mingw and FreeBSD;
but AF_INET6 is more dependent on what snook in before hand.

> IOW if we transmit this data on the wire, we've effectively said that
> our migration data format is *not* portable across different host OS
> platforms. At that point, sending different sized types on BSD vs
> Linux is no big deal since we're already incompatible semantically.

This is a relatively recent error; it comes from eae303ff which added
ss_family to allow IPv6.

I suspect the right fix here is to populate a temporary for ss_family
on the wire; if we make it conveniently match Linux's AF_INET6 values
it might work.

Dave

> Regards,
> Daniel
> -- 
> |: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
> |: http://libvirt.org              -o-             http://virt-manager.org :|
> |: http://entangle-photo.org       -o-    http://search.cpan.org/~danberr/ :|
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2017-02-23 11:40 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-20 18:50 [Qemu-devel] [PATCH v4 0/5] SLIRP VMStatification Dr. David Alan Gilbert (git)
2017-02-20 18:50 ` [Qemu-devel] [PATCH v4 1/5] slirp: VMState conversion; tcpcb Dr. David Alan Gilbert (git)
2017-02-20 18:50 ` [Qemu-devel] [PATCH v4 2/5] slirp: VMStatify sbuf Dr. David Alan Gilbert (git)
2017-02-20 18:50 ` [Qemu-devel] [PATCH v4 3/5] slirp: Common lhost/fhost union Dr. David Alan Gilbert (git)
2017-02-20 21:02   ` Philippe Mathieu-Daudé
2017-02-21 13:55   ` Juan Quintela
2017-02-20 18:50 ` [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level Dr. David Alan Gilbert (git)
2017-02-21 14:03   ` Juan Quintela
2017-02-21 14:08     ` Dr. David Alan Gilbert
2017-02-23 10:51     ` Dr. David Alan Gilbert
2017-02-23 11:04       ` Daniel P. Berrange
2017-02-23 11:40         ` Dr. David Alan Gilbert [this message]
2017-02-26 20:34           ` Samuel Thibault
2017-02-26 22:59             ` Samuel Thibault
2017-02-28 16:54             ` Dr. David Alan Gilbert
2017-02-28 16:57               ` Samuel Thibault
2017-02-28 17:00                 ` Dr. David Alan Gilbert
2017-02-28 17:02                   ` Samuel Thibault
2017-02-28 17:09                     ` Dr. David Alan Gilbert
2017-02-28 17:12                       ` Samuel Thibault
2017-02-28 17:40                         ` Dr. David Alan Gilbert
2017-02-28 22:09                           ` Samuel Thibault
2017-02-20 18:50 ` [Qemu-devel] [PATCH v4 5/5] slirp: VMStatify remaining except for loop Dr. David Alan Gilbert (git)
2017-02-21 13:57   ` Juan Quintela
2017-02-20 19:02 ` [Qemu-devel] [PATCH v4 0/5] SLIRP VMStatification no-reply

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=20170223114045.GB2383@work-vm \
    --to=dgilbert@redhat.com \
    --cc=berrange@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=maethor@subiron.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=samuel.thibault@ens-lyon.org \
    /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).