cni

package
v3.27.0 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: Apache-2.0, Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CalicoAnnotationPrefix string = "cni.projectcalico.org/"
	VppAnnotationPrefix    string = "cni.projectcalico.org/vpp"
	MemifPortAnnotation    string = "ExtraMemifPorts"
	VclAnnotation          string = "Vcl"
	SpoofAnnotation        string = "AllowedSourcePrefixes"
	IfSpecAnnotation       string = "InterfacesSpec"
	IfSpecPBLAnnotation    string = "ExtraMemifSpec"
)

Variables

This section is empty.

Functions

func GetDefaultIfSpec added in v3.25.1

func GetDefaultIfSpec(isL3 bool) config.InterfaceSpec

func NetNsExec added in v3.26.0

func NetNsExec(netnsName string, cb func() error) (err error)

func NewArpRequestPacket added in v3.26.0

func NewArpRequestPacket(srcMac net.HardwareAddr, srcIp net.IP, dstIp net.IP) ([]byte, error)

func NewLocalPodSpecFromDel

func NewLocalPodSpecFromDel(request *cniproto.DelRequest) *storage.LocalPodSpec

func NsEnter added in v3.26.0

func NsEnter(netnsName string) (cleanup func(), err error)

NsEnter switches the goroutine to the given netnsName and provides the cleanup function

Types

type NetworkPod

type NetworkPod struct {
	NetworkVni  uint32
	ContainerIP *net.IPNet
}

type PodNSNotFoundErr

type PodNSNotFoundErr struct {
	// contains filtered or unexported fields
}

func (PodNSNotFoundErr) Error

func (e PodNSNotFoundErr) Error() string

type Server

type Server struct {
	RedirectToHostClassifyTableIndex uint32
	// contains filtered or unexported fields
}

func NewCNIServer

func NewCNIServer(vpp *vpplink.VppLink, policyServerIpam common.PolicyServerIpam, log *logrus.Entry) *Server

Serve runs the grpc server for the Calico CNI backend API

func (*Server) ActivateStrictRPF

func (s *Server) ActivateStrictRPF(podSpec *storage.LocalPodSpec, stack *vpplink.CleanupStack) (err error)

func (*Server) Add

func (s *Server) Add(ctx context.Context, request *cniproto.AddRequest) (*cniproto.AddReply, error)

func (*Server) AddHostPort

func (s *Server) AddHostPort(podSpec *storage.LocalPodSpec, stack *vpplink.CleanupStack) error

func (*Server) AddRPFRoutes

func (s *Server) AddRPFRoutes(podSpec *storage.LocalPodSpec, stack *vpplink.CleanupStack) (err error)

func (*Server) AddRedirectToHostToInterface added in v3.27.0

func (s *Server) AddRedirectToHostToInterface(swIfIndex uint32) error

func (*Server) AddVppInterface

func (s *Server) AddVppInterface(podSpec *storage.LocalPodSpec, doHostSideConf bool) (tunTapSwIfIndex uint32, err error)

AddVppInterface performs the networking for the given config and IPAM result

func (*Server) CreatePodRPFVRF

func (s *Server) CreatePodRPFVRF(podSpec *storage.LocalPodSpec, stack *vpplink.CleanupStack) (err error)

func (*Server) CreatePodVRF

func (s *Server) CreatePodVRF(podSpec *storage.LocalPodSpec, stack *vpplink.CleanupStack) (err error)

func (*Server) CreateVRFRoutesToPod

func (s *Server) CreateVRFRoutesToPod(podSpec *storage.LocalPodSpec, stack *vpplink.CleanupStack) (err error)

func (*Server) DeactivateStrictRPF

func (s *Server) DeactivateStrictRPF(podSpec *storage.LocalPodSpec)

func (*Server) Del

func (s *Server) Del(ctx context.Context, request *cniproto.DelRequest) (*cniproto.DelReply, error)

func (*Server) DelHostPort

func (s *Server) DelHostPort(podSpec *storage.LocalPodSpec)

func (*Server) DelRedirectToHostOnInterface added in v3.27.0

func (s *Server) DelRedirectToHostOnInterface(swIfIndex uint32) error

func (*Server) DelVppInterface

func (s *Server) DelVppInterface(podSpec *storage.LocalPodSpec)

CleanUpVPPNamespace deletes the devices in the network namespace.

func (*Server) DeletePodVRF

func (s *Server) DeletePodVRF(podSpec *storage.LocalPodSpec)

func (*Server) DeleteVRFRoutesToPod

func (s *Server) DeleteVRFRoutesToPod(podSpec *storage.LocalPodSpec)

func (*Server) FetchBufferConfig added in v3.25.1

func (s *Server) FetchBufferConfig()

func (*Server) ForceAddingNetworkDefinition

func (s *Server) ForceAddingNetworkDefinition(networkDefinition *watchers.NetworkDefinition)

ForceAddingNetworkDefinition will add another NetworkDefinition to this CNI server. The usage is mainly for testing purposes.

func (*Server) ParseDefaultIfType

func (s *Server) ParseDefaultIfType(podSpec *storage.LocalPodSpec, ifType storage.VppInterfaceType) (err error)

func (*Server) ParseEnableDisableAnnotation

func (s *Server) ParseEnableDisableAnnotation(value string) (bool, error)

func (*Server) ParsePodAnnotations

func (s *Server) ParsePodAnnotations(podSpec *storage.LocalPodSpec, annotations map[string]string) (err error)

func (*Server) ParsePortMappingAnnotation

func (s *Server) ParsePortMappingAnnotation(podSpec *storage.LocalPodSpec, ifType storage.VppInterfaceType, value string) (err error)

func (*Server) ParsePortSpec

func (s *Server) ParsePortSpec(value string) (ifPortConfigs *storage.LocalIfPortConfigs, err error)

func (*Server) ParseSpoofAddressAnnotation

func (s *Server) ParseSpoofAddressAnnotation(value string) ([]cnet.IPNet, error)

func (*Server) RemovePuntRoutes

func (s *Server) RemovePuntRoutes(podSpec *storage.LocalPodSpec, swIfIndex uint32)

func (*Server) RoutePblPortsPodInterface

func (s *Server) RoutePblPortsPodInterface(podSpec *storage.LocalPodSpec, stack *vpplink.CleanupStack, swIfIndex uint32, isL3 bool) (err error)

func (*Server) RoutePodInterface

func (s *Server) RoutePodInterface(podSpec *storage.LocalPodSpec, stack *vpplink.CleanupStack, swIfIndex uint32, isL3 bool, inPodVrf bool) error

func (*Server) ServeCNI

func (s *Server) ServeCNI(t *tomb.Tomb) error

func (*Server) SetFelixConfig

func (s *Server) SetFelixConfig(felixConfig *felixConfig.Config)

func (*Server) SetOurBGPSpec added in v3.26.0

func (s *Server) SetOurBGPSpec(nodeBGPSpec *common.LocalNodeSpec)

func (*Server) SetupPuntRoutes

func (s *Server) SetupPuntRoutes(podSpec *storage.LocalPodSpec, stack *vpplink.CleanupStack, swIfIndex uint32) (err error)

func (*Server) UnroutePblPortsPodInterface

func (s *Server) UnroutePblPortsPodInterface(podSpec *storage.LocalPodSpec, swIfIndex uint32)

func (*Server) UnroutePodInterface

func (s *Server) UnroutePodInterface(podSpec *storage.LocalPodSpec, swIfIndex uint32, inPodVrf bool)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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