[RFC] Change socket checkpoint to retain DGRAM source addresses
Serge E. Hallyn
serue at us.ibm.com
Mon Aug 24 17:06:32 PDT 2009
Quoting Dan Smith (danms at us.ibm.com):
> This is a proposed change to the way sockets are checkpointed.
> It makes the socket itself a proper objhash object, which can be
> checkpointed or restored as part of reading the stream (like many
> of the other first-class objects). Thus, we worry about
> checkpointing and restoring the socket-typed file, and read the
> related socket object(s) as a matter of course.
> By doing this, we are able to checkpoint sockets we find that
> aren't attached to descriptors. This is used in the final patch
> to make sure that a socket buffer's owner socket has been
> checkpointed, allowing us to use that socket to re-send the
> buffer on restore (thus retaining the source address).
> I've got a unit test for this that sets up three sockets, and
> loads some in-flight buffers before checkpoint, verifying that
> after checkpoint, recvfrom() sees them from the appropriate
> source socket.
> Does this approach seem reasonable?
I think so... and so far haven't found any problems in the
code itself. Will look a little more, but so far
Acked-by: Serge Hallyn <serue at us.ibm.com>
More information about the Containers