deps: bump go-criu to v6
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
This commit is contained in:
parent
fa19f57ebe
commit
b8e03ab44d
2
go.mod
2
go.mod
|
@ -7,7 +7,7 @@ require (
|
||||||
github.com/blang/semver/v4 v4.0.0
|
github.com/blang/semver/v4 v4.0.0
|
||||||
github.com/buger/goterm v1.0.4
|
github.com/buger/goterm v1.0.4
|
||||||
github.com/checkpoint-restore/checkpointctl v0.0.0-20220321135231-33f4a66335f0
|
github.com/checkpoint-restore/checkpointctl v0.0.0-20220321135231-33f4a66335f0
|
||||||
github.com/checkpoint-restore/go-criu/v5 v5.3.0
|
github.com/checkpoint-restore/go-criu/v6 v6.3.0
|
||||||
github.com/container-orchestrated-devices/container-device-interface v0.5.2
|
github.com/container-orchestrated-devices/container-device-interface v0.5.2
|
||||||
github.com/containernetworking/cni v1.1.2
|
github.com/containernetworking/cni v1.1.2
|
||||||
github.com/containernetworking/plugins v1.1.1
|
github.com/containernetworking/plugins v1.1.1
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -139,8 +139,9 @@ github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cb
|
||||||
github.com/checkpoint-restore/checkpointctl v0.0.0-20220321135231-33f4a66335f0 h1:txB5jvhzUCSiiQmqmMWpo5CEB7Gj/Hq5Xqi7eaPl8ko=
|
github.com/checkpoint-restore/checkpointctl v0.0.0-20220321135231-33f4a66335f0 h1:txB5jvhzUCSiiQmqmMWpo5CEB7Gj/Hq5Xqi7eaPl8ko=
|
||||||
github.com/checkpoint-restore/checkpointctl v0.0.0-20220321135231-33f4a66335f0/go.mod h1:67kWC1PXQLR3lM/mmNnu3Kzn7K4TSWZAGUuQP1JSngk=
|
github.com/checkpoint-restore/checkpointctl v0.0.0-20220321135231-33f4a66335f0/go.mod h1:67kWC1PXQLR3lM/mmNnu3Kzn7K4TSWZAGUuQP1JSngk=
|
||||||
github.com/checkpoint-restore/go-criu/v5 v5.2.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
|
github.com/checkpoint-restore/go-criu/v5 v5.2.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
|
||||||
github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8=
|
|
||||||
github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
|
github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
|
||||||
|
github.com/checkpoint-restore/go-criu/v6 v6.3.0 h1:mIdrSO2cPNWQY1truPg6uHLXyKHk3Z5Odx4wjKOASzA=
|
||||||
|
github.com/checkpoint-restore/go-criu/v6 v6.3.0/go.mod h1:rrRTN/uSwY2X+BPRl/gkulo9gsKOSAeVp9/K2tv7xZI=
|
||||||
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
||||||
github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM=
|
github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM=
|
||||||
github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ=
|
github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ=
|
||||||
|
@ -873,6 +874,7 @@ github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKv
|
||||||
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||||
github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
|
github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
|
||||||
github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk=
|
github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk=
|
||||||
|
github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM=
|
||||||
github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
|
github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
|
||||||
github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
|
github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
|
||||||
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
||||||
|
|
|
@ -19,7 +19,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
metadata "github.com/checkpoint-restore/checkpointctl/lib"
|
metadata "github.com/checkpoint-restore/checkpointctl/lib"
|
||||||
"github.com/checkpoint-restore/go-criu/v5/stats"
|
"github.com/checkpoint-restore/go-criu/v6/stats"
|
||||||
cdi "github.com/container-orchestrated-devices/container-device-interface/pkg/cdi"
|
cdi "github.com/container-orchestrated-devices/container-device-interface/pkg/cdi"
|
||||||
"github.com/containers/buildah"
|
"github.com/containers/buildah"
|
||||||
"github.com/containers/buildah/pkg/chrootuser"
|
"github.com/containers/buildah/pkg/chrootuser"
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
metadata "github.com/checkpoint-restore/checkpointctl/lib"
|
metadata "github.com/checkpoint-restore/checkpointctl/lib"
|
||||||
"github.com/checkpoint-restore/go-criu/v5/stats"
|
"github.com/checkpoint-restore/go-criu/v6/stats"
|
||||||
"github.com/containers/storage/pkg/archive"
|
"github.com/containers/storage/pkg/archive"
|
||||||
"github.com/opencontainers/selinux/go-selinux/label"
|
"github.com/opencontainers/selinux/go-selinux/label"
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
package criu
|
package criu
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/checkpoint-restore/go-criu/v5"
|
"github.com/checkpoint-restore/go-criu/v6"
|
||||||
"github.com/checkpoint-restore/go-criu/v5/rpc"
|
"github.com/checkpoint-restore/go-criu/v6/rpc"
|
||||||
|
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
)
|
)
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/checkpoint-restore/go-criu/v5/stats"
|
"github.com/checkpoint-restore/go-criu/v6/stats"
|
||||||
"github.com/containers/podman/v4/pkg/checkpoint/crutils"
|
"github.com/containers/podman/v4/pkg/checkpoint/crutils"
|
||||||
"github.com/containers/podman/v4/pkg/criu"
|
"github.com/containers/podman/v4/pkg/criu"
|
||||||
"github.com/containers/podman/v4/pkg/domain/entities"
|
"github.com/containers/podman/v4/pkg/domain/entities"
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
test/test
|
|
||||||
test/test.coverage
|
|
||||||
test/piggie/piggie
|
|
||||||
test/phaul/phaul
|
|
||||||
test/phaul/phaul.coverage
|
|
||||||
image
|
|
|
@ -1,107 +0,0 @@
|
||||||
SHELL = /bin/bash
|
|
||||||
GO ?= go
|
|
||||||
CC ?= gcc
|
|
||||||
COVERAGE_PATH ?= $(shell pwd)/.coverage
|
|
||||||
CRIU_FEATURE_MEM_TRACK = $(shell if criu check --feature mem_dirty_track > /dev/null; then echo 1; else echo 0; fi)
|
|
||||||
CRIU_FEATURE_LAZY_PAGES = $(shell if criu check --feature uffd-noncoop > /dev/null; then echo 1; else echo 0; fi)
|
|
||||||
CRIU_FEATURE_PIDFD_STORE = $(shell if criu check --feature pidfd_store > /dev/null; then echo 1; else echo 0; fi)
|
|
||||||
|
|
||||||
export CRIU_FEATURE_MEM_TRACK CRIU_FEATURE_LAZY_PAGES CRIU_FEATURE_PIDFD_STORE
|
|
||||||
|
|
||||||
all: build test phaul-test
|
|
||||||
|
|
||||||
lint:
|
|
||||||
golangci-lint run ./...
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(GO) build -v ./...
|
|
||||||
|
|
||||||
TEST_PAYLOAD := test/piggie/piggie
|
|
||||||
TEST_BINARIES := test/test $(TEST_PAYLOAD) test/phaul/phaul
|
|
||||||
COVERAGE_BINARIES := test/test.coverage test/phaul/phaul.coverage
|
|
||||||
test-bin: $(TEST_BINARIES)
|
|
||||||
|
|
||||||
test/piggie/piggie: test/piggie/piggie.c
|
|
||||||
$(CC) $^ -o $@
|
|
||||||
|
|
||||||
test/test: test/main.go
|
|
||||||
$(GO) build -v -o $@ $^
|
|
||||||
|
|
||||||
test: $(TEST_BINARIES)
|
|
||||||
mkdir -p image
|
|
||||||
PID=$$(test/piggie/piggie) && { \
|
|
||||||
test/test dump $$PID image && \
|
|
||||||
test/test restore image; \
|
|
||||||
pkill -9 piggie; \
|
|
||||||
}
|
|
||||||
rm -rf image
|
|
||||||
|
|
||||||
test/phaul/phaul: test/phaul/main.go
|
|
||||||
$(GO) build -v -o $@ $^
|
|
||||||
|
|
||||||
phaul-test: $(TEST_BINARIES)
|
|
||||||
rm -rf image
|
|
||||||
PID=$$(test/piggie/piggie) && { \
|
|
||||||
test/phaul/phaul $$PID; \
|
|
||||||
pkill -9 piggie; \
|
|
||||||
}
|
|
||||||
|
|
||||||
test/test.coverage: test/*.go
|
|
||||||
$(GO) test \
|
|
||||||
-covermode=count \
|
|
||||||
-coverpkg=./... \
|
|
||||||
-mod=vendor \
|
|
||||||
-tags coverage \
|
|
||||||
-buildmode=pie -c -o $@ $^
|
|
||||||
|
|
||||||
test/phaul/phaul.coverage: test/phaul/*.go
|
|
||||||
$(GO) test \
|
|
||||||
-covermode=count \
|
|
||||||
-coverpkg=./... \
|
|
||||||
-mod=vendor \
|
|
||||||
-tags coverage \
|
|
||||||
-buildmode=pie -c -o $@ $^
|
|
||||||
|
|
||||||
coverage: $(COVERAGE_BINARIES) $(TEST_PAYLOAD)
|
|
||||||
mkdir -p $(COVERAGE_PATH)
|
|
||||||
mkdir -p image
|
|
||||||
PID=$$(test/piggie/piggie) && { \
|
|
||||||
test/test.coverage -test.coverprofile=coverprofile.integration.$$RANDOM -test.outputdir=${COVERAGE_PATH} COVERAGE dump $$PID image && \
|
|
||||||
test/test.coverage -test.coverprofile=coverprofile.integration.$$RANDOM -test.outputdir=${COVERAGE_PATH} COVERAGE restore image; \
|
|
||||||
pkill -9 piggie; \
|
|
||||||
}
|
|
||||||
rm -rf image
|
|
||||||
PID=$$(test/piggie/piggie) && { \
|
|
||||||
test/phaul/phaul.coverage -test.coverprofile=coverprofile.integration.$$RANDOM -test.outputdir=${COVERAGE_PATH} COVERAGE $$PID; \
|
|
||||||
pkill -9 piggie; \
|
|
||||||
}
|
|
||||||
echo "mode: set" > .coverage/coverage.out && cat .coverage/coverprofile* | \
|
|
||||||
grep -v mode: | sort -r | awk '{if($$1 != last) {print $$0;last=$$1}}' >> .coverage/coverage.out
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@rm -f $(TEST_BINARIES) $(COVERAGE_BINARIES) codecov
|
|
||||||
@rm -rf image $(COVERAGE_PATH)
|
|
||||||
|
|
||||||
rpc/rpc.proto:
|
|
||||||
curl -sSL https://raw.githubusercontent.com/checkpoint-restore/criu/master/images/rpc.proto -o $@
|
|
||||||
|
|
||||||
stats/stats.proto:
|
|
||||||
curl -sSL https://raw.githubusercontent.com/checkpoint-restore/criu/master/images/stats.proto -o $@
|
|
||||||
|
|
||||||
rpc/rpc.pb.go: rpc/rpc.proto
|
|
||||||
protoc --go_out=. --go_opt=M$^=rpc/ $^
|
|
||||||
|
|
||||||
stats/stats.pb.go: stats/stats.proto
|
|
||||||
protoc --go_out=. --go_opt=M$^=stats/ $^
|
|
||||||
|
|
||||||
vendor:
|
|
||||||
GO111MODULE=on $(GO) mod tidy
|
|
||||||
GO111MODULE=on $(GO) mod vendor
|
|
||||||
GO111MODULE=on $(GO) mod verify
|
|
||||||
|
|
||||||
codecov:
|
|
||||||
curl -Os https://uploader.codecov.io/latest/linux/codecov
|
|
||||||
chmod +x codecov
|
|
||||||
./codecov -f '.coverage/coverage.out'
|
|
||||||
|
|
||||||
.PHONY: build test phaul-test test-bin clean lint vendor coverage codecov
|
|
|
@ -1,6 +0,0 @@
|
||||||
package stats
|
|
||||||
|
|
||||||
const (
|
|
||||||
StatsDump = "stats-dump"
|
|
||||||
StatsRestore = "stats-restore"
|
|
||||||
)
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
test/test
|
||||||
|
test/test.coverage
|
||||||
|
test/piggie/piggie
|
||||||
|
test/phaul/phaul
|
||||||
|
test/phaul/phaul.coverage
|
||||||
|
test/loop/loop
|
||||||
|
test/crit/crit-test
|
||||||
|
test/crit/test-imgs
|
||||||
|
image
|
||||||
|
scripts/*.h
|
||||||
|
scripts/expected.go
|
||||||
|
scripts/output.go
|
||||||
|
crit/bin
|
|
@ -1,12 +1,10 @@
|
||||||
run:
|
|
||||||
skip_dirs:
|
|
||||||
- rpc
|
|
||||||
- stats
|
|
||||||
|
|
||||||
linters:
|
linters:
|
||||||
disable-all: false
|
|
||||||
presets:
|
presets:
|
||||||
- bugs
|
- bugs
|
||||||
- performance
|
- performance
|
||||||
- unused
|
- unused
|
||||||
- format
|
- format
|
||||||
|
|
||||||
|
linters-settings:
|
||||||
|
exhaustive:
|
||||||
|
default-signifies-exhaustive: true
|
|
@ -0,0 +1,41 @@
|
||||||
|
SHELL = /bin/bash
|
||||||
|
GO ?= go
|
||||||
|
CC ?= gcc
|
||||||
|
|
||||||
|
all: build
|
||||||
|
|
||||||
|
lint:
|
||||||
|
golangci-lint run ./...
|
||||||
|
|
||||||
|
build: rpc/rpc.pb.go stats/stats.pb.go
|
||||||
|
$(GO) build -v ./...
|
||||||
|
# Build crit binary
|
||||||
|
$(MAKE) -C crit bin/crit
|
||||||
|
|
||||||
|
test: build
|
||||||
|
$(MAKE) -C test
|
||||||
|
|
||||||
|
coverage:
|
||||||
|
$(MAKE) -C test coverage
|
||||||
|
|
||||||
|
codecov:
|
||||||
|
$(MAKE) -C test codecov
|
||||||
|
|
||||||
|
rpc/rpc.proto:
|
||||||
|
curl -sSL https://raw.githubusercontent.com/checkpoint-restore/criu/master/images/rpc.proto -o $@
|
||||||
|
|
||||||
|
rpc/rpc.pb.go: rpc/rpc.proto
|
||||||
|
protoc --go_out=. --go_opt=M$^=rpc/ $^
|
||||||
|
|
||||||
|
stats/stats.proto:
|
||||||
|
curl -sSL https://raw.githubusercontent.com/checkpoint-restore/criu/master/images/stats.proto -o $@
|
||||||
|
|
||||||
|
stats/stats.pb.go: stats/stats.proto
|
||||||
|
protoc --go_out=. --go_opt=M$^=stats/ $^
|
||||||
|
|
||||||
|
vendor:
|
||||||
|
GO111MODULE=on $(GO) mod tidy
|
||||||
|
GO111MODULE=on $(GO) mod vendor
|
||||||
|
GO111MODULE=on $(GO) mod verify
|
||||||
|
|
||||||
|
.PHONY: build test lint vendor coverage codecov
|
|
@ -4,19 +4,20 @@
|
||||||
|
|
||||||
## go-criu -- Go bindings for CRIU
|
## go-criu -- Go bindings for CRIU
|
||||||
|
|
||||||
This repository provides Go bindings for [CRIU](https://criu.org/). The code is based on the Go-based PHaul
|
This repository provides Go bindings for [CRIU](https://criu.org/).
|
||||||
implementation from the CRIU repository. For easier inclusion into other Go projects the
|
The code is based on the Go-based PHaul implementation from the CRIU repository.
|
||||||
CRIU Go bindings have been moved to this repository.
|
For easier inclusion into other Go projects, the CRIU Go bindings have been moved to this repository.
|
||||||
|
|
||||||
The Go bindings provide an easy way to use the CRIU RPC calls from Go without the need
|
### CRIU
|
||||||
to set up all the infrastructure to make the actual RPC connection to CRIU.
|
The Go bindings provide an easy way to use the CRIU RPC calls from Go without
|
||||||
|
the need to set up all the infrastructure to make the actual RPC connection to CRIU.
|
||||||
|
|
||||||
The following example would print the version of CRIU:
|
The following example would print the version of CRIU:
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
"github.com/checkpoint-restore/go-criu/v5"
|
"github.com/checkpoint-restore/go-criu/v6"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -36,6 +37,13 @@ or to just check if at least a certain CRIU version is installed:
|
||||||
result, err := c.IsCriuAtLeast(31100)
|
result, err := c.IsCriuAtLeast(31100)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### CRIT
|
||||||
|
|
||||||
|
The `crit` package provides bindings to decode, encode, and manipulate
|
||||||
|
CRIU image files natively within Go. It also provides a CLI tool similar
|
||||||
|
to the original CRIT Python tool. To get started with this, see the docs
|
||||||
|
at https://criu.org/CRIT_(Go_library).
|
||||||
|
|
||||||
## Releases
|
## Releases
|
||||||
|
|
||||||
The first go-criu release was 3.11 based on CRIU 3.11. The initial plan
|
The first go-criu release was 3.11 based on CRIU 3.11. The initial plan
|
||||||
|
@ -50,7 +58,8 @@ The following table shows the relation between go-criu and criu versions:
|
||||||
|
|
||||||
| Major version | Latest release | CRIU version |
|
| Major version | Latest release | CRIU version |
|
||||||
| -------------- | -------------- | ------------ |
|
| -------------- | -------------- | ------------ |
|
||||||
| v5 | 5.2.0 | 3.16 |
|
| v6 | 6.2.0 | 3.17 |
|
||||||
|
| v5 | 5.3.0 | 3.16 |
|
||||||
| v5 | 5.0.0 | 3.15 |
|
| v5 | 5.0.0 | 3.15 |
|
||||||
| v4 | 4.1.0 | 3.14 |
|
| v4 | 4.1.0 | 3.14 |
|
||||||
|
|
||||||
|
@ -86,7 +95,7 @@ by adding a "Signed-off-by" line containing the contributor's name and e-mail
|
||||||
to every commit message. Your signature certifies that you wrote the patch or
|
to every commit message. Your signature certifies that you wrote the patch or
|
||||||
otherwise have the right to pass it on as an open-source patch.
|
otherwise have the right to pass it on as an open-source patch.
|
||||||
|
|
||||||
### License and copyright
|
## License and copyright
|
||||||
|
|
||||||
Unless mentioned otherwise in a specific file's header, all code in
|
Unless mentioned otherwise in a specific file's header, all code in
|
||||||
this project is released under the Apache 2.0 license.
|
this project is released under the Apache 2.0 license.
|
|
@ -3,7 +3,7 @@ package criu
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/checkpoint-restore/go-criu/v5/rpc"
|
"github.com/checkpoint-restore/go-criu/v6/rpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Feature checking in go-criu is based on the libcriu feature checking function.
|
// Feature checking in go-criu is based on the libcriu feature checking function.
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
"github.com/checkpoint-restore/go-criu/v5/rpc"
|
"github.com/checkpoint-restore/go-criu/v6/rpc"
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
)
|
)
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.27.1
|
// protoc-gen-go v1.28.1
|
||||||
// protoc v3.12.4
|
// protoc v3.19.4
|
||||||
// source: rpc/rpc.proto
|
// source: rpc/rpc.proto
|
||||||
|
|
||||||
package rpc
|
package rpc
|
||||||
|
@ -93,6 +93,62 @@ func (CriuCgMode) EnumDescriptor() ([]byte, []int) {
|
||||||
return file_rpc_rpc_proto_rawDescGZIP(), []int{0}
|
return file_rpc_rpc_proto_rawDescGZIP(), []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type CriuNetworkLockMethod int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
CriuNetworkLockMethod_IPTABLES CriuNetworkLockMethod = 1
|
||||||
|
CriuNetworkLockMethod_NFTABLES CriuNetworkLockMethod = 2
|
||||||
|
)
|
||||||
|
|
||||||
|
// Enum value maps for CriuNetworkLockMethod.
|
||||||
|
var (
|
||||||
|
CriuNetworkLockMethod_name = map[int32]string{
|
||||||
|
1: "IPTABLES",
|
||||||
|
2: "NFTABLES",
|
||||||
|
}
|
||||||
|
CriuNetworkLockMethod_value = map[string]int32{
|
||||||
|
"IPTABLES": 1,
|
||||||
|
"NFTABLES": 2,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func (x CriuNetworkLockMethod) Enum() *CriuNetworkLockMethod {
|
||||||
|
p := new(CriuNetworkLockMethod)
|
||||||
|
*p = x
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x CriuNetworkLockMethod) String() string {
|
||||||
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (CriuNetworkLockMethod) Descriptor() protoreflect.EnumDescriptor {
|
||||||
|
return file_rpc_rpc_proto_enumTypes[1].Descriptor()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (CriuNetworkLockMethod) Type() protoreflect.EnumType {
|
||||||
|
return &file_rpc_rpc_proto_enumTypes[1]
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x CriuNetworkLockMethod) Number() protoreflect.EnumNumber {
|
||||||
|
return protoreflect.EnumNumber(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Do not use.
|
||||||
|
func (x *CriuNetworkLockMethod) UnmarshalJSON(b []byte) error {
|
||||||
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*x = CriuNetworkLockMethod(num)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use CriuNetworkLockMethod.Descriptor instead.
|
||||||
|
func (CriuNetworkLockMethod) EnumDescriptor() ([]byte, []int) {
|
||||||
|
return file_rpc_rpc_proto_rawDescGZIP(), []int{1}
|
||||||
|
}
|
||||||
|
|
||||||
type CriuPreDumpMode int32
|
type CriuPreDumpMode int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -123,11 +179,11 @@ func (x CriuPreDumpMode) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (CriuPreDumpMode) Descriptor() protoreflect.EnumDescriptor {
|
func (CriuPreDumpMode) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_rpc_rpc_proto_enumTypes[1].Descriptor()
|
return file_rpc_rpc_proto_enumTypes[2].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (CriuPreDumpMode) Type() protoreflect.EnumType {
|
func (CriuPreDumpMode) Type() protoreflect.EnumType {
|
||||||
return &file_rpc_rpc_proto_enumTypes[1]
|
return &file_rpc_rpc_proto_enumTypes[2]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x CriuPreDumpMode) Number() protoreflect.EnumNumber {
|
func (x CriuPreDumpMode) Number() protoreflect.EnumNumber {
|
||||||
|
@ -146,7 +202,7 @@ func (x *CriuPreDumpMode) UnmarshalJSON(b []byte) error {
|
||||||
|
|
||||||
// Deprecated: Use CriuPreDumpMode.Descriptor instead.
|
// Deprecated: Use CriuPreDumpMode.Descriptor instead.
|
||||||
func (CriuPreDumpMode) EnumDescriptor() ([]byte, []int) {
|
func (CriuPreDumpMode) EnumDescriptor() ([]byte, []int) {
|
||||||
return file_rpc_rpc_proto_rawDescGZIP(), []int{1}
|
return file_rpc_rpc_proto_rawDescGZIP(), []int{2}
|
||||||
}
|
}
|
||||||
|
|
||||||
type CriuReqType int32
|
type CriuReqType int32
|
||||||
|
@ -165,6 +221,7 @@ const (
|
||||||
CriuReqType_VERSION CriuReqType = 10
|
CriuReqType_VERSION CriuReqType = 10
|
||||||
CriuReqType_WAIT_PID CriuReqType = 11
|
CriuReqType_WAIT_PID CriuReqType = 11
|
||||||
CriuReqType_PAGE_SERVER_CHLD CriuReqType = 12
|
CriuReqType_PAGE_SERVER_CHLD CriuReqType = 12
|
||||||
|
CriuReqType_SINGLE_PRE_DUMP CriuReqType = 13
|
||||||
)
|
)
|
||||||
|
|
||||||
// Enum value maps for CriuReqType.
|
// Enum value maps for CriuReqType.
|
||||||
|
@ -183,6 +240,7 @@ var (
|
||||||
10: "VERSION",
|
10: "VERSION",
|
||||||
11: "WAIT_PID",
|
11: "WAIT_PID",
|
||||||
12: "PAGE_SERVER_CHLD",
|
12: "PAGE_SERVER_CHLD",
|
||||||
|
13: "SINGLE_PRE_DUMP",
|
||||||
}
|
}
|
||||||
CriuReqType_value = map[string]int32{
|
CriuReqType_value = map[string]int32{
|
||||||
"EMPTY": 0,
|
"EMPTY": 0,
|
||||||
|
@ -198,6 +256,7 @@ var (
|
||||||
"VERSION": 10,
|
"VERSION": 10,
|
||||||
"WAIT_PID": 11,
|
"WAIT_PID": 11,
|
||||||
"PAGE_SERVER_CHLD": 12,
|
"PAGE_SERVER_CHLD": 12,
|
||||||
|
"SINGLE_PRE_DUMP": 13,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -212,11 +271,11 @@ func (x CriuReqType) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (CriuReqType) Descriptor() protoreflect.EnumDescriptor {
|
func (CriuReqType) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_rpc_rpc_proto_enumTypes[2].Descriptor()
|
return file_rpc_rpc_proto_enumTypes[3].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (CriuReqType) Type() protoreflect.EnumType {
|
func (CriuReqType) Type() protoreflect.EnumType {
|
||||||
return &file_rpc_rpc_proto_enumTypes[2]
|
return &file_rpc_rpc_proto_enumTypes[3]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x CriuReqType) Number() protoreflect.EnumNumber {
|
func (x CriuReqType) Number() protoreflect.EnumNumber {
|
||||||
|
@ -235,7 +294,7 @@ func (x *CriuReqType) UnmarshalJSON(b []byte) error {
|
||||||
|
|
||||||
// Deprecated: Use CriuReqType.Descriptor instead.
|
// Deprecated: Use CriuReqType.Descriptor instead.
|
||||||
func (CriuReqType) EnumDescriptor() ([]byte, []int) {
|
func (CriuReqType) EnumDescriptor() ([]byte, []int) {
|
||||||
return file_rpc_rpc_proto_rawDescGZIP(), []int{2}
|
return file_rpc_rpc_proto_rawDescGZIP(), []int{3}
|
||||||
}
|
}
|
||||||
|
|
||||||
type CriuPageServerInfo struct {
|
type CriuPageServerInfo struct {
|
||||||
|
@ -705,7 +764,9 @@ type CriuOpts struct {
|
||||||
CgroupYard *string `protobuf:"bytes,60,opt,name=cgroup_yard,json=cgroupYard" json:"cgroup_yard,omitempty"`
|
CgroupYard *string `protobuf:"bytes,60,opt,name=cgroup_yard,json=cgroupYard" json:"cgroup_yard,omitempty"`
|
||||||
PreDumpMode *CriuPreDumpMode `protobuf:"varint,61,opt,name=pre_dump_mode,json=preDumpMode,enum=CriuPreDumpMode,def=1" json:"pre_dump_mode,omitempty"`
|
PreDumpMode *CriuPreDumpMode `protobuf:"varint,61,opt,name=pre_dump_mode,json=preDumpMode,enum=CriuPreDumpMode,def=1" json:"pre_dump_mode,omitempty"`
|
||||||
PidfdStoreSk *int32 `protobuf:"varint,62,opt,name=pidfd_store_sk,json=pidfdStoreSk" json:"pidfd_store_sk,omitempty"`
|
PidfdStoreSk *int32 `protobuf:"varint,62,opt,name=pidfd_store_sk,json=pidfdStoreSk" json:"pidfd_store_sk,omitempty"`
|
||||||
LsmMountContext *string `protobuf:"bytes,63,opt,name=lsm_mount_context,json=lsmMountContext" json:"lsm_mount_context,omitempty"` // optional bool check_mounts = 128;
|
LsmMountContext *string `protobuf:"bytes,63,opt,name=lsm_mount_context,json=lsmMountContext" json:"lsm_mount_context,omitempty"`
|
||||||
|
NetworkLock *CriuNetworkLockMethod `protobuf:"varint,64,opt,name=network_lock,json=networkLock,enum=CriuNetworkLockMethod,def=1" json:"network_lock,omitempty"`
|
||||||
|
MntnsCompatMode *bool `protobuf:"varint,65,opt,name=mntns_compat_mode,json=mntnsCompatMode" json:"mntns_compat_mode,omitempty"` // optional bool check_mounts = 128;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Default values for CriuOpts fields.
|
// Default values for CriuOpts fields.
|
||||||
|
@ -714,6 +775,7 @@ const (
|
||||||
Default_CriuOpts_CpuCap = uint32(4294967295)
|
Default_CriuOpts_CpuCap = uint32(4294967295)
|
||||||
Default_CriuOpts_GhostLimit = uint32(1048576)
|
Default_CriuOpts_GhostLimit = uint32(1048576)
|
||||||
Default_CriuOpts_PreDumpMode = CriuPreDumpMode_SPLICE
|
Default_CriuOpts_PreDumpMode = CriuPreDumpMode_SPLICE
|
||||||
|
Default_CriuOpts_NetworkLock = CriuNetworkLockMethod_IPTABLES
|
||||||
)
|
)
|
||||||
|
|
||||||
func (x *CriuOpts) Reset() {
|
func (x *CriuOpts) Reset() {
|
||||||
|
@ -1182,6 +1244,20 @@ func (x *CriuOpts) GetLsmMountContext() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *CriuOpts) GetNetworkLock() CriuNetworkLockMethod {
|
||||||
|
if x != nil && x.NetworkLock != nil {
|
||||||
|
return *x.NetworkLock
|
||||||
|
}
|
||||||
|
return Default_CriuOpts_NetworkLock
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *CriuOpts) GetMntnsCompatMode() bool {
|
||||||
|
if x != nil && x.MntnsCompatMode != nil {
|
||||||
|
return *x.MntnsCompatMode
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
type CriuDumpResp struct {
|
type CriuDumpResp struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
|
@ -1739,7 +1815,7 @@ var file_rpc_rpc_proto_rawDesc = []byte{
|
||||||
0x52, 0x04, 0x63, 0x74, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
|
0x52, 0x04, 0x63, 0x74, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
|
||||||
0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x1f, 0x0a, 0x07, 0x75, 0x6e,
|
0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x1f, 0x0a, 0x07, 0x75, 0x6e,
|
||||||
0x69, 0x78, 0x5f, 0x73, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01,
|
0x69, 0x78, 0x5f, 0x73, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01,
|
||||||
0x20, 0x02, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x8c, 0x11, 0x0a, 0x09,
|
0x20, 0x02, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x80, 0x12, 0x0a, 0x09,
|
||||||
0x63, 0x72, 0x69, 0x75, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6d, 0x61,
|
0x63, 0x72, 0x69, 0x75, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6d, 0x61,
|
||||||
0x67, 0x65, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x5f, 0x66, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05,
|
0x67, 0x65, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x5f, 0x66, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05,
|
||||||
0x52, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x44, 0x69, 0x72, 0x46, 0x64, 0x12, 0x10, 0x0a,
|
0x52, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x44, 0x69, 0x72, 0x46, 0x64, 0x12, 0x10, 0x0a,
|
||||||
|
@ -1876,95 +1952,107 @@ var file_rpc_rpc_proto_rawDesc = []byte{
|
||||||
0x52, 0x0c, 0x70, 0x69, 0x64, 0x66, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6b, 0x12, 0x2a,
|
0x52, 0x0c, 0x70, 0x69, 0x64, 0x66, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6b, 0x12, 0x2a,
|
||||||
0x0a, 0x11, 0x6c, 0x73, 0x6d, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
|
0x0a, 0x11, 0x6c, 0x73, 0x6d, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
|
||||||
0x65, 0x78, 0x74, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x73, 0x6d, 0x4d, 0x6f,
|
0x65, 0x78, 0x74, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x73, 0x6d, 0x4d, 0x6f,
|
||||||
0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x2c, 0x0a, 0x0e, 0x63, 0x72,
|
0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x6e, 0x65,
|
||||||
0x69, 0x75, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08,
|
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0e,
|
||||||
0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
|
0x32, 0x19, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f,
|
||||||
0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x63, 0x72, 0x69, 0x75,
|
0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x08, 0x49, 0x50, 0x54,
|
||||||
0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a,
|
0x41, 0x42, 0x4c, 0x45, 0x53, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f,
|
||||||
0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22,
|
0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x6e, 0x74, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70,
|
||||||
0x37, 0x0a, 0x0b, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x16,
|
0x61, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x41, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d,
|
||||||
0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
0x6e, 0x74, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x2c,
|
||||||
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20,
|
0x0a, 0x0e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x6c, 0x0a, 0x0d, 0x63, 0x72, 0x69, 0x75,
|
0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||||
0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d,
|
0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x22, 0x25, 0x0a, 0x11,
|
||||||
0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x65,
|
0x63, 0x72, 0x69, 0x75, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x73,
|
||||||
0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x70,
|
0x70, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x03,
|
||||||
0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6c, 0x61, 0x7a, 0x79,
|
0x70, 0x69, 0x64, 0x22, 0x37, 0x0a, 0x0b, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x6e, 0x6f, 0x74, 0x69,
|
||||||
0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x64, 0x66, 0x64, 0x5f, 0x73,
|
0x66, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01,
|
||||||
0x74, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x69, 0x64, 0x66,
|
0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69,
|
||||||
0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x08, 0x63, 0x72, 0x69, 0x75, 0x5f,
|
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x6c, 0x0a, 0x0d,
|
||||||
0x72, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28,
|
0x63, 0x72, 0x69, 0x75, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1b, 0x0a,
|
||||||
0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x74, 0x79, 0x70,
|
0x09, 0x6d, 0x65, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
|
||||||
0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18,
|
0x52, 0x08, 0x6d, 0x65, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61,
|
||||||
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x6f, 0x70, 0x74,
|
0x7a, 0x79, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
|
||||||
0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66,
|
0x6c, 0x61, 0x7a, 0x79, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x64,
|
||||||
0x79, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
|
0x66, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
|
||||||
0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1b,
|
0x70, 0x69, 0x64, 0x66, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x08, 0x63,
|
||||||
0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
|
0x72, 0x69, 0x75, 0x5f, 0x72, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
|
||||||
0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x08, 0x66,
|
|
||||||
0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
|
|
||||||
0x63, 0x72, 0x69, 0x75, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x08, 0x66,
|
|
||||||
0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x06,
|
|
||||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x8f, 0x03, 0x0a, 0x09, 0x63, 0x72,
|
|
||||||
0x69, 0x75, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
|
|
||||||
0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x72, 0x65, 0x71,
|
0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x72, 0x65, 0x71,
|
||||||
0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73,
|
0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x6f,
|
||||||
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75,
|
0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x63, 0x72, 0x69, 0x75,
|
||||||
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x04, 0x64, 0x75, 0x6d, 0x70, 0x18, 0x03, 0x20,
|
0x5f, 0x6f, 0x70, 0x74, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e,
|
||||||
0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f,
|
0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20,
|
||||||
0x72, 0x65, 0x73, 0x70, 0x52, 0x04, 0x64, 0x75, 0x6d, 0x70, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x65,
|
0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x75, 0x63, 0x63, 0x65,
|
||||||
0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x72,
|
0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18,
|
||||||
0x69, 0x75, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x52,
|
0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x12,
|
||||||
0x07, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69,
|
0x2a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||||
0x66, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f,
|
0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
|
||||||
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26,
|
0x73, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70,
|
||||||
0x0a, 0x02, 0x70, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x69,
|
0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x8f, 0x03,
|
||||||
0x75, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e,
|
0x0a, 0x09, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x74,
|
||||||
0x66, 0x6f, 0x52, 0x02, 0x70, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x72, 0x5f, 0x65, 0x72, 0x72,
|
0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x72, 0x69, 0x75,
|
||||||
0x6e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x72, 0x45, 0x72, 0x72, 0x6e,
|
0x5f, 0x72, 0x65, 0x71, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
|
||||||
0x6f, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20,
|
0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x02, 0x28, 0x08,
|
||||||
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75,
|
0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x04, 0x64, 0x75, 0x6d,
|
||||||
0x72, 0x65, 0x73, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1b, 0x0a,
|
0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x64,
|
||||||
0x09, 0x63, 0x72, 0x5f, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
|
0x75, 0x6d, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x52, 0x04, 0x64, 0x75, 0x6d, 0x70, 0x12, 0x2c,
|
||||||
0x52, 0x08, 0x63, 0x72, 0x45, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x27, 0x0a, 0x07, 0x76, 0x65,
|
0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x72,
|
0x12, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x72,
|
||||||
0x69, 0x75, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
|
0x65, 0x73, 0x70, 0x52, 0x07, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x06,
|
||||||
0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20,
|
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xb0, 0x01, 0x0a, 0x0c,
|
0x72, 0x69, 0x75, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69,
|
||||||
0x63, 0x72, 0x69, 0x75, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c,
|
0x66, 0x79, 0x12, 0x26, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
|
||||||
0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x02,
|
0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65,
|
||||||
0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
|
0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x02, 0x70, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x72,
|
||||||
0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
|
0x5f, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x72,
|
||||||
0x02, 0x20, 0x02, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x62,
|
0x45, 0x72, 0x72, 0x6e, 0x6f, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
|
||||||
0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x69, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
|
0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x66,
|
||||||
0x09, 0x52, 0x05, 0x67, 0x69, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x6c,
|
0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
|
||||||
0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6c,
|
0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, 0x5f, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x09,
|
||||||
0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x05, 0x20,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x45, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x27,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
|
0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0x5f,
|
0x0d, 0x2e, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07,
|
||||||
0x0a, 0x0c, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x63, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x0a,
|
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
|
||||||
0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x47,
|
0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
|
||||||
0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x4f, 0x50, 0x53,
|
0xb0, 0x01, 0x0a, 0x0c, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
||||||
0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4f, 0x46, 0x54, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04,
|
0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
|
||||||
0x46, 0x55, 0x4c, 0x4c, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54,
|
0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x4e, 0x75, 0x6d,
|
||||||
0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x06, 0x2a,
|
0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d,
|
||||||
0x2d, 0x0a, 0x12, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x70, 0x72, 0x65, 0x5f, 0x64, 0x75, 0x6d, 0x70,
|
0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x02, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x6f, 0x72,
|
||||||
0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x50, 0x4c, 0x49, 0x43, 0x45, 0x10,
|
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x69, 0x74, 0x69, 0x64, 0x18,
|
||||||
0x01, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x4d, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x02, 0x2a, 0xd0,
|
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x69, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08,
|
||||||
0x01, 0x0a, 0x0d, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x74, 0x79, 0x70, 0x65,
|
0x73, 0x75, 0x62, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
|
||||||
0x12, 0x09, 0x0a, 0x05, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44,
|
0x73, 0x75, 0x62, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72,
|
||||||
0x55, 0x4d, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45,
|
0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, 0x12,
|
||||||
0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x0c, 0x0a,
|
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
|
||||||
0x08, 0x50, 0x52, 0x45, 0x5f, 0x44, 0x55, 0x4d, 0x50, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x50,
|
0x6d, 0x65, 0x2a, 0x5f, 0x0a, 0x0c, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x63, 0x67, 0x5f, 0x6d, 0x6f,
|
||||||
0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06,
|
0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x0b,
|
||||||
0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x50, 0x55, 0x49,
|
0x0a, 0x07, 0x43, 0x47, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x50,
|
||||||
0x4e, 0x46, 0x4f, 0x5f, 0x44, 0x55, 0x4d, 0x50, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x50,
|
0x52, 0x4f, 0x50, 0x53, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4f, 0x46, 0x54, 0x10, 0x03,
|
||||||
0x55, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x08, 0x12, 0x11, 0x0a,
|
0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54,
|
||||||
0x0d, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x09,
|
0x52, 0x49, 0x43, 0x54, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c,
|
||||||
0x12, 0x0b, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x12, 0x0c, 0x0a,
|
0x54, 0x10, 0x06, 0x2a, 0x36, 0x0a, 0x18, 0x63, 0x72, 0x69, 0x75, 0x5f, 0x6e, 0x65, 0x74, 0x77,
|
||||||
0x08, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x50, 0x49, 0x44, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x50,
|
0x6f, 0x72, 0x6b, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12,
|
||||||
0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x48, 0x4c, 0x44, 0x10,
|
0x0c, 0x0a, 0x08, 0x49, 0x50, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x0c, 0x0a,
|
||||||
0x0c,
|
0x08, 0x4e, 0x46, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x02, 0x2a, 0x2d, 0x0a, 0x12, 0x63,
|
||||||
|
0x72, 0x69, 0x75, 0x5f, 0x70, 0x72, 0x65, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x6d, 0x6f, 0x64,
|
||||||
|
0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x50, 0x4c, 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a,
|
||||||
|
0x07, 0x56, 0x4d, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x02, 0x2a, 0xe5, 0x01, 0x0a, 0x0d, 0x63,
|
||||||
|
0x72, 0x69, 0x75, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05,
|
||||||
|
0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x55, 0x4d, 0x50, 0x10,
|
||||||
|
0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x02, 0x12, 0x09,
|
||||||
|
0x0a, 0x05, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x45,
|
||||||
|
0x5f, 0x44, 0x55, 0x4d, 0x50, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x41, 0x47, 0x45, 0x5f,
|
||||||
|
0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x49,
|
||||||
|
0x46, 0x59, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x50, 0x55, 0x49, 0x4e, 0x46, 0x4f, 0x5f,
|
||||||
|
0x44, 0x55, 0x4d, 0x50, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x50, 0x55, 0x49, 0x4e, 0x46,
|
||||||
|
0x4f, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x45, 0x41,
|
||||||
|
0x54, 0x55, 0x52, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07,
|
||||||
|
0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x12, 0x0c, 0x0a, 0x08, 0x57, 0x41, 0x49,
|
||||||
|
0x54, 0x5f, 0x50, 0x49, 0x44, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x47, 0x45, 0x5f,
|
||||||
|
0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x48, 0x4c, 0x44, 0x10, 0x0c, 0x12, 0x13, 0x0a,
|
||||||
|
0x0f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x44, 0x55, 0x4d, 0x50,
|
||||||
|
0x10, 0x0d,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -1979,53 +2067,55 @@ func file_rpc_rpc_proto_rawDescGZIP() []byte {
|
||||||
return file_rpc_rpc_proto_rawDescData
|
return file_rpc_rpc_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_rpc_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
|
var file_rpc_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
|
||||||
var file_rpc_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
|
var file_rpc_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
|
||||||
var file_rpc_rpc_proto_goTypes = []interface{}{
|
var file_rpc_rpc_proto_goTypes = []interface{}{
|
||||||
(CriuCgMode)(0), // 0: criu_cg_mode
|
(CriuCgMode)(0), // 0: criu_cg_mode
|
||||||
(CriuPreDumpMode)(0), // 1: criu_pre_dump_mode
|
(CriuNetworkLockMethod)(0), // 1: criu_network_lock_method
|
||||||
(CriuReqType)(0), // 2: criu_req_type
|
(CriuPreDumpMode)(0), // 2: criu_pre_dump_mode
|
||||||
(*CriuPageServerInfo)(nil), // 3: criu_page_server_info
|
(CriuReqType)(0), // 3: criu_req_type
|
||||||
(*CriuVethPair)(nil), // 4: criu_veth_pair
|
(*CriuPageServerInfo)(nil), // 4: criu_page_server_info
|
||||||
(*ExtMountMap)(nil), // 5: ext_mount_map
|
(*CriuVethPair)(nil), // 5: criu_veth_pair
|
||||||
(*JoinNamespace)(nil), // 6: join_namespace
|
(*ExtMountMap)(nil), // 6: ext_mount_map
|
||||||
(*InheritFd)(nil), // 7: inherit_fd
|
(*JoinNamespace)(nil), // 7: join_namespace
|
||||||
(*CgroupRoot)(nil), // 8: cgroup_root
|
(*InheritFd)(nil), // 8: inherit_fd
|
||||||
(*UnixSk)(nil), // 9: unix_sk
|
(*CgroupRoot)(nil), // 9: cgroup_root
|
||||||
(*CriuOpts)(nil), // 10: criu_opts
|
(*UnixSk)(nil), // 10: unix_sk
|
||||||
(*CriuDumpResp)(nil), // 11: criu_dump_resp
|
(*CriuOpts)(nil), // 11: criu_opts
|
||||||
(*CriuRestoreResp)(nil), // 12: criu_restore_resp
|
(*CriuDumpResp)(nil), // 12: criu_dump_resp
|
||||||
(*CriuNotify)(nil), // 13: criu_notify
|
(*CriuRestoreResp)(nil), // 13: criu_restore_resp
|
||||||
(*CriuFeatures)(nil), // 14: criu_features
|
(*CriuNotify)(nil), // 14: criu_notify
|
||||||
(*CriuReq)(nil), // 15: criu_req
|
(*CriuFeatures)(nil), // 15: criu_features
|
||||||
(*CriuResp)(nil), // 16: criu_resp
|
(*CriuReq)(nil), // 16: criu_req
|
||||||
(*CriuVersion)(nil), // 17: criu_version
|
(*CriuResp)(nil), // 17: criu_resp
|
||||||
|
(*CriuVersion)(nil), // 18: criu_version
|
||||||
}
|
}
|
||||||
var file_rpc_rpc_proto_depIdxs = []int32{
|
var file_rpc_rpc_proto_depIdxs = []int32{
|
||||||
3, // 0: criu_opts.ps:type_name -> criu_page_server_info
|
4, // 0: criu_opts.ps:type_name -> criu_page_server_info
|
||||||
4, // 1: criu_opts.veths:type_name -> criu_veth_pair
|
5, // 1: criu_opts.veths:type_name -> criu_veth_pair
|
||||||
5, // 2: criu_opts.ext_mnt:type_name -> ext_mount_map
|
6, // 2: criu_opts.ext_mnt:type_name -> ext_mount_map
|
||||||
8, // 3: criu_opts.cg_root:type_name -> cgroup_root
|
9, // 3: criu_opts.cg_root:type_name -> cgroup_root
|
||||||
7, // 4: criu_opts.inherit_fd:type_name -> inherit_fd
|
8, // 4: criu_opts.inherit_fd:type_name -> inherit_fd
|
||||||
9, // 5: criu_opts.unix_sk_ino:type_name -> unix_sk
|
10, // 5: criu_opts.unix_sk_ino:type_name -> unix_sk
|
||||||
0, // 6: criu_opts.manage_cgroups_mode:type_name -> criu_cg_mode
|
0, // 6: criu_opts.manage_cgroups_mode:type_name -> criu_cg_mode
|
||||||
6, // 7: criu_opts.join_ns:type_name -> join_namespace
|
7, // 7: criu_opts.join_ns:type_name -> join_namespace
|
||||||
1, // 8: criu_opts.pre_dump_mode:type_name -> criu_pre_dump_mode
|
2, // 8: criu_opts.pre_dump_mode:type_name -> criu_pre_dump_mode
|
||||||
2, // 9: criu_req.type:type_name -> criu_req_type
|
1, // 9: criu_opts.network_lock:type_name -> criu_network_lock_method
|
||||||
10, // 10: criu_req.opts:type_name -> criu_opts
|
3, // 10: criu_req.type:type_name -> criu_req_type
|
||||||
14, // 11: criu_req.features:type_name -> criu_features
|
11, // 11: criu_req.opts:type_name -> criu_opts
|
||||||
2, // 12: criu_resp.type:type_name -> criu_req_type
|
15, // 12: criu_req.features:type_name -> criu_features
|
||||||
11, // 13: criu_resp.dump:type_name -> criu_dump_resp
|
3, // 13: criu_resp.type:type_name -> criu_req_type
|
||||||
12, // 14: criu_resp.restore:type_name -> criu_restore_resp
|
12, // 14: criu_resp.dump:type_name -> criu_dump_resp
|
||||||
13, // 15: criu_resp.notify:type_name -> criu_notify
|
13, // 15: criu_resp.restore:type_name -> criu_restore_resp
|
||||||
3, // 16: criu_resp.ps:type_name -> criu_page_server_info
|
14, // 16: criu_resp.notify:type_name -> criu_notify
|
||||||
14, // 17: criu_resp.features:type_name -> criu_features
|
4, // 17: criu_resp.ps:type_name -> criu_page_server_info
|
||||||
17, // 18: criu_resp.version:type_name -> criu_version
|
15, // 18: criu_resp.features:type_name -> criu_features
|
||||||
19, // [19:19] is the sub-list for method output_type
|
18, // 19: criu_resp.version:type_name -> criu_version
|
||||||
19, // [19:19] is the sub-list for method input_type
|
20, // [20:20] is the sub-list for method output_type
|
||||||
19, // [19:19] is the sub-list for extension type_name
|
20, // [20:20] is the sub-list for method input_type
|
||||||
19, // [19:19] is the sub-list for extension extendee
|
20, // [20:20] is the sub-list for extension type_name
|
||||||
0, // [0:19] is the sub-list for field type_name
|
20, // [20:20] is the sub-list for extension extendee
|
||||||
|
0, // [0:20] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_rpc_rpc_proto_init() }
|
func init() { file_rpc_rpc_proto_init() }
|
||||||
|
@ -2220,7 +2310,7 @@ func file_rpc_rpc_proto_init() {
|
||||||
File: protoimpl.DescBuilder{
|
File: protoimpl.DescBuilder{
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_rpc_rpc_proto_rawDesc,
|
RawDescriptor: file_rpc_rpc_proto_rawDesc,
|
||||||
NumEnums: 3,
|
NumEnums: 4,
|
||||||
NumMessages: 15,
|
NumMessages: 15,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
|
@ -49,6 +49,11 @@ enum criu_cg_mode {
|
||||||
DEFAULT = 6;
|
DEFAULT = 6;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum criu_network_lock_method {
|
||||||
|
IPTABLES = 1;
|
||||||
|
NFTABLES = 2;
|
||||||
|
};
|
||||||
|
|
||||||
enum criu_pre_dump_mode {
|
enum criu_pre_dump_mode {
|
||||||
SPLICE = 1;
|
SPLICE = 1;
|
||||||
VM_READ = 2;
|
VM_READ = 2;
|
||||||
|
@ -131,6 +136,8 @@ message criu_opts {
|
||||||
optional criu_pre_dump_mode pre_dump_mode = 61 [default = SPLICE];
|
optional criu_pre_dump_mode pre_dump_mode = 61 [default = SPLICE];
|
||||||
optional int32 pidfd_store_sk = 62;
|
optional int32 pidfd_store_sk = 62;
|
||||||
optional string lsm_mount_context = 63;
|
optional string lsm_mount_context = 63;
|
||||||
|
optional criu_network_lock_method network_lock = 64 [default = IPTABLES];
|
||||||
|
optional bool mntns_compat_mode = 65;
|
||||||
/* optional bool check_mounts = 128; */
|
/* optional bool check_mounts = 128; */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,6 +173,8 @@ enum criu_req_type {
|
||||||
|
|
||||||
WAIT_PID = 11;
|
WAIT_PID = 11;
|
||||||
PAGE_SERVER_CHLD = 12;
|
PAGE_SERVER_CHLD = 12;
|
||||||
|
|
||||||
|
SINGLE_PRE_DUMP = 13;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.27.1
|
// protoc-gen-go v1.28.1
|
||||||
// protoc v3.12.4
|
// protoc v3.19.4
|
||||||
// source: stats/stats.proto
|
// source: stats/stats.proto
|
||||||
|
|
||||||
package stats
|
package stats
|
|
@ -1,7 +1,9 @@
|
||||||
package magic
|
package stats
|
||||||
|
|
||||||
const (
|
const (
|
||||||
ImgCommonMagic = 0x54564319 /* Sarov (a.k.a. Arzamas-16) */
|
StatsDump = "stats-dump"
|
||||||
|
StatsRestore = "stats-restore"
|
||||||
|
|
||||||
ImgServiceMagic = 0x55105940 /* Zlatoust */
|
ImgServiceMagic = 0x55105940 /* Zlatoust */
|
||||||
StatsMagic = 0x57093306 /* Ostashkov */
|
StatsMagic = 0x57093306 /* Ostashkov */
|
||||||
|
|
|
@ -7,7 +7,6 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/checkpoint-restore/go-criu/v5/magic"
|
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -17,18 +16,18 @@ func readStatisticsFile(imgDir *os.File, fileName string) (*StatsEntry, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if binary.LittleEndian.Uint32(buf[magic.PrimaryMagicOffset:magic.SecondaryMagicOffset]) != magic.ImgServiceMagic {
|
if binary.LittleEndian.Uint32(buf[PrimaryMagicOffset:SecondaryMagicOffset]) != ImgServiceMagic {
|
||||||
return nil, errors.New("Primary magic not found")
|
return nil, errors.New("Primary magic not found")
|
||||||
}
|
}
|
||||||
|
|
||||||
if binary.LittleEndian.Uint32(buf[magic.SecondaryMagicOffset:magic.SizeOffset]) != magic.StatsMagic {
|
if binary.LittleEndian.Uint32(buf[SecondaryMagicOffset:SizeOffset]) != StatsMagic {
|
||||||
return nil, errors.New("Secondary magic not found")
|
return nil, errors.New("Secondary magic not found")
|
||||||
}
|
}
|
||||||
|
|
||||||
payloadSize := binary.LittleEndian.Uint32(buf[magic.SizeOffset:magic.PayloadOffset])
|
payloadSize := binary.LittleEndian.Uint32(buf[SizeOffset:PayloadOffset])
|
||||||
|
|
||||||
st := &StatsEntry{}
|
st := &StatsEntry{}
|
||||||
if err := proto.Unmarshal(buf[magic.PayloadOffset:magic.PayloadOffset+payloadSize], st); err != nil {
|
if err := proto.Unmarshal(buf[PayloadOffset:PayloadOffset+payloadSize], st); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,12 +53,11 @@ github.com/buger/goterm
|
||||||
# github.com/checkpoint-restore/checkpointctl v0.0.0-20220321135231-33f4a66335f0
|
# github.com/checkpoint-restore/checkpointctl v0.0.0-20220321135231-33f4a66335f0
|
||||||
## explicit; go 1.15
|
## explicit; go 1.15
|
||||||
github.com/checkpoint-restore/checkpointctl/lib
|
github.com/checkpoint-restore/checkpointctl/lib
|
||||||
# github.com/checkpoint-restore/go-criu/v5 v5.3.0
|
# github.com/checkpoint-restore/go-criu/v6 v6.3.0
|
||||||
## explicit; go 1.13
|
## explicit; go 1.16
|
||||||
github.com/checkpoint-restore/go-criu/v5
|
github.com/checkpoint-restore/go-criu/v6
|
||||||
github.com/checkpoint-restore/go-criu/v5/magic
|
github.com/checkpoint-restore/go-criu/v6/rpc
|
||||||
github.com/checkpoint-restore/go-criu/v5/rpc
|
github.com/checkpoint-restore/go-criu/v6/stats
|
||||||
github.com/checkpoint-restore/go-criu/v5/stats
|
|
||||||
# github.com/chzyer/readline v1.5.1
|
# github.com/chzyer/readline v1.5.1
|
||||||
## explicit; go 1.15
|
## explicit; go 1.15
|
||||||
github.com/chzyer/readline
|
github.com/chzyer/readline
|
||||||
|
|
Loading…
Reference in New Issue