Hello, Dr. David Alan Gilbert (git), on Thu 27 Oct 2016 16:32:16 +0100, wrote: > - case AF_INET: > - qemu_put_be32(f, so->so_faddr.s_addr); > - qemu_put_be16(f, so->so_fport); > - break;
> + if (version_id >= 4 && !is_inet) { > + error_report("%s: so_ffamily unknown, socket not preserved", > __func__); > } Well, no, we need to settle this another way, because we want to be able to easily add inet6 support here. At least pave the way in a way that makes it not unnecessarily hard. The code you are adding here looks to me like very hard to rework to make it support the various socket families. > + VMSTATE_UINT16_V(so_ffamily, struct socket, 4), > + VMSTATE_UINT32_TEST(so_faddr.s_addr, struct socket, > + slirp_v4_or_newer_ffamily_inet), > + VMSTATE_UINT16_TEST(so_fport, struct socket, > + slirp_v4_or_newer_ffamily_inet), Does VMStat not provide a way to have differing content depending on a field? (here, so_ffamily) Samuel