Documentation ¶
Index ¶
- Constants
- type ContainerInterfaceConfig
- type EntityInterfaceConfig
- type InterfaceConfig
- func NewContainerInterface(interfaceName string, containerID string, podName string, podNamespace string, ...) *InterfaceConfig
- func NewGatewayInterface(gatewayName string, gatewayMAC net.HardwareAddr) *InterfaceConfig
- func NewIPSecTunnelInterface(interfaceName string, tunnelType ovsconfig.TunnelType, nodeName string, ...) *InterfaceConfig
- func NewTrafficControlInterface(interfaceName string, ovsPortConfig *OVSPortConfig) *InterfaceConfig
- func NewTunnelInterface(tunnelName string, tunnelType ovsconfig.TunnelType, destinationPort int32, ...) *InterfaceConfig
- func NewUplinkInterface(uplinkName string) *InterfaceConfig
- type InterfaceStore
- type InterfaceType
- type OVSPortConfig
- type TunnelInterfaceConfig
Constants ¶
View Source
const ( // ContainerInterface is used to mark current interface is for container ContainerInterface InterfaceType = iota // GatewayInterface is used to mark current interface is for host gateway GatewayInterface // TunnelInterface is used to mark current interface is for tunnel port TunnelInterface // UplinkInterface is used to mark current interface is for uplink port UplinkInterface // TrafficControlInterface is used to mark current interface is for traffic control port TrafficControlInterface // ExternalEntityInterface is used to mark current interface is for ExternalEntity Endpoint ExternalEntityInterface // IPSecTunnelInterface is used to mark current interface is for IPSec tunnel port IPSecTunnelInterface AntreaInterfaceTypeKey = "antrea-type" AntreaGateway = "gateway" AntreaContainer = "container" AntreaTunnel = "tunnel" AntreaUplink = "uplink" AntreaHost = "host" AntreaTrafficControl = "traffic-control" AntreaIPsecTunnel = "ipsec-tunnel" AntreaUnset = "" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EntityInterfaceConfig ¶ added in v1.8.0
type EntityInterfaceConfig struct { EntityName string EntityNamespace string // UplinkPort is the OVS port configuration for the uplink, which is a pair port of this interface on OVS. UplinkPort *OVSPortConfig }
type InterfaceConfig ¶
type InterfaceConfig struct { Type InterfaceType // Unique name of the interface, also used for the OVS port name. InterfaceName string IPs []net.IP MAC net.HardwareAddr // VLAN ID of the interface VLANID uint16 *OVSPortConfig *ContainerInterfaceConfig *TunnelInterfaceConfig *EntityInterfaceConfig }
func NewContainerInterface ¶
func NewContainerInterface( interfaceName string, containerID string, podName string, podNamespace string, mac net.HardwareAddr, ips []net.IP, vlanID uint16) *InterfaceConfig
NewContainerInterface creates InterfaceConfig for a Pod.
func NewGatewayInterface ¶
func NewGatewayInterface(gatewayName string, gatewayMAC net.HardwareAddr) *InterfaceConfig
NewGatewayInterface creates InterfaceConfig for the host gateway interface.
func NewIPSecTunnelInterface ¶
func NewIPSecTunnelInterface(interfaceName string, tunnelType ovsconfig.TunnelType, nodeName string, nodeIP net.IP, psk, remoteName string, ovsPortConfig *OVSPortConfig) *InterfaceConfig
NewIPSecTunnelInterface creates InterfaceConfig for the IPsec tunnel to the Node.
func NewTrafficControlInterface ¶ added in v1.7.0
func NewTrafficControlInterface(interfaceName string, ovsPortConfig *OVSPortConfig) *InterfaceConfig
func NewTunnelInterface ¶
func NewTunnelInterface(tunnelName string, tunnelType ovsconfig.TunnelType, destinationPort int32, localIP net.IP, csum bool, ovsPortConfig *OVSPortConfig) *InterfaceConfig
NewTunnelInterface creates InterfaceConfig for the default tunnel port interface.
func NewUplinkInterface ¶
func NewUplinkInterface(uplinkName string) *InterfaceConfig
NewUplinkInterface creates InterfaceConfig for the uplink interface.
func (*InterfaceConfig) GetIPv4Addr ¶
func (c *InterfaceConfig) GetIPv4Addr() net.IP
TODO: remove this method after IPv4/IPv6 dual-stack is supported completely.
func (*InterfaceConfig) GetIPv6Addr ¶
func (c *InterfaceConfig) GetIPv6Addr() net.IP
type InterfaceStore ¶
type InterfaceStore interface { Initialize(interfaces []*InterfaceConfig) AddInterface(interfaceConfig *InterfaceConfig) ListInterfaces() []*InterfaceConfig DeleteInterface(interfaceConfig *InterfaceConfig) GetInterface(interfaceKey string) (*InterfaceConfig, bool) GetInterfaceByName(interfaceName string) (*InterfaceConfig, bool) GetContainerInterface(containerID string) (*InterfaceConfig, bool) GetInterfacesByEntity(name string, namespace string) []*InterfaceConfig GetContainerInterfacesByPod(podName string, podNamespace string) []*InterfaceConfig GetInterfaceByIP(interfaceIP string) (*InterfaceConfig, bool) GetNodeTunnelInterface(nodeName string) (*InterfaceConfig, bool) GetInterfaceByOFPort(ofPort uint32) (*InterfaceConfig, bool) GetContainerInterfaceNum() int GetInterfacesByType(interfaceType InterfaceType) []*InterfaceConfig Len() int GetInterfaceKeysByType(interfaceType InterfaceType) []string }
InterfaceStore is a service interface to create local interfaces for container, host gateway, and tunnel port. Support add/delete/get operations
func NewInterfaceStore ¶
func NewInterfaceStore() InterfaceStore
type InterfaceType ¶
type InterfaceType uint8
func (InterfaceType) String ¶
func (t InterfaceType) String() string
type OVSPortConfig ¶
type TunnelInterfaceConfig ¶
type TunnelInterfaceConfig struct { Type ovsconfig.TunnelType // Name of the remote Node. NodeName string // IP address of the local Node. LocalIP net.IP // IP address of the remote Node. RemoteIP net.IP // Destination port of the remote Node. DestinationPort int32 // CommonName of the remote Name for certificate based authentication. RemoteName string // Pre-shard key for authentication. PSK string // Whether options:csum is set for this tunnel interface. // If true, encapsulation header UDP checksums will be computed on outgoing packets. Csum bool }
Click to show internal directories.
Click to hide internal directories.