CRIU: Add support for checkpoint/restore of CORK-ed UDP socket
- Mentors
- Pavel Tikhomirov
- Organization
- CRIU
- Technologies
- c, linux kernel, Socket, CRIU
- Topics
- linux kernel, Checkpoint/Restore, UDP CORK
CRIU currently does not support checkpoint/restore for UDP sockets with the UDP_CORK socket option. In order for CRIU to support the UDP_CORK socket option, we need to read back the data in the UDP socket send queue at the checkpoint, and restore the send queue data along with the UDP_CORK socket option to the new UDP socket at the restore. In order to implement reading back UDP socket send queues, we need to find a way to extend the Linux kernel that is accepted by the kernel community.
In this proposal I proposed 6 technical paths that can be used to implement dumping of UDP socket send queue and analyzed their advantages and disadvantages, including an innovative approach to dumping kernel information using eBPF.