1package libcontainer
2
3import criu "github.com/checkpoint-restore/go-criu/v4/rpc"
4
5type CriuPageServerInfo struct {
6	Address string // IP address of CRIU page server
7	Port    int32  // port number of CRIU page server
8}
9
10type VethPairName struct {
11	ContainerInterfaceName string
12	HostInterfaceName      string
13}
14
15type CriuOpts struct {
16	ImagesDirectory         string             // directory for storing image files
17	WorkDirectory           string             // directory to cd and write logs/pidfiles/stats to
18	ParentImage             string             // directory for storing parent image files in pre-dump and dump
19	LeaveRunning            bool               // leave container in running state after checkpoint
20	TcpEstablished          bool               // checkpoint/restore established TCP connections
21	ExternalUnixConnections bool               // allow external unix connections
22	ShellJob                bool               // allow to dump and restore shell jobs
23	FileLocks               bool               // handle file locks, for safety
24	PreDump                 bool               // call criu predump to perform iterative checkpoint
25	PageServer              CriuPageServerInfo // allow to dump to criu page server
26	VethPairs               []VethPairName     // pass the veth to criu when restore
27	ManageCgroupsMode       criu.CriuCgMode    // dump or restore cgroup mode
28	EmptyNs                 uint32             // don't c/r properties for namespace from this mask
29	AutoDedup               bool               // auto deduplication for incremental dumps
30	LazyPages               bool               // restore memory pages lazily using userfaultfd
31	StatusFd                int                // fd for feedback when lazy server is ready
32}
33