cniserver

package
v1.10.1 Latest Latest
Warning

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

Go to latest
Published: May 29, 2023 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildOVSPortExternalIDs

func BuildOVSPortExternalIDs(containerConfig *interfacestore.InterfaceConfig) map[string]interface{}

BuildOVSPortExternalIDs parses OVS port external_ids from InterfaceConfig. external_ids are used to compare and sync container interface configuration.

func GetPodContainerDeviceIDs added in v1.2.0

func GetPodContainerDeviceIDs(podName string, podNamespace string) ([]string, error)

GetPodContainerDeviceIDs returns the device IDs assigned to a Pod's containers.

func ParseOVSPortInterfaceConfig

func ParseOVSPortInterfaceConfig(portData *ovsconfig.OVSPortData, portConfig *interfacestore.OVSPortConfig, checkMac bool) *interfacestore.InterfaceConfig

ParseOVSPortInterfaceConfig reads the Pod properties saved in the OVS port external_ids, initializes and returns an InterfaceConfig struct. nill will be returned, if the OVS port does not have external IDs or it is not created for a Pod interface. If "checkMac" param is set as true the ovsExternalIDMAC of portData should be a valid MAC string, otherwise it will print error.

Types

type CNIConfig

type CNIConfig struct {
	*types.NetworkConfig

	// CniCmdArgs received from the CNI plugin. IPAM data in CniCmdArgs can be updated with the
	// Node's Pod CIDRs for NodeIPAM.
	*cnipb.CniCmdArgs
	// K8s CNI_ARGS passed to the CNI plugin.
	*types.K8sArgs
	// contains filtered or unexported fields
}

type CNIServer

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

func New

func New(
	cniSocket, hostProcPathPrefix string,
	nodeConfig *config.NodeConfig,
	kubeClient clientset.Interface,
	routeClient route.Interface,
	isChaining, enableBridgingMode, enableSecondaryNetworkIPAM, disableTXChecksumOffload bool,
	networkReadyCh <-chan struct{},
) *CNIServer

func (*CNIServer) CmdAdd

func (s *CNIServer) CmdAdd(ctx context.Context, request *cnipb.CniCmdRequest) (*cnipb.CniCmdResponse, error)

func (*CNIServer) CmdCheck

func (s *CNIServer) CmdCheck(_ context.Context, request *cnipb.CniCmdRequest) (
	*cnipb.CniCmdResponse, error)

func (*CNIServer) CmdDel

func (s *CNIServer) CmdDel(_ context.Context, request *cnipb.CniCmdRequest) (
	*cnipb.CniCmdResponse, error)

func (*CNIServer) GetPodConfigurator added in v1.5.0

func (s *CNIServer) GetPodConfigurator() *podConfigurator

func (*CNIServer) Initialize

func (s *CNIServer) Initialize(
	ovsBridgeClient ovsconfig.OVSBridgeClient,
	ofClient openflow.Client,
	ifaceStore interfacestore.InterfaceStore,
	podUpdateNotifier channel.Notifier,
	podInfoStore cnipodcache.CNIPodInfoStore,
) error

func (*CNIServer) Run

func (s *CNIServer) Run(stopCh <-chan struct{})

type KubeletPodResources added in v1.2.0

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

Directories

Path Synopsis
testing
Package testing is a generated GoMock package.
Package testing is a generated GoMock package.

Jump to

Keyboard shortcuts

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