Changes

Jump to navigation Jump to search
Line 28: Line 28:  
* Suggested by: Andrei Vagin <avagin@gmail.com>
 
* Suggested by: Andrei Vagin <avagin@gmail.com>
 
* Mentors: Alexander Mikhalitsyn <alexander@mihalicyn.com>, Andrei Vagin <avagin@gmail.com>
 
* Mentors: Alexander Mikhalitsyn <alexander@mihalicyn.com>, Andrei Vagin <avagin@gmail.com>
  −
=== Add support for checkpoint/restore of CORK-ed UDP socket ===
  −
  −
'''Summary:''' Support C/R of corked UDP socket
  −
  −
There's UDP_CORK option for sockets. As man page says:
  −
<pre>
  −
    If this option is enabled, then all data output on this socket
  −
    is accumulated into a single datagram that is transmitted when
  −
    the option is disabled.  This option should not be used in
  −
    code intended to be portable.
  −
</pre>
  −
  −
Currently criu refuses to dump this case, so it's effectively a bug. Supporting
  −
this will need extending the kernel API to allow criu read back the write queue
  −
of the socket (see [[TCP connection|how it's done]] for TCP sockets, for example). Then
  −
the queue is written into the image and is restored into the socket (with the CORK
  −
bit set too).
  −
  −
'''Links:'''
  −
* https://github.com/checkpoint-restore/criu/issues/409
  −
* https://github.com/criupatchwork/criu/commit/a532312
  −
* [[Sockets]], [[TCP connection]]
  −
* [[https://groups.google.com/forum/#!topic/comp.os.linux.networking/Uz8PYiTCZSg UDP cork explained]]
  −
  −
'''Details:'''
  −
* Skill level: intermediate (+linux kernel)
  −
* Language: C
  −
* Expected size: 350 hours
  −
* Mentors: Alexander Mikhalitsyn <alexander@mihalicyn.com>, Pavel Tikhomirov <ptikhomirov@virtuozzo.com>, Andrei Vagin <avagin@gmail.com>
      
=== Use eBPF to lock and unlock the network ===
 
=== Use eBPF to lock and unlock the network ===

Navigation menu