Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetNodeAddr ¶
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.