1234567891011121314151617181920212223242526272829303132333435363738 |
- // +build linux freebsd
- package libcontainer
- // cgroup restoring strategy provided by criu
- type cg_mode uint32
- const (
- CRIU_CG_MODE_SOFT cg_mode = 3 + iota // restore cgroup properties if only dir created by criu
- CRIU_CG_MODE_FULL // always restore all cgroups and their properties
- CRIU_CG_MODE_STRICT // restore all, requiring them to not present in the system
- CRIU_CG_MODE_DEFAULT // the same as CRIU_CG_MODE_SOFT
- )
- type CriuPageServerInfo struct {
- Address string // IP address of CRIU page server
- Port int32 // port number of CRIU page server
- }
- type VethPairName struct {
- ContainerInterfaceName string
- HostInterfaceName string
- }
- type CriuOpts struct {
- ImagesDirectory string // directory for storing image files
- WorkDirectory string // directory to cd and write logs/pidfiles/stats to
- LeaveRunning bool // leave container in running state after checkpoint
- TcpEstablished bool // checkpoint/restore established TCP connections
- ExternalUnixConnections bool // allow external unix connections
- ShellJob bool // allow to dump and restore shell jobs
- FileLocks bool // handle file locks, for safety
- PageServer CriuPageServerInfo // allow to dump to criu page server
- VethPairs []VethPairName // pass the veth to criu when restore
- ManageCgroupsMode cg_mode // dump or restore cgroup mode
- EmptyNs uint32 // don't c/r properties for namespace from this mask
- }
|