[CRIU] Checkpointing with active ICMP sockets?

Pavel Emelyanov xemul at parallels.com
Tue Apr 28 01:05:12 PDT 2015


On 04/27/2015 06:12 PM, Vangelis Tasoulas wrote:
> Hello,
> 
> I am experimenting with the lxc checkpoint and restore functionality.
> I followed this guide:
> http://tycho.ws/blog/2014/09/container-migration.html and I am able to
> checkpoint and restore a container on the same machine (I haven't
> bothered with migration functionality yet).
> However, if I SSH into the container and start pinging another host, the
> dump is failing with the error: "Unknown pair family 2 proto 1"
> 
> Pair family id 2 belongs to AF_INET and proto id 1 belongs to the
> IPPROTO_ICMP
> (http://lxr.free-electrons.com/source/include/uapi/linux/in.h#L29).
> That makes sense since I am pinging, and ping is using ICMP packets.
> 
> As I see in the function get_collect_bit_nr() (located in the
> criu/sockets.c) that raises this dump error, IPPROTO_ICMP is indeed not
> handled.
> Only IPPROTO_TCP, IPPROTO_UDP and IPPROTO_UDPLITE are present, but not
> IPPROTO_ICMP.
> 
> Are there any specific reasons why ICMP isn't supported by CRIU yet, or
> is this just a "bug"?

It's just happened that we didn't include support for it in criu. IIRC
there were no icmp-specific things that had to be dumped and restored,
so just enabling the proto and c/r-ing generic socket stuff (bind, opts)
should be enough.

-- Pavel



More information about the CRIU mailing list