|  | 
|  | 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