const kubeServicesChain …
const kubeProxyFirewallChain …
const kubeSourceRangesFirewallChain …
const kubePostroutingChain …
const kubeMarkMasqChain …
const kubeNodePortChain …
const kubeForwardChain …
const kubeLoadBalancerChain …
const kubeIPVSFilterChain …
const kubeIPVSOutFilterChain …
const defaultScheduler …
const defaultDummyDevice …
const sysctlVSConnTrack …
const sysctlConnReuse …
const sysctlExpireNoDestConn …
const sysctlExpireQuiescentTemplate …
const sysctlForward …
const sysctlArpIgnore …
const sysctlArpAnnounce …
func NewDualStackProxier(
ctx context.Context,
ipt [2]utiliptables.Interface,
ipvs utilipvs.Interface,
ipset utilipset.Interface,
sysctl utilsysctl.Interface,
exec utilexec.Interface,
syncPeriod time.Duration,
minSyncPeriod time.Duration,
excludeCIDRs []string,
strictARP bool,
tcpTimeout time.Duration,
tcpFinTimeout time.Duration,
udpTimeout time.Duration,
masqueradeAll bool,
masqueradeBit int,
localDetectors map[v1.IPFamily]proxyutil.LocalTrafficDetector,
hostname string,
nodeIPs map[v1.IPFamily]net.IP,
recorder events.EventRecorder,
healthzServer *healthcheck.ProxierHealthServer,
scheduler string,
nodePortAddresses []string,
initOnly bool,
) (proxy.Provider, error) { … }
type Proxier …
var _ …
func NewProxier(
ctx context.Context,
ipFamily v1.IPFamily,
ipt utiliptables.Interface,
ipvs utilipvs.Interface,
ipset utilipset.Interface,
sysctl utilsysctl.Interface,
exec utilexec.Interface,
syncPeriod time.Duration,
minSyncPeriod time.Duration,
excludeCIDRs []string,
strictARP bool,
tcpTimeout time.Duration,
tcpFinTimeout time.Duration,
udpTimeout time.Duration,
masqueradeAll bool,
masqueradeBit int,
localDetector proxyutil.LocalTrafficDetector,
hostname string,
nodeIP net.IP,
recorder events.EventRecorder,
healthzServer *healthcheck.ProxierHealthServer,
scheduler string,
nodePortAddressStrings []string,
initOnly bool,
) (*Proxier, error) { … }
func filterCIDRs(wantIPv6 bool, cidrs []string) []string { … }
var iptablesJumpChain …
var iptablesChains …
var iptablesCleanupChains …
var ipsetInfo …
var ipsetWithIptablesChain …
type servicePortInfo …
func newServiceInfo(port *v1.ServicePort, service *v1.Service, bsvcPortInfo *proxy.BaseServicePortInfo) proxy.ServicePort { … }
func getFirstColumn(r io.Reader) ([]string, error) { … }
func CanUseIPVSProxier(ctx context.Context, ipvs utilipvs.Interface, ipsetver IPSetVersioner, scheduler string) error { … }
func cleanupIptablesLeftovers(ctx context.Context, ipt utiliptables.Interface) (encounteredError bool) { … }
func CleanupLeftovers(ctx context.Context, ipvs utilipvs.Interface, ipt utiliptables.Interface, ipset utilipset.Interface) (encounteredError bool) { … }
func (proxier *Proxier) Sync() { … }
func (proxier *Proxier) SyncLoop() { … }
func (proxier *Proxier) setInitialized(value bool) { … }
func (proxier *Proxier) isInitialized() bool { … }
func (proxier *Proxier) OnServiceAdd(service *v1.Service) { … }
func (proxier *Proxier) OnServiceUpdate(oldService, service *v1.Service) { … }
func (proxier *Proxier) OnServiceDelete(service *v1.Service) { … }
func (proxier *Proxier) OnServiceSynced() { … }
func (proxier *Proxier) OnEndpointSliceAdd(endpointSlice *discovery.EndpointSlice) { … }
func (proxier *Proxier) OnEndpointSliceUpdate(_, endpointSlice *discovery.EndpointSlice) { … }
func (proxier *Proxier) OnEndpointSliceDelete(endpointSlice *discovery.EndpointSlice) { … }
func (proxier *Proxier) OnEndpointSlicesSynced() { … }
func (proxier *Proxier) OnNodeAdd(node *v1.Node) { … }
func (proxier *Proxier) OnNodeUpdate(oldNode, node *v1.Node) { … }
func (proxier *Proxier) OnNodeDelete(node *v1.Node) { … }
func (proxier *Proxier) OnNodeSynced() { … }
func (proxier *Proxier) OnServiceCIDRsChanged(_ []string) { … }
func (proxier *Proxier) syncProxyRules() { … }
func (proxier *Proxier) writeIptablesRules() { … }
func (proxier *Proxier) acceptIPVSTraffic() { … }
func (proxier *Proxier) createAndLinkKubeChain() { … }
func (proxier *Proxier) syncService(svcName string, vs *utilipvs.VirtualServer, bindAddr bool, alreadyBoundAddrs sets.Set[string]) error { … }
func (proxier *Proxier) syncEndpoint(svcPortName proxy.ServicePortName, onlyNodeLocalEndpoints bool, vs *utilipvs.VirtualServer) error { … }
func (proxier *Proxier) cleanLegacyService(activeServices sets.Set[string], currentServices map[string]*utilipvs.VirtualServer) { … }
func (proxier *Proxier) isIPInExcludeCIDRs(ip net.IP) bool { … }
func getIPFamily(ip net.IP) v1.IPFamily { … }