portmapper

package
v24.0.1+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 19, 2023 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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")
)

Functions

This section is empty.

Types

type PortMapper

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

PortMapper manages the network address translation

func New

func New(proxyPath string) *PortMapper

New returns a new instance of PortMapper

func NewWithPortAllocator

func NewWithPortAllocator(allocator *portallocator.PortAllocator, proxyPath string) *PortMapper

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

func (*PortMapper) AppendForwardingTableEntry

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 (*PortMapper) DeleteForwardingTableEntry

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 (*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 re-applies 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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL