package port
import "github.com/rootless-containers/rootlesskit/pkg/port"
Index ¶
Types ¶
type ChildContext ¶
type ChildContext struct { // PID of the child, can be used for ns-entering to the child namespaces. PID int // IP of the tap device IP net.IP }
ChildContext is used for RunParentDriver
type ChildDriver ¶
type Manager ¶
type Manager interface { AddPort(ctx context.Context, spec Spec) (*Status, error) ListPorts(ctx context.Context) ([]Status, error) RemovePort(ctx context.Context, id int) error }
Manager MUST be thread-safe.
type ParentDriver ¶
type ParentDriver interface { Manager // OpaqueForChild typically consists of socket path // for controlling child from parent OpaqueForChild() map[string]string // RunParentDriver signals initComplete when ParentDriver is ready to // serve as Manager. // RunParentDriver blocks until quit is signaled. // // ChildContext is optional. RunParentDriver(initComplete chan struct{}, quit <-chan struct{}, cctx *ChildContext) error }
ParentDriver is a driver for the parent process.
type Spec ¶
type Spec struct { Proto string `json:"proto,omitempty"` // either "tcp" or "udp". in future "sctp" will be supported as well. ParentIP string `json:"parentIP,omitempty"` // IPv4 address. can be empty (0.0.0.0). ParentPort int `json:"parentPort,omitempty"` ChildPort int `json:"childPort,omitempty"` }
type Status ¶
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
pkg/port/builtin | |
pkg/port/portutil | |
pkg/port/slirp4netns | |
pkg/port/socat | |
pkg/port/testsuite |
- Version
- v0.6.0
- Published
- Jul 10, 2019
- Platform
- js/wasm
- Imports
- 2 packages
- Last checked
- 1 hour ago –
Tools for package owners.