Back to godoc.org

Directory github.com/cilium/cilium/pkg

v1.8.2
Latest Go to latest
Published: Jul 23, 2020 | License: Apache-2.0 | Module: github.com/cilium/cilium
Path Synopsis
addressing
alignchecker Package alignchecker provides routines to check Go and C struct alignments
allocator Package allocator provides a kvstore based ID allocator
annotation
api Package api provides the Cilium useful helpers for the external API
api/helpers
api/metrics
api/metrics/mock
aws/ec2
aws/ec2/mock
aws/eni Package eni implements AWS ENI allocation logic
aws/eni/types
aws/metadata
aws/types
azure/api
azure/api/mock
azure/ipam Package ipam implements Azure IPAM logic
azure/types +groupName=azure
backoff
bpf Package bpf provides functions that allow golang programs to interact with bpf maps.
bpf/binary Package binary is a fork of the upstream golang library.
byteorder Package byteorder provides functions to convert from and to network byte order.
cgroups
checker
cidr
cleanup
client
clustermesh
clustermesh/types
command
command/exec Package exec provides useful wrappers around the standard "exec" library.
common
comparator
completion Package completion implements a variant of sync.WaitGroup that is associated with a context.Context.
components
contexthelpers
controller Package controller provide a simple pattern for async operations that require retries and/or regular intervals.
counter Package counter provides generic reference counter objects
crypto/certificatemanager
crypto/sha1 Package sha1 provides resumable sha1 hashes based on the standard go library.
datapath Package datapath defines the interfaces to abstract all platform specific datapath components.
datapath/alignchecker Package alignchecker is a thin wrapper around pkg/alignchecker to validate datapath object alignment.
datapath/connector Package connector is responsible for the datapath specific plumbing to connect an endpoint to the network
datapath/fake Package fake is a fake datapath implementation.
datapath/ipcache Package ipcache provides a BPF datapath implementation of the IPCache store.
datapath/iptables Package iptables manages iptables-related configuration for Cilium.
datapath/link Package link provides the Cilium specific abstraction and useful helpers to manage network interfaces
datapath/linux Package linux implements the Linux specific datapath implementation
datapath/linux/config
datapath/linux/ipsec Package ipsec provides the Linux datpaath specific abstraction and useful helpers to manage IPSec via Linux xfrm.
datapath/linux/linux_defaults Package linux_defaults provides the Linux datapath defaults
datapath/linux/probes Package probes provides BPF features checks based on bpftool.
datapath/linux/route Package route provides the Cilium specific abstraction and useful helpers to manage network routes
datapath/linux/routing
datapath/loader Package loader provides accessors to compilation and BPF load routines necessary for creating datapath objects and attaching them to links.
datapath/loader/metrics
datapath/maps Package maps performs various lifecycle operations related to maps in the datapath.
datapath/option
datapath/prefilter Package prefilter provides a means of configuring XDP pre-filters for DDoS-mitigation.
debug
defaults
elf Package elf provides utility functions for manipulating ELF files on the filesystem.
endpoint
endpoint/id
endpoint/regeneration
endpointmanager Package endpointmanager manages the list of all local endpoints
endpointmanager/idallocator
envoy
envoy/xds Package xds is an implementation of Envoy's xDS (Discovery Service) protocol.
eventqueue Package eventqueue implements a queue-based system for event processing in a generic fashion in a first-in, first-out manner.
flowdebug
fqdn Package fqdn handles some of the DNS-based policy functions: - A DNS lookup cache used to populate toFQDNs rules in the policy layer.
fqdn/dnsproxy
fqdn/matchpattern
health/client
health/defaults
health/probe
health/probe/responder
health/server
hubble/api/v1
hubble/container
hubble/defaults
hubble/filters
hubble/k8s
hubble/listener
hubble/math
hubble/metrics
hubble/metrics/api
hubble/metrics/dns
hubble/metrics/drop
hubble/metrics/flow
hubble/metrics/http
hubble/metrics/icmp
hubble/metrics/port-distribution
hubble/metrics/tcp
hubble/observer
hubble/observer/observeroption
hubble/parser
hubble/parser/errors
hubble/parser/getters
hubble/parser/options
hubble/parser/seven
hubble/parser/threefour
hubble/peer
hubble/peer/serviceoption
hubble/peer/types
hubble/relay
hubble/relay/pool
hubble/relay/queue
hubble/relay/relayoption
hubble/server
hubble/server/serveroption
hubble/testutils
iana
identity Package identity contains code for managing security identities in Cilium.
identity/cache
identity/identitymanager Package identitymanager tracks which global identities are being used by the currently running cilium-agent
identity/model
idpool
ip Package ip is a library for performing manipulations on IPv4 and IPv6 addresses and CIDR prefixes.
ipam Package ipam handles address allocation management
ipam/allocator
ipam/allocator/aws
ipam/allocator/azure
ipam/allocator/operator
ipam/allocator/podcidr
ipam/metrics
ipam/metrics/mock
ipam/option
ipam/types +groupName=ipam
ipcache Package ipcache provides a local cache of the mapping of IPs of endpoints managed by Cilium to their corresponding security identities.
ipcache/fake
ipcache/types
ipmasq
k8s Package k8s abstracts all Kubernetes specific behaviour Package k8s abstracts all Kubernetes specific behaviour Package k8s contains all k8s related logic.
k8s/apis/cilium.io
k8s/apis/cilium.io/utils
k8s/apis/cilium.io/v2 Package v2 is the v2 version of the API.
k8s/apis/cilium.io/v2/client
k8s/apis/cilium.io/v2/validator
k8s/client/clientset/versioned This package has the automatically generated clientset.
k8s/client/clientset/versioned/fake This package has the automatically generated fake clientset.
k8s/client/clientset/versioned/scheme This package contains the scheme of the automatically generated clientset.
k8s/client/clientset/versioned/typed/cilium.io/v2 This package has the automatically generated typed clients.
k8s/client/clientset/versioned/typed/cilium.io/v2/fake Package fake has the automatically generated clients.
k8s/client/informers/externalversions
k8s/client/informers/externalversions/cilium.io
k8s/client/informers/externalversions/cilium.io/v2
k8s/client/informers/externalversions/internalinterfaces
k8s/client/listers/cilium.io/v2
k8s/config
k8s/constants
k8s/identitybackend
k8s/informer
k8s/metrics
k8s/slim/k8s/apis/core/v1 Package types contains slimmer versions of k8s types.
k8s/slim/k8s/apis/discovery/v1beta1 Package types contains slimmer versions of k8s types.
k8s/slim/k8s/apis/labels Package labels implements a simple label system, parsing and matching selectors with sets of labels.
k8s/slim/k8s/apis/meta/v1 Package types contains slimmer versions of k8s types.
k8s/slim/k8s/apis/meta/v1/validation
k8s/slim/k8s/apis/networking/v1 Package types contains slimmer versions of k8s types.
k8s/slim/k8s/apis/selection
k8s/slim/k8s/apis/util/intstr Package types contains slimmer versions of k8s types.
k8s/slim/k8s/client/clientset/versioned This package has the automatically generated clientset.
k8s/slim/k8s/client/clientset/versioned/fake This package has the automatically generated fake clientset.
k8s/slim/k8s/client/clientset/versioned/scheme This package contains the scheme of the automatically generated clientset.
k8s/slim/k8s/client/clientset/versioned/typed/core/v1 This package has the automatically generated typed clients.
k8s/slim/k8s/client/clientset/versioned/typed/core/v1/fake Package fake has the automatically generated clients.
k8s/slim/k8s/client/clientset/versioned/typed/discovery/v1beta1 This package has the automatically generated typed clients.
k8s/slim/k8s/client/clientset/versioned/typed/discovery/v1beta1/fake Package fake has the automatically generated clients.
k8s/slim/k8s/client/clientset/versioned/typed/networking/v1 This package has the automatically generated typed clients.
k8s/slim/k8s/client/clientset/versioned/typed/networking/v1/fake Package fake has the automatically generated clients.
k8s/slim/k8s/clientset
k8s/types Package types contains slimmer versions of k8s types.
k8s/utils
k8s/version Package version keeps track of the Kubernetes version the client is connected to
k8s/watchers
kafka Package kafka provides a library to parse Kafka requests and responses and apply policy rules
kvstore Package kvstore abstracts KVstore access and provides a high level API to atomically manage cluster wide resources
kvstore/allocator Package allocator provides a kvstore based ID allocator
kvstore/store Package store implements a shared store backed by a kvstore or similar with the following properties: * A single type is used to represent all keys * Any number of collaborators can join the store.
labels Package api defines the API of the Cilium network policy interface
labels/cidr Package cidr provides helper methods for generating labels for CIDRs which are partially derived from node state.
labels/model
labelsfilter
launcher
loadbalancer Package loadbalancer contains all logic related with the loadbalancer +groupName=pkg
loadinfo Package loadinfo provides the ability to log system load information either at a particular time or periodically in the background
lock
logging
logging/logfields Package logfields defines common logging fields which are used across packages
mac
maps/callsmap Package callsmap represents the internal calls map for endpoint and host datapaths.
maps/cidrmap
maps/ctmap +groupName=maps
maps/ctmap/gc
maps/encrypt Package encrypt represents the nodes current encryption state.
maps/eppolicymap Package eppolicymap represents the map from an endpoint ID to its policy map.
maps/eventsmap Package eventsmap represents the perf event map used by the datapath to send events to the Cilium agent.
maps/fragmap Package fragmap represents the BPF map used to associate IPv4 datagram fragments to the L4 ports of the datagram they belong to, in order to retrieve the full 5-tuple necessary to do L4-based lookups.
maps/ipcache +groupName=maps
maps/ipmasq
maps/lbmap +groupName=maps
maps/lxcmap Package lxcmap represents the endpoints BPF map in the BPF programs.
maps/metricsmap Package metricsmap represents the BPF metrics map in the BPF programs.
maps/nat Package nat implements the BPF NAT map interaction code.
maps/neighborsmap Package neighborsmap represents the map that stores IP to mac address mappings for NodePort clients.
maps/policymap +groupName=maps
maps/signalmap Package signalmap represents the perf event map used to signal potential congestion to Cilium agent.
maps/sockmap Package Sockmap represents the map from 5-tuple to the socket.
maps/tunnel +groupName=maps
math
metrics Package metrics holds prometheus metrics objects and related utility functions.
modules Package modules contains a manager of loaded modules which supports search operation.
monitor
monitor/agent
monitor/agent/listener
monitor/alignchecker Package alignchecker is a thin wrapper around pkg/alignchecker to validate monitor object alignment.
monitor/api
monitor/format Package format provides stdout formatting of monitor messages for reuse by command-line clients of the monitor event channel.
monitor/notifications
monitor/payload
mountinfo
mtu Package mtu is a library for tracking and configuring MTU for devices and routes.
netns Package netns contains various utility functions to work with network namespaces
node Package node provides functionality related to the local and remote node addresses
node/addressing
node/manager
node/store
node/types
nodediscovery
option
option/fake
pidfile
policy
policy/api Package api defines the API of the Cilium network policy interface +groupName=policy
policy/groups
policy/groups/aws
policy/trace
policy/trafficdirection package trafficdirection specifies the directionality of policy in a numeric representation.
pprof Package pprof enables use of pprof in Cilium
probe Package probe provides a collection of kernel-side BPF feature probes.
proxy
proxy/accesslog
proxy/logger Package logger provides the accesslog logging logic for all proxies
rand
rate Package rate provides a rate limiter to rate limit requests that can be burstable but they should only allowed N per a period defined.
revert
safetime Package safetime contains a wrapper function for time.Since to deal with negative durations.
serializer
service
service/healthserver
service/store
set Package set contains a function for performing a subset check for slices.
signal Package signal provides handling notifications from perf RB signal map.
sockops
source
spanstat Package spanstat provides a mechanism to measure duration of multiple spans and add them up to a total duration
status
sysctl Package sysctl allows to change kernel parameters at runtime.
testutils
testutils/allocator
trigger Package trigger provides a mechanism to trigger actions that require to be serialized while providing a non-blocking notification mechanism
tuple Package tuple defines keys used for connection tuples in multiple BPF maps.
types
u8proto
uuid
version
versioncheck Package versioncheck provides utility wrappers for go-version, allowing the constraints to be used as global variables.