kubernetesk8s.io/kubernetes/pkg/proxy/conntrack Index | Files

package conntrack

import "k8s.io/kubernetes/pkg/proxy/conntrack"

Index

Functions

func CleanStaleEntries

func CleanStaleEntries(ct Interface, svcPortMap proxy.ServicePortMap,
	serviceUpdateResult proxy.UpdateServiceMapResult, endpointsUpdateResult proxy.UpdateEndpointsMapResult)

CleanStaleEntries takes care of flushing stale conntrack entries for services and endpoints.

Types

type FakeInterface

type FakeInterface struct {
	ClearedIPs      sets.Set[string]
	ClearedPorts    sets.Set[int]
	ClearedNATs     map[string]string // origin -> dest
	ClearedPortNATs map[int]string    // port -> dest
}

FakeInterface implements Interface by just recording entries that have been cleared.

func NewFake

func NewFake() *FakeInterface

NewFake creates a new FakeInterface

func (*FakeInterface) ClearEntriesForIP

func (fake *FakeInterface) ClearEntriesForIP(ip string, protocol v1.Protocol) error

ClearEntriesForIP is part of Interface

func (*FakeInterface) ClearEntriesForNAT

func (fake *FakeInterface) ClearEntriesForNAT(origin, dest string, protocol v1.Protocol) error

ClearEntriesForNAT is part of Interface

func (*FakeInterface) ClearEntriesForPort

func (fake *FakeInterface) ClearEntriesForPort(port int, isIPv6 bool, protocol v1.Protocol) error

ClearEntriesForPort is part of Interface

func (*FakeInterface) ClearEntriesForPortNAT

func (fake *FakeInterface) ClearEntriesForPortNAT(dest string, port int, protocol v1.Protocol) error

ClearEntriesForPortNAT is part of Interface

func (*FakeInterface) Reset

func (fake *FakeInterface) Reset()

Reset clears fake's sets/maps

type Interface

type Interface interface {
	// ClearEntriesForIP deletes conntrack entries for connections of the given
	// protocol, to the given IP.
	ClearEntriesForIP(ip string, protocol v1.Protocol) error

	// ClearEntriesForPort deletes conntrack entries for connections of the given
	// protocol and IP family, to the given port.
	ClearEntriesForPort(port int, isIPv6 bool, protocol v1.Protocol) error

	// ClearEntriesForNAT deletes conntrack entries for connections of the given
	// protocol, which had been DNATted from origin to dest.
	ClearEntriesForNAT(origin, dest string, protocol v1.Protocol) error

	// ClearEntriesForPortNAT deletes conntrack entries for connections of the given
	// protocol, which had been DNATted from the given port (on any IP) to dest.
	ClearEntriesForPortNAT(dest string, port int, protocol v1.Protocol) error
}

Interface for dealing with conntrack

func NewExec

func NewExec(execer exec.Interface) Interface

Source Files

cleanup.go conntrack.go doc.go fake.go

Version
v1.31.6
Published
Feb 12, 2025
Platform
linux/amd64
Imports
10 packages
Last checked
35 minutes ago

Tools for package owners.