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