This section is empty.


This section is empty.


This section is empty.


type AddToBridgeError

type AddToBridgeError struct {
	Cause         error
	Bridge, Slave *net.Interface

AddToBridgeError is returned if an error occurs while adding an interface to a bridge

func (AddToBridgeError) Error

func (err AddToBridgeError) Error() string

type BridgeDetectionError

type BridgeDetectionError struct {
	Cause  error
	Name   string
	IP     net.IP
	Subnet *net.IPNet

BridgeDetectionError is returned if an error occurs while creating a bridge

func (BridgeDetectionError) Error

func (err BridgeDetectionError) Error() string

type ConfigureDefaultGWError

type ConfigureDefaultGWError struct {
	Cause     error
	Interface *net.Interface
	IP        net.IP

ConfigureDefaultGWError is returned if the default gateway cannot be updated

func (ConfigureDefaultGWError) Error

func (err ConfigureDefaultGWError) Error() string

type ConfigureLinkError

type ConfigureLinkError struct {
	Cause          error
	Role           string
	Interface      *net.Interface
	IntendedIP     net.IP
	IntendedSubnet *net.IPNet

ConfigureLinkError is returned if configuring a link fails

func (ConfigureLinkError) Error

func (err ConfigureLinkError) Error() string

type Container

type Container struct {
	FileOpener netns.Opener

func (*Container) Apply

func (c *Container) Apply(log lager.Logger, cfg kawasaki.NetworkConfig, pid int) error

type DeleteLinkError

type DeleteLinkError struct {
	Cause error
	Role  string
	Name  string

DeleteLinkError is returned if an interface cannot be succesfully destroyed

func (DeleteLinkError) Error

func (err DeleteLinkError) Error() string

type FindLinkError

type FindLinkError struct {
	Cause error // may be nil if no error occurred other than the link not existing
	Role  string
	Name  string

FindLinkError is returned if an expected interface cannot be found inside the container

func (FindLinkError) Error

func (err FindLinkError) Error() string

type Host

type Host struct {
	Veth interface {
		Create(hostIfcName, containerIfcName string) (*net.Interface, *net.Interface, error)

	Link interface {
		SetUp(intf *net.Interface) error
		SetMTU(intf *net.Interface, mtu int) error
		SetNs(intf *net.Interface, fd int) error
		InterfaceByName(name string) (*net.Interface, bool, error)

	Bridge interface {
		Create(bridgeName string, ip net.IP, subnet *net.IPNet) (*net.Interface, error)
		Add(bridge, slave *net.Interface) error
		Destroy(bridgeName string) error

	FileOpener interface {
		Open(path string) (*os.File, error)

func (*Host) Apply

func (c *Host) Apply(logger lager.Logger, config kawasaki.NetworkConfig, pid int) error

func (*Host) Destroy

func (c *Host) Destroy(config kawasaki.NetworkConfig) error

type LinkUpError

type LinkUpError struct {
	Cause error
	Link  *net.Interface
	Role  string

LinkUpError is returned if brinding an interface up fails

func (LinkUpError) Error

func (err LinkUpError) Error() string

type MTUError

type MTUError struct {
	Cause error
	Intf  *net.Interface
	MTU   int

MTUError is returned if setting the Mtu on an interface fails

func (MTUError) Error

func (err MTUError) Error() string

type SetNsFailedError

type SetNsFailedError struct {
	Cause error
	Intf  *net.Interface
	Netns *os.File

func (SetNsFailedError) Error

func (err SetNsFailedError) Error() string

type VethPairCreationError

type VethPairCreationError struct {
	Cause                         error
	HostIfcName, ContainerIfcName string

VethPairCreationError is returned if creating a virtual ethernet pair fails

func (VethPairCreationError) Error

func (err VethPairCreationError) Error() string