Dan Smith wrote: > 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). It will also be useful when restoring two other important cases: 1) A listening socket that with "pending" connections - that is, established connections for which the app should call accept(). 2) Sockets that are "dangling": have been closed by the owner process but linger in the system because they are referenced somehow (through skb, peer etc). > > 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? > Yep. Oren. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers