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") // ErrSCTPAddrNoIP refers to a SCTP address without IP address. ErrSCTPAddrNoIP = errors.New("sctp address does not contain any IP address") )
PortMapper manages the network address translation
type PortMapper struct {
// contains filtered or unexported fields
}
func New() *PortMapper
New returns a new instance of PortMapper
func NewWithPortAllocator(allocator *portallocator.PortAllocator, proxyPath string) *PortMapper
NewWithPortAllocator returns a new instance of PortMapper which will use the specified PortAllocator
func (pm *PortMapper) AppendForwardingTableEntry(proto string, sourceIP net.IP, sourcePort int, containerIP string, containerPort int) error
AppendForwardingTableEntry adds a port mapping to the forwarding table
func (pm *PortMapper) DeleteForwardingTableEntry(proto string, sourceIP net.IP, sourcePort int, containerIP string, containerPort int) error
DeleteForwardingTableEntry removes a port mapping from the forwarding table
func (pm *PortMapper) Map(container net.Addr, hostIP net.IP, hostPort int, useProxy bool) (host net.Addr, _ error)
Map maps the specified container transport address to the host's network address and transport port
func (pm *PortMapper) MapRange(container net.Addr, hostIP net.IP, hostPortStart, hostPortEnd int, useProxy bool) (host net.Addr, retErr error)
MapRange maps the specified container transport address to the host's network address and transport port range
func (pm *PortMapper) ReMapAll()
ReMapAll re-applies all port mappings
func (pm *PortMapper) SetIptablesChain(c *iptables.ChainInfo, bridgeName string)
SetIptablesChain sets the specified chain into portmapper
func (pm *PortMapper) Unmap(host net.Addr) error
Unmap removes stored mapping for the specified host transport address