cilium: github.com/cilium/cilium/pkg

Directories

PathSynopsis
addressing
aligncheckerPackage alignchecker provides routines to check Go and C struct alignments
allocatorPackage allocator provides a kvstore based ID allocator
annotation
apiPackage api provides the Cilium useful helpers for the external API
api/helpers
api/metrics
api/metrics/mock
aws/ec2
aws/ec2/mock
aws/eniPackage eni implements AWS ENI allocation logic
aws/eni/types
aws/metadata
aws/types
azure/api
azure/api/mock
azure/ipamPackage ipam implements Azure IPAM logic
azure/types
backoff
bpfPackage bpf provides functions that allow golang programs to interact with bpf maps.
bpf/binaryPackage binary is a fork of the upstream golang library.
byteorderPackage byteorder provides functions to convert from and to network byte order.
cgroups
checker
cidr
cleanup
client
clustermesh
clustermesh/types
command
command/execPackage exec provides useful wrappers around the standard "exec" library.
common
comparator
completionPackage completion implements a variant of sync.WaitGroup that is associated with a context.Context.
components
contexthelpers
controllerPackage controller provide a simple pattern for async operations that require retries and/or regular intervals.
counterPackage counter provides generic reference counter objects
crypto/certificatemanager
crypto/sha1Package sha1 provides resumable sha1 hashes based on the standard go library.
datapathPackage datapath defines the interfaces to abstract all platform specific datapath components.
datapath/aligncheckerPackage alignchecker is a thin wrapper around pkg/alignchecker to validate datapath object alignment.
datapath/connectorPackage connector is responsible for the datapath specific plumbing to connect an endpoint to the network
datapath/fakePackage fake is a fake datapath implementation.
datapath/ipcachePackage ipcache provides a BPF datapath implementation of the IPCache store.
datapath/iptablesPackage iptables manages iptables-related configuration for Cilium.
datapath/linkPackage link provides the Cilium specific abstraction and useful helpers to manage network interfaces
datapath/linuxPackage linux implements the Linux specific datapath implementation
datapath/linux/config
datapath/linux/ipsecPackage ipsec provides the Linux datpaath specific abstraction and useful helpers to manage IPSec via Linux xfrm.
datapath/linux/linux_defaultsPackage linux_defaults provides the Linux datapath defaults
datapath/linux/probesPackage probes provides BPF features checks based on bpftool.
datapath/linux/routePackage route provides the Cilium specific abstraction and useful helpers to manage network routes
datapath/linux/routing
datapath/loaderPackage loader provides accessors to compilation and BPF load routines necessary for creating datapath objects and attaching them to links.
datapath/loader/metrics
datapath/mapsPackage maps performs various lifecycle operations related to maps in the datapath.
datapath/option
datapath/prefilterPackage prefilter provides a means of configuring XDP pre-filters for DDoS-mitigation.
debug
defaults
elfPackage elf provides utility functions for manipulating ELF files on the filesystem.
endpoint
endpoint/connectorPackage connector is responsible for the datapath specific plumbing to connect an endpoint to the network
endpoint/id
endpointmanagerPackage endpointmanager manages the list of all local endpoints
endpoint/regeneration
envoy
envoy/xdsPackage xds is an implementation of Envoy's xDS (Discovery Service) protocol.
eventqueuePackage eventqueue implements a queue-based system for event processing in a generic fashion in a first-in, first-out manner.
flowdebug
fqdnPackage 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/defaults
hubble/relay/observer
hubble/relay/pool
hubble/relay/queue
hubble/relay/server
hubble/server
hubble/server/serveroption
hubble/testutils
iana
identityPackage identity contains code for managing security identities in Cilium.
identity/cache
identity/identitymanagerPackage identitymanager tracks which global identities are being used by the currently running cilium-agent
identity/model
idpool
ipPackage ip is a library for performing manipulations on IPv4 and IPv6 addresses and CIDR prefixes.
ipamPackage 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
ipcachePackage 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
k8sPackage k8s abstracts all Kubernetes specific behaviour
k8s/apis/cilium.io
k8s/apis/cilium.io/utils
k8s/apis/cilium.io/v2Package v2 is the v2 version of the API.
k8s/apis/cilium.io/v2/client
k8s/apis/cilium.io/v2/validator
k8s/client/clientset/versionedThis package has the automatically generated clientset.
k8s/client/clientset/versioned/fakeThis package has the automatically generated fake clientset.
k8s/client/clientset/versioned/schemeThis package contains the scheme of the automatically generated clientset.
k8s/client/clientset/versioned/typed/cilium.io/v2This package has the automatically generated typed clients.
k8s/client/clientset/versioned/typed/cilium.io/v2/fakePackage 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/v1Package types contains slimmer versions of k8s types.
k8s/slim/k8s/apis/discovery/v1beta1Package types contains slimmer versions of k8s types.
k8s/slim/k8s/apis/labelsPackage labels implements a simple label system, parsing and matching selectors with sets of labels.
k8s/slim/k8s/apis/meta/v1Package types contains slimmer versions of k8s types.
k8s/slim/k8s/apis/meta/v1/validation
k8s/slim/k8s/apis/networking/v1Package types contains slimmer versions of k8s types.
k8s/slim/k8s/apis/selection
k8s/slim/k8s/apis/util/intstrPackage types contains slimmer versions of k8s types.
k8s/slim/k8s/client/clientset/versioned/schemeThis package contains the scheme of the automatically generated clientset.
k8s/slim/k8s/client/clientset/versioned/typed/core/v1This package has the automatically generated typed clients.
k8s/slim/k8s/client/clientset/versioned/typed/core/v1/fakePackage fake has the automatically generated clients.
k8s/slim/k8s/client/clientset/versioned/typed/discovery/v1beta1This package has the automatically generated typed clients.
k8s/slim/k8s/client/clientset/versioned/typed/discovery/v1beta1/fakePackage fake has the automatically generated clients.
k8s/slim/k8s/client/clientset/versioned/typed/networking/v1This package has the automatically generated typed clients.
k8s/slim/k8s/client/clientset/versioned/typed/networking/v1/fakePackage fake has the automatically generated clients.
k8s/slim/k8s/clientset
k8s/typesPackage types contains slimmer versions of k8s types.
k8s/utils
k8s/versionPackage version keeps track of the Kubernetes version the client is connected to
k8s/watchers
kafkaPackage kafka provides a library to parse Kafka requests and responses and apply policy rules
kvstorePackage kvstore abstracts KVstore access and provides a high level API to atomically manage cluster wide resources
kvstore/allocatorPackage allocator provides a kvstore based ID allocator
kvstore/storePackage store implements a shared store backed by a kvstore or similar with the following properties:
labelsPackage api defines the API of the Cilium network policy interface
labels/cidrPackage cidr provides helper methods for generating labels for CIDRs which are partially derived from node state.
labelsfilter
labels/model
launcher
loadbalancerPackage loadbalancer contains all logic related with the loadbalancer +groupName=pkg
loadinfoPackage loadinfo provides the ability to log system load information either at a particular time or periodically in the background
lock
logging
logging/logfieldsPackage logfields defines common logging fields which are used across packages
mac
maps/callsmapPackage callsmap represents the internal calls map for endpoint and host datapaths.
maps/cidrmap
maps/ctmap
maps/ctmap/gc
maps/encryptPackage encrypt represents the nodes current encryption state.
maps/eppolicymapPackage eppolicymap represents the map from an endpoint ID to its policy map.
maps/eventsmapPackage eventsmap represents the perf event map used by the datapath to send events to the Cilium agent.
maps/fragmapPackage 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
maps/ipmasq
maps/lbmap
maps/lxcmapPackage lxcmap represents the endpoints BPF map in the BPF programs.
maps/metricsmapPackage metricsmap represents the BPF metrics map in the BPF programs.
maps/natPackage nat implements the BPF NAT map interaction code.
maps/neighborsmapPackage neighborsmap represents the map that stores IP to mac address mappings for NodePort clients.
maps/policymap
maps/signalmapPackage signalmap represents the perf event map used to signal potential congestion to Cilium agent.
maps/sockmapPackage Sockmap represents the map from 5-tuple to the socket.
maps/tunnel
math
mcastmanagerPackage mcastmanager manages endpoint's IPv6 addresses and join the node solicitation multicast addresses
metricsPackage metrics holds prometheus metrics objects and related utility functions.
modulesPackage modules contains a manager of loaded modules which supports search operation.
monitor
monitor/agent
monitor/agent/listener
monitor/aligncheckerPackage alignchecker is a thin wrapper around pkg/alignchecker to validate monitor object alignment.
monitor/api
monitor/formatPackage format provides stdout formatting of monitor messages for reuse by command-line clients of the monitor event channel.
monitor/notifications
monitor/payload
mountinfo
mtuPackage mtu is a library for tracking and configuring MTU for devices and routes.
multicastPackage multicast contains various utility functions to work with IPv6 multicast
netnsPackage netns contains various utility functions to work with network namespaces
nodePackage node provides functionality related to the local and remote node addresses
node/addressing
nodediscovery
node/manager
node/store
node/types
option
option/fake
pidfile
policy
policy/apiPackage api defines the API of the Cilium network policy interface +groupName=policy
policy/api/kafkaPackage kafka defines the Kafka API of the Cilium network policy interface +groupName=policy
policy/groups
policy/groups/aws
policy/trace
policy/trafficdirectionpackage trafficdirection specifies the directionality of policy in a numeric representation.
pprofPackage pprof enables use of pprof in Cilium
probePackage probe provides a collection of kernel-side BPF feature probes.
proxy
proxy/accesslog
proxy/loggerPackage logger provides the accesslog logging logic for all proxies
rand
ratePackage rate provides a rate limiter to rate limit requests that can be burstable but they should only allowed N per a period defined.
revert
safetimePackage safetime contains a wrapper function for time.Since to deal with negative durations.
serializer
service
service/healthserver
service/store
setPackage set contains a function for performing a subset check for slices.
signalPackage signal provides handling notifications from perf RB signal map.
sockops
source
spanstatPackage spanstat provides a mechanism to measure duration of multiple spans and add them up to a total duration
status
strings
sysctlPackage sysctl allows to change kernel parameters at runtime.
testutils
testutils/allocator
triggerPackage trigger provides a mechanism to trigger actions that require to be serialized while providing a non-blocking notification mechanism
tuplePackage tuple defines keys used for connection tuples in multiple BPF maps.
types
u8proto
uuid
version
versioncheckPackage versioncheck provides utility wrappers for go-version, allowing the constraints to be used as global variables.

Updated 2020-08-09. Refresh now. Tools for package owners.