common

package
v0.0.0-...-a5bca4c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2017 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// RFC3339Milli is the RFC3339 with milliseconds for the default timestamp format
	// log files.
	RFC3339Milli = "2006-01-02T15:04:05.000Z07:00"

	// OperationalPath is the base path to store the operational details in consul.
	OperationalPath = "cilium-net/operational"

	// LastFreeLabelIDKeyPath is the path where the Last free UUID is stored in consul.
	LastFreeLabelIDKeyPath = OperationalPath + "/Labels/LastUUID"
	// LabelsKeyPath is the base path where labels are stored in consul.
	LabelsKeyPath = OperationalPath + "/Labels/SHA256SUMLabels"
	// LabelIDKeyPath is the base path where the IDs are stored in consul.
	LabelIDKeyPath = OperationalPath + "/Labels/IDs"
	// MaxSetOfLabels is maximum number of set of labels that can be stored in consul.
	MaxSetOfLabels = uint32(0xFFFF)
	// LastFreeServiceIDKeyPath is the path where the Last free UUID is stored in consul.
	LastFreeServiceIDKeyPath = OperationalPath + "/Services/LastUUID"
	// ServiceKeyPath is the base path where services are stored in consul.
	ServicesKeyPath = OperationalPath + "/Services/SHA256SUMServices"
	// ServiceIDKeyPath is the base path where the IDs are stored in consul.
	ServiceIDKeyPath = OperationalPath + "/Services/IDs"
	// MaxSetOfServiceID is maximum number of set of service IDs that can be stored in consul.
	MaxSetOfServiceID = uint32(0xFFFF)
	// FirstFreeServiceID is the first ID for which the services should be assigned.
	FirstFreeServiceID = uint32(1)

	// GlobalLabelPrefix is the default root path for the policy.
	GlobalLabelPrefix = "io.cilium"
	// CiliumLabelSource is the default label source for the labels read from containers.
	CiliumLabelSource = "cilium"
	// K8sLabelSource is the default label source for the labels read from kubernetes.
	K8sLabelSource = "k8s"
	// K8sAnnotationName is the annotation name used for the cilium policy name in the
	// kubernetes network policy.
	K8sAnnotationName = "io.cilium.name"
	// K8sLabelPrefix is the default prefix used when parsing labels that don't have
	// the GlobalLabelPrefix in kubernetes.
	K8sLabelPrefix = "io.cilium.k8s."
	// K8sDefaultParent is the default prefix for network policies received from
	// kubernetes.
	K8sDefaultParent = "io.cilium.k8s"
	// K8sPodNamespaceLabel is the label used in kubernetes containers to specify
	// which namespace they belong to.
	K8sPodNamespaceLabel = "io.kubernetes.pod.namespace"
	// K8sAnnotationParentName is the annotation name used for the cilium policy
	// parent name in the kubernetes network policy.
	K8sAnnotationParentName = "io.cilium.parent"
	// K8s environment variable label
	K8sEnvNodeNameSpec = "K8S_NODE_NAME"
	// Label source for reserved types
	ReservedLabelSource = "reserved"
	// Label used to represent the reserved source
	ReservedLabelKey = GlobalLabelPrefix + "." + ReservedLabelSource
	// EndpointsPerHost is the maximum number of endpoints allowed per host. It should
	// represent the same number of IPv6 addresses supported on each node.
	EndpointsPerHost = 0xFFFF
	// GroupFilePath is the unix group file path.
	GroupFilePath = "/etc/group"
	// CiliumGroupName is the cilium's unix group name.
	CiliumGroupName = "cilium"

	// CHeaderFileName is the name of the C header file for BPF programs for a
	// particular endpoint.
	CHeaderFileName = "lxc_config.h"
	// Name of the header file used for bpf_netdev.c and bpf_overlay.c
	NetdevHeaderFileName = "netdev_config.h"
	// CiliumCHeaderPrefix is the prefix using when printing/writing an endpoint in a
	// base64 form.
	CiliumCHeaderPrefix = "CILIUM_BASE64_"
)

Variables

View Source
var (
	Green  = color.New(color.FgGreen).SprintFunc()
	Yellow = color.New(color.FgYellow).SprintFunc()
	Red    = color.New(color.FgRed).SprintFunc()
)
View Source
var (
	// Version number needs to be var since we override the value when building
	Version = "dev"
)

Functions

func FindEPConfigCHeader

func FindEPConfigCHeader(basePath string, epFiles []os.FileInfo) string

FindEPConfigCHeader returns the full path of the file that is the CHeaderFileName from the slice of files

func FmtDefineAddress

func FmtDefineAddress(name string, addr []byte) string

FmtDefineAddress returns the a define string from the given name and addr. Example: fmt.Print(FmtDefineAddress("foo", []byte{1, 2, 3})) // "#define foo { .addr = { 0x1, 0x2, 0x3 } }\n"

func FmtDefineArray

func FmtDefineArray(name string, array []byte) string

FmtDefineArray returns the a define string from the given name and array. Example: fmt.Print(FmtDefineArray("foo", []byte{1, 2, 3})) // "#define foo { 0x1, 0x2, 0x3 }\n"

func GetCiliumVersionString

func GetCiliumVersionString(epCHeaderFilePath string) (string, error)

GetCiliumVersionString returns the first line containing CiliumCHeaderPrefix.

func GetGroupIDByName

func GetGroupIDByName(grpName string) (int, error)

GetGroupIDByName returns the group ID for the given grpName.

func SetupLOG

func SetupLOG(logger *l.Logger, logLevel string)

SetupLOG sets up logger with the correct parameters for the whole cilium architecture.

func Swab16

func Swab16(n uint16) uint16

Swab16 swaps the endianness of n.

func Swab32

func Swab32(n uint32) uint32

Swab32 swaps the endianness of n.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL