const kubeProxyTable …
const filterPreroutingChain …
const filterInputChain …
const filterForwardChain …
const filterOutputChain …
const filterOutputPostDNATChain …
const natPreroutingChain …
const natOutputChain …
const natPostroutingChain …
const servicesChain …
const serviceIPsMap …
const serviceNodePortsMap …
const nodePortIPsSet …
const clusterIPsSet …
const serviceEndpointsCheckChain …
const nodePortEndpointsCheckChain …
const noEndpointServicesMap …
const noEndpointNodePortsMap …
const rejectChain …
const clusterIPsCheckChain …
const firewallIPsMap …
const firewallCheckChain …
const markMasqChain …
const masqueradingChain …
func NewDualStackProxier(
ctx context.Context,
syncPeriod time.Duration,
minSyncPeriod 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,
nodePortAddresses []string,
initOnly bool,
) (proxy.Provider, error) { … }
type Proxier …
var _ …
func NewProxier(ctx context.Context,
ipFamily v1.IPFamily,
syncPeriod time.Duration,
minSyncPeriod time.Duration,
masqueradeAll bool,
masqueradeBit int,
localDetector proxyutil.LocalTrafficDetector,
hostname string,
nodeIP net.IP,
recorder events.EventRecorder,
healthzServer *healthcheck.ProxierHealthServer,
nodePortAddressStrings []string,
initOnly bool,
) (*Proxier, error) { … }
func getNFTablesInterface(ipFamily v1.IPFamily) (knftables.Interface, error) { … }
type servicePortInfo …
func newServiceInfo(port *v1.ServicePort, service *v1.Service, bsvcPortInfo *proxy.BaseServicePortInfo) proxy.ServicePort { … }
type endpointInfo …
func newEndpointInfo(baseInfo *proxy.BaseEndpointInfo, svcPortName *proxy.ServicePortName) proxy.Endpoint { … }
type nftablesBaseChain …
var nftablesBaseChains …
type nftablesJumpChain …
var nftablesJumpChains …
func ensureChain(chain string, tx *knftables.Transaction, createdChains sets.Set[string], skipCreation bool) { … }
func (proxier *Proxier) setupNFTables(tx *knftables.Transaction) { … }
func CleanupLeftovers(ctx context.Context) 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(cidrs []string) { … }
const chainNamePrefixLengthMax …
const chainNameBaseLengthMax …
const servicePortPolicyClusterChainNamePrefix …
const servicePortPolicyLocalChainNamePrefix …
const serviceExternalChainNamePrefix …
const servicePortEndpointChainNamePrefix …
const servicePortEndpointAffinityNamePrefix …
const servicePortFirewallChainNamePrefix …
func hashAndTruncate(name string) string { … }
func servicePortChainNameBase(servicePortName *proxy.ServicePortName, protocol string) string { … }
func servicePortEndpointChainNameBase(servicePortName *proxy.ServicePortName, protocol, endpoint string) string { … }
func isServiceChainName(chainString string) bool { … }
func isAffinitySetName(set string) bool { … }
type nftElementStorage …
func joinNFTSlice(k []string) string { … }
func splitNFTSlice(k string) []string { … }
func newNFTElementStorage(containerType, containerName string) *nftElementStorage { … }
func (s *nftElementStorage) reset(tx *knftables.Transaction) { … }
func (s *nftElementStorage) resetLeftoverKeys() { … }
func (s *nftElementStorage) ensureElem(tx *knftables.Transaction, elem *knftables.Element) { … }
func (s *nftElementStorage) cleanupLeftoverKeys(tx *knftables.Transaction) { … }
func (proxier *Proxier) syncProxyRules() { … }
func (proxier *Proxier) writeServiceToEndpointRules(tx *knftables.Transaction, svcInfo *servicePortInfo, svcChain string, endpoints []proxy.Endpoint) { … }