...

Package conntrack

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

Overview ▾

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.

type FakeInterface

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

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

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

Interface for dealing with conntrack

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
}

func NewExec

func NewExec(execer exec.Interface) Interface