[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level |
Date: |
Thu, 23 Feb 2017 11:40:45 +0000 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
* Daniel P. Berrange (address@hidden) 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 (address@hidden) wrote:
> > > "Dr. David Alan Gilbert (git)" <address@hidden> wrote:
> > > > From: "Dr. David Alan Gilbert" <address@hidden>
> > > >
> > > > 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 <address@hidden>
> > >
> > > Reviewed-by: Juan Quintela <address@hidden>
> > >
> > >
> > > > +/* 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 / address@hidden / Manchester, UK
- [Qemu-devel] [PATCH v4 0/5] SLIRP VMStatification, Dr. David Alan Gilbert (git), 2017/02/20
- [Qemu-devel] [PATCH v4 3/5] slirp: Common lhost/fhost union, Dr. David Alan Gilbert (git), 2017/02/20
- [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Dr. David Alan Gilbert (git), 2017/02/20
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Juan Quintela, 2017/02/21
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Dr. David Alan Gilbert, 2017/02/21
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Dr. David Alan Gilbert, 2017/02/23
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Daniel P. Berrange, 2017/02/23
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level,
Dr. David Alan Gilbert <=
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Samuel Thibault, 2017/02/26
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Samuel Thibault, 2017/02/26
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Dr. David Alan Gilbert, 2017/02/28
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Samuel Thibault, 2017/02/28
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Dr. David Alan Gilbert, 2017/02/28
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Samuel Thibault, 2017/02/28
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Dr. David Alan Gilbert, 2017/02/28
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Samuel Thibault, 2017/02/28
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Dr. David Alan Gilbert, 2017/02/28
- Re: [Qemu-devel] [PATCH v4 4/5] slirp: VMStatify socket level, Samuel Thibault, 2017/02/28