portcache

package
v1.12.3 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	NodePortIndex    = "nodePortIndex"
	PodEndpointIndex = "podEndpointIndex"
	PodIPIndex       = "podIPIndex"
)

Variables

This section is empty.

Functions

func GetPortTableKey added in v1.8.0

func GetPortTableKey(obj interface{}) (string, error)

func NodePortIndexFunc added in v1.8.0

func NodePortIndexFunc(obj interface{}) ([]string, error)

func NodePortProtoFormat added in v1.7.0

func NodePortProtoFormat(nodeport int, protocol string) string

nodePortProtoFormat formats the nodeport, protocol to string port:protocol.

func PodEndpointIndexFunc added in v1.8.0

func PodEndpointIndexFunc(obj interface{}) ([]string, error)

func PodIPIndexFunc added in v1.8.0

func PodIPIndexFunc(obj interface{}) ([]string, error)

Types

type LocalPortOpener added in v1.2.0

type LocalPortOpener interface {
	OpenLocalPort(port int, protocol string) (io.Closer, error)
}

type NodePortData

type NodePortData struct {
	NodePort int
	PodPort  int
	PodIP    string
	Protocol ProtocolSocketData
}

func (*NodePortData) CloseSockets added in v1.4.0

func (d *NodePortData) CloseSockets() error

func (*NodePortData) ProtocolInUse added in v1.4.0

func (d *NodePortData) ProtocolInUse(protocol string) bool

type PortTable

type PortTable struct {
	PortTableCache  cache.Indexer
	StartPort       int
	EndPort         int
	PortSearchStart 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, protocol string) (int, error)

func (*PortTable) CleanupAllEntries

func (pt *PortTable) CleanupAllEntries()

func (*PortTable) DeleteRule

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

func (*PortTable) DeleteRulesForPod added in v1.4.0

func (pt *PortTable) DeleteRulesForPod(podIP string) error

func (*PortTable) GetDataForPodIP

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

func (*PortTable) GetEntry

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

func (*PortTable) RestoreRules added in v1.2.2

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

RestoreRules should be called at Antrea Agent startup to restore a set of NPL rules. It is non-blocking but takes a channel parameter - 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, protocol string) bool

type ProtocolSocketData added in v1.4.0

type ProtocolSocketData struct {
	Protocol string
	State    protocolSocketState
	// contains filtered or unexported fields
}

Directories

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