network

package
v0.38.0-rc.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2021 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Allow mocking for tests

Functions

func SetupPodNetworkPhase1 added in v0.27.0

func SetupPodNetworkPhase1(vmi *v1.VirtualMachineInstance, pid int) error

func SetupPodNetworkPhase2 added in v0.27.0

func SetupPodNetworkPhase2(vmi *v1.VirtualMachineInstance, domain *api.Domain) error

Types

type BindMechanism added in v0.6.0

type BindMechanism interface {
	// contains filtered or unexported methods
}

type BridgeBindMechanism added in v0.38.0

type BridgeBindMechanism struct {
	// contains filtered or unexported fields
}

type CriticalNetworkError added in v0.31.0

type CriticalNetworkError struct {
	Msg string
}

func (*CriticalNetworkError) Error added in v0.31.0

func (e *CriticalNetworkError) Error() string

type MacvtapBindMechanism added in v0.38.0

type MacvtapBindMechanism struct {
	// contains filtered or unexported fields
}

type MasqueradeBindMechanism added in v0.38.0

type MasqueradeBindMechanism struct {
	// contains filtered or unexported fields
}

type MockBindMechanism added in v0.6.0

type MockBindMechanism struct {
	// contains filtered or unexported fields
}

Mock of BindMechanism interface

func NewMockBindMechanism added in v0.6.0

func NewMockBindMechanism(ctrl *gomock.Controller) *MockBindMechanism

func (*MockBindMechanism) EXPECT added in v0.6.0

func (_m *MockBindMechanism) EXPECT() *_MockBindMechanismRecorder

type MockNetworkHandler

type MockNetworkHandler struct {
	// contains filtered or unexported fields
}

Mock of NetworkHandler interface

func NewMockNetworkHandler

func NewMockNetworkHandler(ctrl *gomock.Controller) *MockNetworkHandler

func (*MockNetworkHandler) AddrAdd

func (_m *MockNetworkHandler) AddrAdd(link netlink.Link, addr *netlink.Addr) error

func (*MockNetworkHandler) AddrDel

func (_m *MockNetworkHandler) AddrDel(link netlink.Link, addr *netlink.Addr) error

func (*MockNetworkHandler) AddrList

func (_m *MockNetworkHandler) AddrList(link netlink.Link, family int) ([]netlink.Addr, error)

func (*MockNetworkHandler) BindTapDeviceToBridge added in v0.33.0

func (_m *MockNetworkHandler) BindTapDeviceToBridge(tapName string, bridgeName string) error

func (*MockNetworkHandler) ConfigureIpv6Forwarding added in v0.29.0

func (_m *MockNetworkHandler) ConfigureIpv6Forwarding() error

func (*MockNetworkHandler) CreateTapDevice added in v0.33.0

func (_m *MockNetworkHandler) CreateTapDevice(tapName string, queueNumber uint32, launcherPID int, mtu int) error

func (*MockNetworkHandler) DisableTXOffloadChecksum added in v0.36.0

func (_m *MockNetworkHandler) DisableTXOffloadChecksum(ifaceName string) error

func (*MockNetworkHandler) EXPECT

func (_m *MockNetworkHandler) EXPECT() *_MockNetworkHandlerRecorder

func (*MockNetworkHandler) GenerateRandomMac added in v0.11.1

func (_m *MockNetworkHandler) GenerateRandomMac() (net.HardwareAddr, error)

func (*MockNetworkHandler) GetHostAndGwAddressesFromCIDR added in v0.11.1

func (_m *MockNetworkHandler) GetHostAndGwAddressesFromCIDR(s string) (string, string, error)

func (*MockNetworkHandler) GetMacDetails

func (_m *MockNetworkHandler) GetMacDetails(iface string) (net.HardwareAddr, error)

func (*MockNetworkHandler) GetNFTIPString added in v0.29.0

func (_m *MockNetworkHandler) GetNFTIPString(proto iptables.Protocol) string

func (*MockNetworkHandler) HasNatIptables added in v0.29.0

func (_m *MockNetworkHandler) HasNatIptables(proto iptables.Protocol) bool

func (*MockNetworkHandler) IptablesAppendRule added in v0.11.1

func (_m *MockNetworkHandler) IptablesAppendRule(proto iptables.Protocol, table string, chain string, rulespec ...string) error

func (*MockNetworkHandler) IptablesNewChain added in v0.11.1

func (_m *MockNetworkHandler) IptablesNewChain(proto iptables.Protocol, table string, chain string) error

func (*MockNetworkHandler) IsIpv4Primary added in v0.33.0

func (_m *MockNetworkHandler) IsIpv4Primary() (bool, error)

func (*MockNetworkHandler) IsIpv6Enabled added in v0.29.0

func (_m *MockNetworkHandler) IsIpv6Enabled(interfaceName string) (bool, error)

func (*MockNetworkHandler) LinkAdd

func (_m *MockNetworkHandler) LinkAdd(link netlink.Link) error

func (*MockNetworkHandler) LinkByName

func (_m *MockNetworkHandler) LinkByName(name string) (netlink.Link, error)

func (*MockNetworkHandler) LinkSetDown

func (_m *MockNetworkHandler) LinkSetDown(link netlink.Link) error

func (*MockNetworkHandler) LinkSetLearningOff added in v0.9.2

func (_m *MockNetworkHandler) LinkSetLearningOff(link netlink.Link) error

func (*MockNetworkHandler) LinkSetMaster added in v0.11.1

func (_m *MockNetworkHandler) LinkSetMaster(link netlink.Link, master *netlink.Bridge) error

func (*MockNetworkHandler) LinkSetUp

func (_m *MockNetworkHandler) LinkSetUp(link netlink.Link) error

func (*MockNetworkHandler) NftablesAppendRule added in v0.20.0

func (_m *MockNetworkHandler) NftablesAppendRule(proto iptables.Protocol, table string, chain string, rulespec ...string) error

func (*MockNetworkHandler) NftablesLoad added in v0.20.0

func (_m *MockNetworkHandler) NftablesLoad(fnName string) error

func (*MockNetworkHandler) NftablesNewChain added in v0.20.0

func (_m *MockNetworkHandler) NftablesNewChain(proto iptables.Protocol, table string, chain string) error

func (*MockNetworkHandler) ParseAddr

func (_m *MockNetworkHandler) ParseAddr(s string) (*netlink.Addr, error)

func (*MockNetworkHandler) RouteList

func (_m *MockNetworkHandler) RouteList(link netlink.Link, family int) ([]netlink.Route, error)

func (*MockNetworkHandler) SetRandomMac added in v0.6.0

func (_m *MockNetworkHandler) SetRandomMac(iface string) (net.HardwareAddr, error)

func (*MockNetworkHandler) StartDHCP

func (_m *MockNetworkHandler) StartDHCP(nic *VIF, serverAddr net.IP, bridgeInterfaceName string, dhcpOptions *v1.DHCPOptions, filterByMAC bool) error

type MockpodNIC added in v0.38.0

type MockpodNIC struct {
	// contains filtered or unexported fields
}

Mock of podNIC interface

func NewMockpodNIC added in v0.38.0

func NewMockpodNIC(ctrl *gomock.Controller) *MockpodNIC

func (*MockpodNIC) EXPECT added in v0.38.0

func (_m *MockpodNIC) EXPECT() *_MockpodNICRecorder

func (*MockpodNIC) PlugPhase1 added in v0.38.0

func (_m *MockpodNIC) PlugPhase1(vmi *v1.VirtualMachineInstance, iface *v1.Interface, network *v1.Network, podInterfaceName string, pid int) error

func (*MockpodNIC) PlugPhase2 added in v0.38.0

func (_m *MockpodNIC) PlugPhase2(vmi *v1.VirtualMachineInstance, iface *v1.Interface, network *v1.Network, domain *api.Domain, podInterfaceName string) error

type NetworkHandler

type NetworkHandler interface {
	LinkByName(name string) (netlink.Link, error)
	AddrList(link netlink.Link, family int) ([]netlink.Addr, error)
	RouteList(link netlink.Link, family int) ([]netlink.Route, error)
	AddrDel(link netlink.Link, addr *netlink.Addr) error
	AddrAdd(link netlink.Link, addr *netlink.Addr) error
	LinkSetDown(link netlink.Link) error
	LinkSetUp(link netlink.Link) error
	LinkAdd(link netlink.Link) error
	LinkSetLearningOff(link netlink.Link) error
	ParseAddr(s string) (*netlink.Addr, error)
	GetHostAndGwAddressesFromCIDR(s string) (string, string, error)
	SetRandomMac(iface string) (net.HardwareAddr, error)
	GenerateRandomMac() (net.HardwareAddr, error)
	GetMacDetails(iface string) (net.HardwareAddr, error)
	LinkSetMaster(link netlink.Link, master *netlink.Bridge) error
	StartDHCP(nic *VIF, serverAddr net.IP, bridgeInterfaceName string, dhcpOptions *v1.DHCPOptions, filterByMAC bool) error
	HasNatIptables(proto iptables.Protocol) bool
	IsIpv6Enabled(interfaceName string) (bool, error)
	IsIpv4Primary() (bool, error)
	ConfigureIpv6Forwarding() error
	IptablesNewChain(proto iptables.Protocol, table, chain string) error
	IptablesAppendRule(proto iptables.Protocol, table, chain string, rulespec ...string) error
	NftablesNewChain(proto iptables.Protocol, table, chain string) error
	NftablesAppendRule(proto iptables.Protocol, table, chain string, rulespec ...string) error
	NftablesLoad(fnName string) error
	GetNFTIPString(proto iptables.Protocol) string
	CreateTapDevice(tapName string, queueNumber uint32, launcherPID int, mtu int) error
	BindTapDeviceToBridge(tapName string, bridgeName string) error
	DisableTXOffloadChecksum(ifaceName string) error
}
var Handler NetworkHandler

type NetworkUtilsHandler

type NetworkUtilsHandler struct{}

func (*NetworkUtilsHandler) AddrAdd

func (h *NetworkUtilsHandler) AddrAdd(link netlink.Link, addr *netlink.Addr) error

func (*NetworkUtilsHandler) AddrDel

func (h *NetworkUtilsHandler) AddrDel(link netlink.Link, addr *netlink.Addr) error

func (*NetworkUtilsHandler) AddrList

func (h *NetworkUtilsHandler) AddrList(link netlink.Link, family int) ([]netlink.Addr, error)

func (*NetworkUtilsHandler) BindTapDeviceToBridge added in v0.33.0

func (h *NetworkUtilsHandler) BindTapDeviceToBridge(tapName string, bridgeName string) error

func (*NetworkUtilsHandler) ConfigureIpv6Forwarding added in v0.29.0

func (h *NetworkUtilsHandler) ConfigureIpv6Forwarding() error

func (*NetworkUtilsHandler) CreateTapDevice added in v0.33.0

func (h *NetworkUtilsHandler) CreateTapDevice(tapName string, queueNumber uint32, launcherPID int, mtu int) error

func (*NetworkUtilsHandler) DisableTXOffloadChecksum added in v0.36.0

func (h *NetworkUtilsHandler) DisableTXOffloadChecksum(ifaceName string) error

func (*NetworkUtilsHandler) GenerateRandomMac added in v0.11.1

func (h *NetworkUtilsHandler) GenerateRandomMac() (net.HardwareAddr, error)

Generate a random mac for interface Avoid MAC address starting with reserved value 0xFE (https://github.com/kubevirt/kubevirt/issues/1494)

func (*NetworkUtilsHandler) GetHostAndGwAddressesFromCIDR added in v0.11.1

func (h *NetworkUtilsHandler) GetHostAndGwAddressesFromCIDR(s string) (string, string, error)

func (*NetworkUtilsHandler) GetMacDetails

func (h *NetworkUtilsHandler) GetMacDetails(iface string) (net.HardwareAddr, error)

GetMacDetails from an interface

func (*NetworkUtilsHandler) GetNFTIPString added in v0.29.0

func (h *NetworkUtilsHandler) GetNFTIPString(proto iptables.Protocol) string

func (*NetworkUtilsHandler) HasNatIptables added in v0.29.0

func (h *NetworkUtilsHandler) HasNatIptables(proto iptables.Protocol) bool

func (*NetworkUtilsHandler) IptablesAppendRule added in v0.11.1

func (h *NetworkUtilsHandler) IptablesAppendRule(proto iptables.Protocol, table, chain string, rulespec ...string) error

func (*NetworkUtilsHandler) IptablesNewChain added in v0.11.1

func (h *NetworkUtilsHandler) IptablesNewChain(proto iptables.Protocol, table, chain string) error

func (*NetworkUtilsHandler) IsIpv4Primary added in v0.33.0

func (h *NetworkUtilsHandler) IsIpv4Primary() (bool, error)

func (*NetworkUtilsHandler) IsIpv6Enabled added in v0.29.0

func (h *NetworkUtilsHandler) IsIpv6Enabled(interfaceName string) (bool, error)

func (*NetworkUtilsHandler) LinkAdd

func (h *NetworkUtilsHandler) LinkAdd(link netlink.Link) error

func (*NetworkUtilsHandler) LinkByName

func (h *NetworkUtilsHandler) LinkByName(name string) (netlink.Link, error)

func (*NetworkUtilsHandler) LinkSetDown

func (h *NetworkUtilsHandler) LinkSetDown(link netlink.Link) error

func (*NetworkUtilsHandler) LinkSetLearningOff added in v0.9.2

func (h *NetworkUtilsHandler) LinkSetLearningOff(link netlink.Link) error

func (*NetworkUtilsHandler) LinkSetMaster added in v0.11.1

func (h *NetworkUtilsHandler) LinkSetMaster(link netlink.Link, master *netlink.Bridge) error

func (*NetworkUtilsHandler) LinkSetUp

func (h *NetworkUtilsHandler) LinkSetUp(link netlink.Link) error

func (*NetworkUtilsHandler) NftablesAppendRule added in v0.20.0

func (h *NetworkUtilsHandler) NftablesAppendRule(proto iptables.Protocol, table, chain string, rulespec ...string) error

func (*NetworkUtilsHandler) NftablesLoad added in v0.20.0

func (h *NetworkUtilsHandler) NftablesLoad(fnName string) error

func (*NetworkUtilsHandler) NftablesNewChain added in v0.20.0

func (h *NetworkUtilsHandler) NftablesNewChain(proto iptables.Protocol, table, chain string) error

func (*NetworkUtilsHandler) ParseAddr

func (h *NetworkUtilsHandler) ParseAddr(s string) (*netlink.Addr, error)

func (*NetworkUtilsHandler) RouteList

func (h *NetworkUtilsHandler) RouteList(link netlink.Link, family int) ([]netlink.Route, error)

func (*NetworkUtilsHandler) SetRandomMac added in v0.6.0

func (h *NetworkUtilsHandler) SetRandomMac(iface string) (net.HardwareAddr, error)

SetRandomMac changes the MAC address for a given interface to a randomly generated, preserving the vendor prefix

func (*NetworkUtilsHandler) StartDHCP

func (h *NetworkUtilsHandler) StartDHCP(nic *VIF, serverAddr net.IP, bridgeInterfaceName string, dhcpOptions *v1.DHCPOptions, filterByMAC bool) error

type PodCacheInterface added in v0.32.0

type PodCacheInterface struct {
	Iface  *v1.Interface `json:"iface,omitempty"`
	PodIP  string        `json:"podIP,omitempty"`
	PodIPs []string      `json:"podIPs,omitempty"`
}

type SlirpBindMechanism added in v0.38.0

type SlirpBindMechanism struct {
	// contains filtered or unexported fields
}

type VIF

type VIF struct {
	Name         string
	IP           netlink.Addr
	IPv6         netlink.Addr
	MAC          net.HardwareAddr
	Gateway      net.IP
	GatewayIpv6  net.IP
	Routes       *[]netlink.Route
	Mtu          uint16
	IPAMDisabled bool
}

func (VIF) String added in v0.16.0

func (vif VIF) String() string

Directories

Path Synopsis
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL