nlxnoderoute

package
v0.0.0-...-bfd0bb2 Latest Latest
Warning

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

Go to latest
Published: May 27, 2021 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetNodeAddr

func GetNodeAddr(node *corev1.Node) (net.IP, error)

GetNodeAddr gets the available IP address of a Node. GetNodeAddr will first try to get the NodeInternalIP, then try to get the NodeExternalIP. Note: Although K8s supports dual-stack, there is only a single Internal address per Node because of issue ( kubernetes/kubernetes#91940 ). The Node might have multiple addresses after the issue is fixed, and one per address family. And we should change the return type at that time.

func ParseTunnelInterfaceConfig

func ParseTunnelInterfaceConfig(
	portData *ovsconfig.OVSPortData,
	portConfig *interfacestore.HLSPortConfig) *interfacestore.InterfaceConfig

ParseTunnelInterfaceConfig initializes and returns an InterfaceConfig struct for a tunnel interface. It reads tunnel type, remote IP, IPSec PSK from the OVS interface options, and NodeName from the OVS port external_ids. nil is returned, if the OVS port and interface configurations are not valid for a tunnel interface.

Types

type Controller

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

Controller is responsible for setting up necessary IP routes and Openflow entries for inter-node traffic.

func NewNodeRouteController

func NewNodeRouteController(
	kubeClient clientset.Interface,
	informerFactory informers.SharedInformerFactory,
	heliosClient helios.HeliosDP,
	policyClient heliosPolicy.Interface,
	interfaceStore interfacestore.InterfaceStore,
	networkConfig *config.NetworkConfig,
	nodeConfig *config.NodeConfig) *Controller

NewNodeRouteController instantiates a new Controller object which will process Node events and ensure connectivity between different Nodes.

func (*Controller) IPInPodSubnets

func (c *Controller) IPInPodSubnets(ip net.IP) bool

func (*Controller) Run

func (c *Controller) Run(stopCh <-chan struct{})

Run will create defaultWorkers workers (go routines) which will process the Node events from the workqueue.

Jump to

Keyboard shortcuts

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