1 package libcontainer 2 3 import criu "github.com/checkpoint-restore/go-criu/v5/rpc" 4 5 type CriuPageServerInfo struct { 6 Address string // IP address of CRIU page server 7 Port int32 // port number of CRIU page server 8 } 9 10 type VethPairName struct { 11 ContainerInterfaceName string 12 HostInterfaceName string 13 } 14 15 type 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 LsmProfile string // LSM profile used to restore the container 33 LsmMountContext string // LSM mount context value to use during restore 34 } 35