Documentation ¶
Index ¶
- Constants
- func IsIPv4Enabled(nodeConfig *NodeConfig, trafficEncapMode TrafficEncapModeType) bool
- func IsIPv6Enabled(nodeConfig *NodeConfig, trafficEncapMode TrafficEncapModeType) bool
- type AdapterNetConfig
- type GatewayConfig
- type NetworkConfig
- type NodeConfig
- type TrafficEncapModeType
- func (m TrafficEncapModeType) IsNetworkPolicyOnly() bool
- func (m TrafficEncapModeType) NeedsEncapToPeer(peerIP net.IP, localIP *net.IPNet) bool
- func (m TrafficEncapModeType) NeedsRoutingToPeer(peerIP net.IP, localIP *net.IPNet) bool
- func (m TrafficEncapModeType) String() string
- func (m TrafficEncapModeType) SupportsEncap() bool
- func (m TrafficEncapModeType) SupportsNoEncap() bool
Constants ¶
const ( // Invalid ofport_request number is in range 1 to 65,279. For ofport_request number not in the range, OVS // ignore the it and automatically assign a port number. // Here we use an invalid port number "0" to request for automatically port allocation. AutoAssignedOFPort = 0 DefaultTunOFPort = 1 HostGatewayOFPort = 2 UplinkOFPort = 3 // 0xfffffffe is a reserved port number in OpenFlow protocol, which is dedicated for the Bridge interface. BridgeOFPort = 0xfffffffe )
const ( VXLANOverhead = 50 GeneveOverhead = 50 GREOverhead = 38 // IPsec ESP can add a maximum of 38 bytes to the packet including the ESP // header and trailer. IPSecESPOverhead = 38 IPv6ExtraOverhead = 20 )
Variables ¶
This section is empty.
Functions ¶
func IsIPv4Enabled ¶ added in v0.11.1
func IsIPv4Enabled(nodeConfig *NodeConfig, trafficEncapMode TrafficEncapModeType) bool
IsIPv4Enabled returns true if the cluster network supports IPv4. TODO: support dual-stack in networkPolicyOnly mode.
func IsIPv6Enabled ¶ added in v0.11.1
func IsIPv6Enabled(nodeConfig *NodeConfig, trafficEncapMode TrafficEncapModeType) bool
IsIPv6Enabled returns true if the cluster network supports IPv6. TODO: support dual-stack in networkPolicyOnly mode.
Types ¶
type AdapterNetConfig ¶ added in v0.7.0
type GatewayConfig ¶
type GatewayConfig struct { // Name is the name of host gateway, e.g. antrea-gw0. Name string IPv4 net.IP IPv6 net.IP MAC net.HardwareAddr // LinkIndex is the link index of host gateway. LinkIndex int }
func (*GatewayConfig) String ¶
func (g *GatewayConfig) String() string
type NetworkConfig ¶
type NetworkConfig struct { TrafficEncapMode TrafficEncapModeType TunnelType ovsconfig.TunnelType EnableIPSecTunnel bool IPSecPSK string }
User provided network configuration parameters.
type NodeConfig ¶
type NodeConfig struct { // The Node's name used in Kubernetes. Name string // The name of the OpenVSwitch bridge antrea-agent uses. OVSBridge string // The name of the default tunnel interface. Defaults to "antrea-tun0", but can // be overridden by the discovered tunnel interface name from the OVS bridge. DefaultTunName string // The CIDR block from which to allocate IPv4 address to Pod. // It's nil for the net workPolicyOnly trafficEncapMode which doesn't do IPAM. PodIPv4CIDR *net.IPNet // The CIDR block from where to allocate IPv6 address to Pod. // It's nil for the net workPolicyOnly trafficEncapMode which doesn't do IPAM. PodIPv6CIDR *net.IPNet // The Node's IP used in Kubernetes. It has the network mask information. NodeIPAddr *net.IPNet // Set either via defaultMTU config in antrea.yaml or auto discovered. // Auto discovery will use MTU value of the Node's primary interface. // For Encap and Hybrid mode, Node MTU will be adjusted to account for encap header. NodeMTU int // The config of the gateway interface on the OVS bridge. GatewayConfig *GatewayConfig // The config of the OVS bridge uplink interface. Only for Windows Node. UplinkNetConfig *AdapterNetConfig }
Local Node configurations retrieved from K8s API or host networking state.
func (*NodeConfig) String ¶
func (n *NodeConfig) String() string
type TrafficEncapModeType ¶
type TrafficEncapModeType int
const ( TrafficEncapModeEncap TrafficEncapModeType = iota TrafficEncapModeNoEncap TrafficEncapModeHybrid TrafficEncapModeNetworkPolicyOnly TrafficEncapModeInvalid = -1 )
func GetTrafficEncapModeFromStr ¶
func GetTrafficEncapModeFromStr(str string) (bool, TrafficEncapModeType)
GetTrafficEncapModeFromStr returns true and TrafficEncapModeType corresponding to input string. Otherwise, false and undefined value is returned
func GetTrafficEncapModes ¶
func GetTrafficEncapModes() []TrafficEncapModeType
func (TrafficEncapModeType) IsNetworkPolicyOnly ¶ added in v0.5.0
func (m TrafficEncapModeType) IsNetworkPolicyOnly() bool
IsNetworkPolicyOnly returns true if TrafficEncapModeType is network policy only.
func (TrafficEncapModeType) NeedsEncapToPeer ¶
NeedsEncapToPeer returns true if Pod traffic to peer Node needs to be encapsulated.
func (TrafficEncapModeType) NeedsRoutingToPeer ¶
NeedsRoutingToPeer returns true if Pod traffic to peer Node needs underlying routing support.
func (TrafficEncapModeType) String ¶
func (m TrafficEncapModeType) String() string
String returns value in string.
func (TrafficEncapModeType) SupportsEncap ¶
func (m TrafficEncapModeType) SupportsEncap() bool
SupportsEncap returns true if TrafficEncapModeType supports encap.
func (TrafficEncapModeType) SupportsNoEncap ¶
func (m TrafficEncapModeType) SupportsNoEncap() bool
SupportsNoEncap returns true if TrafficEncapModeType supports noEncap.