[RFC] Change socket checkpoint to retain DGRAM source addresses
danms at us.ibm.com
Mon Aug 24 10:11:55 PDT 2009
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
Does this approach seem reasonable?
More information about the Containers