|
| 1 | +//go:build no_slirp4netns |
| 2 | +// +build no_slirp4netns |
| 3 | + |
| 4 | +package slirp4netns |
| 5 | + |
| 6 | +import ( |
| 7 | + "context" |
| 8 | + "errors" |
| 9 | + "io" |
| 10 | + "net" |
| 11 | + |
| 12 | + "github.com/rootless-containers/rootlesskit/v3/pkg/api" |
| 13 | + "github.com/rootless-containers/rootlesskit/v3/pkg/messages" |
| 14 | + "github.com/rootless-containers/rootlesskit/v3/pkg/network" |
| 15 | +) |
| 16 | + |
| 17 | +// NewParentDriver returns a stub when built with the no_slirp4netns tag. |
| 18 | +func NewParentDriver(logWriter io.Writer, binary string, mtu int, ipnet *net.IPNet, ifname string, disableHostLoopback bool, apiSocketPath string, enableSandbox bool, enableSeccomp bool, enableIPv6 bool) (network.ParentDriver, error) { |
| 19 | + return &disabledParent{}, errors.New("slirp4netns network driver disabled by build tag no_slirp4netns") |
| 20 | +} |
| 21 | + |
| 22 | +type disabledParent struct{} |
| 23 | + |
| 24 | +func (d *disabledParent) Info(ctx context.Context) (*api.NetworkDriverInfo, error) { |
| 25 | + return nil, errors.New("slirp4netns network driver disabled by build tag no_slirp4netns") |
| 26 | +} |
| 27 | + |
| 28 | +func (d *disabledParent) MTU() int { return 0 } |
| 29 | + |
| 30 | +func (d *disabledParent) ConfigureNetwork(childPID int, stateDir string, detachedNetNSPath string) (*messages.ParentInitNetworkDriverCompleted, func() error, error) { |
| 31 | + return nil, func() error { return nil }, errors.New("slirp4netns network driver disabled by build tag no_slirp4netns") |
| 32 | +} |
| 33 | + |
| 34 | +// NewChildDriver returns a stub when built with the no_slirp4netns tag. |
| 35 | +func NewChildDriver() network.ChildDriver { return &disabledChild{} } |
| 36 | + |
| 37 | +type disabledChild struct{} |
| 38 | + |
| 39 | +func (d *disabledChild) ChildDriverInfo() (*network.ChildDriverInfo, error) { |
| 40 | + return &network.ChildDriverInfo{ConfiguresInterface: false}, nil |
| 41 | +} |
| 42 | + |
| 43 | +func (d *disabledChild) ConfigureNetworkChild(netmsg *messages.ParentInitNetworkDriverCompleted, detachedNetNSPath string) (string, error) { |
| 44 | + return "", errors.New("slirp4netns network driver disabled by build tag no_slirp4netns") |
| 45 | +} |
0 commit comments