package portmapper

import "github.com/docker/libnetwork/portmapper"

Index

Variables

var (
	// ErrUnknownBackendAddressType refers to an unknown container or unsupported address type
	ErrUnknownBackendAddressType = errors.New("unknown container address type not supported")
	// ErrPortMappedForIP refers to a port already mapped to an ip address
	ErrPortMappedForIP = errors.New("port is already mapped to ip")
	// ErrPortNotMapped refers to an unmapped port
	ErrPortNotMapped = errors.New("port is not mapped")
)

Types

type PortMapper

type PortMapper struct {
	Allocator *portallocator.PortAllocator
	// contains filtered or unexported fields
}

PortMapper manages the network address translation

func New

func New() *PortMapper

New returns a new instance of PortMapper

func NewWithPortAllocator

func NewWithPortAllocator(allocator *portallocator.PortAllocator) *PortMapper

NewWithPortAllocator returns a new instance of PortMapper which will use the specified PortAllocator

func (*PortMapper) Map

func (pm *PortMapper) Map(container net.Addr, hostIP net.IP, hostPort int, useProxy bool) (host net.Addr, err error)

Map maps the specified container transport address to the host's network address and transport port

func (*PortMapper) MapRange

func (pm *PortMapper) MapRange(container net.Addr, hostIP net.IP, hostPortStart, hostPortEnd int, useProxy bool) (host net.Addr, err error)

MapRange maps the specified container transport address to the host's network address and transport port range

func (*PortMapper) ReMapAll

func (pm *PortMapper) ReMapAll()

ReMapAll will re-apply all port mappings

func (*PortMapper) SetIptablesChain

func (pm *PortMapper) SetIptablesChain(c *iptables.ChainInfo, bridgeName string)

SetIptablesChain sets the specified chain into portmapper

func (*PortMapper) Unmap

func (pm *PortMapper) Unmap(host net.Addr) error

Unmap removes stored mapping for the specified host transport address

Source Files

mapper.go mock_proxy.go proxy.go

Version
v0.5.6 (latest)
Published
Jan 15, 2016
Platform
linux/amd64
Imports
19 packages
Last checked
2 hours ago

Tools for package owners.