Dan Smith wrote: > This patch adds basic support for C/R of open INET sockets. I think that > all the important bits of the TCP and ICSK socket structures is saved, > but I think there is still some additional IPv6 stuff that needs to be > handled. > > With this patch applied, the following script can be used to demonstrate > the functionality: > > https://lists.linux-foundation.org/pipermail/containers/2009-October/021239.html > > It shows that this enables migration of a sendmail process with open > connections from one machine to another without dropping. > > We probably need comments from the netdev people about the quality of > sanity checking we do on the values in the ckpt_hdr_socket_inet > structure on restart. > > Note that this still doesn't address lingering sockets yet. > > Changes in v3: > - Prevent restart from allowing a bind on a <1024 port unless the > user is granted that capability > - Add some sanity checking in the inet_precheck() function to make sure > the values read from the checkpoint image are within acceptable ranges > - Check the result of sock_restore_header_info() and fail if needed > > Changes in v2: > - Restore saddr, rcv_saddr, daddr, sport, and dport from the sockaddr > structure instead of saving them separately > - Fix 'sock' naming in sock_cptrst() > - Don't take the queue lock before skb_queue_tail() since it is > done for us > - Allow "listen only" restore behavior if RESTART_SOCK_LISTENONLY > flag is specified on sys_restart() > - Pull the implementation of the list of listening sockets back into > this patch > - Fix dangling printk > - Add some comments around the parent/child restore logic > > Cc: netdev@xxxxxxxxxxxxxxx > Cc: Oren Laadan <orenl@xxxxxxxxxxx> > Cc: John Dykstra <jdykstra72@xxxxxxxxx> > Signed-off-by: Dan Smith <danms@xxxxxxxxxx> > --- This looks good: Acked-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> I still want to move this to right under the restart-specific fields: struct list_head listen_sockets;/* listening parent sockets */ Also, I'm looking for a better name for RESTART_SOCK_LISTENONLY (it isn't listen only, udp sockets are preserved...), something that will convey the idea that we drop old connections, perhaps: RESTART_NET_RESET RESTART_CONN_RESET RESTART_DROPCONN ? Oren. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers