cniserver

package
v1.13.4 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2024 License: Apache-2.0 Imports: 45 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) *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.

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,
	networkConfig *config.NetworkConfig,
	podNetworkWait *wait.Group,
) *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(ctx 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
}

type SriovNet added in v1.11.0

type SriovNet interface {
	GetNetDevicesFromPci(pciAddress string) ([]string, error)
	GetUplinkRepresentor(pciAddress string) (string, error)
	GetVfIndexByPciAddress(vfPciAddress string) (int, error)
	GetVfRepresentor(uplink string, vfIndex int) (string, error)
	GetPfName(vf string) (string, error)
	GetVfid(addr string, pfName string) (int, error)
	GetVFLinkNames(pciAddr string) (string, error)
}

Directories

Path Synopsis
testing
Package testing is a generated GoMock package.
Package testing is a generated GoMock package.
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