Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseTunnelInterfaceConfig ¶
func ParseTunnelInterfaceConfig( portData *ovsconfig.OVSPortData, portConfig *interfacestore.OVSPortConfig) *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, client openflow.Client, ovsCtlClient ovsctl.OVSCtlClient, ovsBridgeClient ovsconfig.OVSBridgeClient, routeClient route.Interface, interfaceStore interfacestore.InterfaceStore, networkConfig *config.NetworkConfig, nodeConfig *config.NodeConfig, wireguardClient wireguard.Interface, proxyAll bool, ipsecCertificateManager ipseccertificate.Manager, ) *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.