Version: v1.3.0 Latest Latest

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

Go to latest
Published: Sep 4, 2021 License: Apache-2.0 Imports: 6 Imported by: 0



portcache maintains the state about all current NodePortLocal port mappings for this Node and takes care of configuring the host accordingly.



This section is empty.


This section is empty.


This section is empty.


type Closeable added in v1.2.0

type Closeable interface {
	Close() error

Using Closeable instead of net.Listener makes writing tests easier

type LocalPortOpener added in v1.2.0

type LocalPortOpener interface {
	OpenLocalPort(port int) (Closeable, error)

type NodePortData

type NodePortData struct {
	NodePort int
	PodPort  int
	PodIP    string
	// contains filtered or unexported fields

type PortTable

type PortTable struct {
	Table           map[int]NodePortData
	StartPort       int
	EndPort         int
	PodPortRules    rules.PodPortRules
	LocalPortOpener LocalPortOpener
	// contains filtered or unexported fields

func NewPortTable

func NewPortTable(start, end int) (*PortTable, error)

func (*PortTable) AddRule

func (pt *PortTable) AddRule(podIP string, podPort int) (int, error)

func (*PortTable) CleanupAllEntries

func (pt *PortTable) CleanupAllEntries()

func (*PortTable) DeleteRule

func (pt *PortTable) DeleteRule(podIP string, podPort int) error

func (*PortTable) GetDataForPodIP

func (pt *PortTable) GetDataForPodIP(ip string) []NodePortData

func (*PortTable) GetEntry

func (pt *PortTable) GetEntry(nodeport int) *NodePortData

func (*PortTable) GetEntryByPodIPPort

func (pt *PortTable) GetEntryByPodIPPort(ip string, port int) *NodePortData

func (*PortTable) RestoreRules added in v1.2.2

func (pt *PortTable) RestoreRules(allNPLPorts []rules.PodNodePort, synced chan<- struct{}) error

RestoreRules should be called on startup to restore a set of NPL rules. It is non-blocking but takes as a parameter a channel, synced, which will be closed when the necessary rules have been restored successfully. No other operations should be performed on the PortTable until the channel is closed.

func (*PortTable) RuleExists

func (pt *PortTable) RuleExists(podIP string, podPort int) bool


Path Synopsis
Package testing is a generated GoMock package.
Package testing is a generated GoMock package.

Jump to

Keyboard shortcuts

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