Documentation ¶
Index ¶
- Constants
- func DeleteNamedNs(name string) error
- func GetDefaultRouteDst(protocol string) net.IPNet
- func InitMetrics()
- func InitMirror(config *Configuration) error
- func InitNodeGateway(config *Configuration) error
- func InitOVSBridges() (map[string]string, error)
- func RunServer(config *Configuration, controller *Controller)
- type Configuration
- type Controller
- type ControllerRuntime
- type NsHandle
Constants ¶
const ( ServiceSet = "services" SubnetSet = "subnets" SubnetNatSet = "subnets-nat" SubnetDistributedGwSet = "subnets-distributed-gw" LocalPodSet = "local-pod-ip-nat" OtherNodeSet = "other-node" IPSetPrefix = "ovn" NatOutGoingPolicySubnetSet = "subnets-nat-policy" NatOutGoingPolicyRuleSet = "natpr-" )
const ( NAT = util.NAT MANGLE = util.Mangle Prerouting = util.Prerouting Postrouting = util.Postrouting Output = util.Output OvnPrerouting = util.OvnPrerouting OvnPostrouting = util.OvnPostrouting OvnOutput = util.OvnOutput OvnMasquerade = util.OvnMasquerade OvnNatOutGoingPolicy = util.OvnNatOutGoingPolicy OvnNatOutGoingPolicySubnet = util.OvnNatOutGoingPolicySubnet )
const ( OnOutGoingNatMark = "0x90001/0x90001" OnOutGoingForwardMark = "0x90002/0x90002" TProxyOutputMark = util.TProxyOutputMark TProxyOutputMask = util.TProxyOutputMask TProxyPreroutingMark = util.TProxyPreroutingMark TProxyPreroutingMask = util.TProxyPreroutingMask )
Variables ¶
This section is empty.
Functions ¶
func DeleteNamedNs ¶ added in v1.12.0
DeleteNamed deletes a named network namespace ip netns del
func GetDefaultRouteDst ¶ added in v1.12.0
func InitMetrics ¶ added in v1.7.0
func InitMetrics()
func InitMirror ¶ added in v1.7.0
func InitMirror(config *Configuration) error
func InitOVSBridges ¶ added in v1.7.2
InitOVSBridges initializes OVS bridges
func RunServer ¶
func RunServer(config *Configuration, controller *Controller)
RunServer runs the cniserver
Types ¶
type Configuration ¶
type Configuration struct { Iface string DPDKTunnelIface string MTU int MSS int EnableMirror bool MirrorNic string BindSocket string OvsSocket string KubeConfigFile string KubeClient kubernetes.Interface KubeOvnClient clientset.Interface NodeName string ServiceClusterIPRange string ClusterRouter string NodeSwitch string EncapChecksum bool EnablePprof bool MacLearningFallback bool PprofPort int NetworkType string CniConfDir string CniConfFile string CniConfName string DefaultProviderName string DefaultInterfaceName string ExternalGatewayConfigNS string ExternalGatewaySwitch string // provider network underlay vlan subnet EnableMetrics bool EnableArpDetectIPConflict bool KubeletDir string EnableVerboseConnCheck bool TCPConnCheckPort int UDPConnCheckPort int EnableTProxy bool OVSVsctlConcurrency int32 // contains filtered or unexported fields }
Configuration is the daemon conf
func ParseFlags ¶
func ParseFlags() *Configuration
ParseFlags will parse cmd args then init kubeClient and configuration TODO: validate configuration
type Controller ¶
type Controller struct { ControllerRuntime // contains filtered or unexported fields }
Controller watch pod and namespace changes to update iptables, ipset and ovs qos
func NewController ¶
func NewController(config *Configuration, stopCh <-chan struct{}, podInformerFactory, nodeInformerFactory informers.SharedInformerFactory, kubeovnInformerFactory kubeovninformer.SharedInformerFactory) (*Controller, error)
NewController init a daemon controller
func (*Controller) StartTProxyForwarding ¶ added in v1.12.0
func (c *Controller) StartTProxyForwarding()
func (*Controller) StartTProxyTCPPortProbe ¶ added in v1.12.0
func (c *Controller) StartTProxyTCPPortProbe()
type ControllerRuntime ¶ added in v1.10.0
type ControllerRuntime struct {
// contains filtered or unexported fields
}
ControllerRuntime represents runtime specific controller members
type NsHandle ¶ added in v1.12.0
type NsHandle int
NsHandle is a handle to a network namespace. It can be cast directly to an int and used as a file descriptor.
func GetNsFromName ¶ added in v1.12.0
GetFromName gets a handle to a named network namespace such as one created by `ip netns add`.
func GetNsFromPath ¶ added in v1.12.0
GetFromPath gets a handle to a network namespace identified by the path
func GetNsFromThread ¶ added in v1.12.0
GetFromThread gets a handle to the network namespace of a given pid and tid.