Documentation ¶
Index ¶
- Constants
- Variables
- func ConstructEndpointID(containerID string, netNsPath string, ifName string) (string, string)
- func GetPodNameWithoutSuffix(podName string) string
- func UseHnsV2(netNs string) (bool, error)
- type AzureHNSEndpoint
- func (az AzureHNSEndpoint) GetHNSEndpointByID(id string) (*hcsshim.HNSEndpoint, error)
- func (az AzureHNSEndpoint) GetHNSEndpointByName(endpointName string) (*hcsshim.HNSEndpoint, error)
- func (az AzureHNSEndpoint) HotAttachEndpoint(containerID, endpointID string) error
- func (az AzureHNSEndpoint) IsAttached(hnsep *hcsshim.HNSEndpoint, containerID string) (bool, error)
- type AzureHNSEndpointClient
- type DNSInfo
- type EndpointClient
- type EndpointInfo
- type MockHNSEndpoint
- func (az *MockHNSEndpoint) GetHNSEndpointByID(id string) (*hcsshim.HNSEndpoint, error)
- func (az *MockHNSEndpoint) GetHNSEndpointByName(endpointName string) (*hcsshim.HNSEndpoint, error)
- func (az *MockHNSEndpoint) HotAttachEndpoint(containerID, endpointID string) error
- func (az *MockHNSEndpoint) IsAttached(hnsep *hcsshim.HNSEndpoint, containerID string) (bool, error)
- type MockNetworkManager
- func (nm *MockNetworkManager) AddExternalInterface(ifName string, subnet string) error
- func (nm *MockNetworkManager) AttachEndpoint(networkID string, endpointID string, sandboxKey string) (*endpoint, error)
- func (nm *MockNetworkManager) CreateEndpoint(_ apipaClient, networkID string, epInfo *EndpointInfo) error
- func (nm *MockNetworkManager) CreateNetwork(nwInfo *NetworkInfo) error
- func (nm *MockNetworkManager) DeleteEndpoint(_ apipaClient, networkID string, endpointID string) error
- func (nm *MockNetworkManager) DeleteNetwork(networkID string) error
- func (nm *MockNetworkManager) DetachEndpoint(networkID string, endpointID string) error
- func (nm *MockNetworkManager) GetAllEndpoints(networkID string) (map[string]*EndpointInfo, error)
- func (nm *MockNetworkManager) GetEndpointInfo(networkID string, endpointID string) (*EndpointInfo, error)
- func (nm *MockNetworkManager) GetEndpointInfoBasedOnPODDetails(networkID string, podName string, podNameSpace string, ...) (*EndpointInfo, error)
- func (nm *MockNetworkManager) GetNetworkInfo(networkID string) (NetworkInfo, error)
- func (nm *MockNetworkManager) GetNumberOfEndpoints(ifName string, networkID string) int
- func (nm *MockNetworkManager) Initialize(config *common.PluginConfig, isRehydrationRequired bool) error
- func (nm *MockNetworkManager) SetupNetworkUsingState(networkMonitor *cnms.NetworkMonitor) error
- func (nm *MockNetworkManager) Uninitialize()
- func (nm *MockNetworkManager) UpdateEndpoint(networkID string, existingEpInfo *EndpointInfo, targetEpInfo *EndpointInfo) error
- type NetworkClient
- type NetworkInfo
- type NetworkManager
- type RouteInfo
- type SubnetInfo
Constants ¶
const ( VlanIDKey = "VlanID" AzureCNS = "azure-cns" SNATIPKey = "NCPrimaryIPKey" RoutesKey = "RoutesKey" IPTablesKey = "IPTablesKey" )
const (
CnetAddressSpace = "cnetAddressSpace"
)
const (
// ipv6 modes
IPV6Nat = "ipv6nat"
)
const (
InfraVnet = 0
)
Variables ¶
Functions ¶
func ConstructEndpointID ¶
ConstructEndpointID constructs endpoint name from netNsPath.
func GetPodNameWithoutSuffix ¶
Types ¶
type AzureHNSEndpoint ¶
type AzureHNSEndpoint struct{}
func (AzureHNSEndpoint) GetHNSEndpointByID ¶ added in v1.4.13
func (az AzureHNSEndpoint) GetHNSEndpointByID(id string) (*hcsshim.HNSEndpoint, error)
func (AzureHNSEndpoint) GetHNSEndpointByName ¶ added in v1.4.13
func (az AzureHNSEndpoint) GetHNSEndpointByName(endpointName string) (*hcsshim.HNSEndpoint, error)
func (AzureHNSEndpoint) HotAttachEndpoint ¶ added in v1.4.13
func (az AzureHNSEndpoint) HotAttachEndpoint(containerID, endpointID string) error
func (AzureHNSEndpoint) IsAttached ¶ added in v1.4.13
func (az AzureHNSEndpoint) IsAttached(hnsep *hcsshim.HNSEndpoint, containerID string) (bool, error)
type AzureHNSEndpointClient ¶ added in v1.4.13
type AzureHNSEndpointClient interface { GetHNSEndpointByName(endpointName string) (*hcsshim.HNSEndpoint, error) GetHNSEndpointByID(endpointID string) (*hcsshim.HNSEndpoint, error) HotAttachEndpoint(containerID string, endpointID string) error IsAttached(hnsep *hcsshim.HNSEndpoint, containerID string) (bool, error) }
type EndpointClient ¶
type EndpointClient interface { AddEndpoints(epInfo *EndpointInfo) error AddEndpointRules(epInfo *EndpointInfo) error DeleteEndpointRules(ep *endpoint) MoveEndpointsToContainerNS(epInfo *EndpointInfo, nsID uintptr) error SetupContainerInterfaces(epInfo *EndpointInfo) error ConfigureContainerInterfacesAndRoutes(epInfo *EndpointInfo) error DeleteEndpoints(ep *endpoint) error }
type EndpointInfo ¶
type EndpointInfo struct { Id string ContainerID string NetNsPath string IfName string SandboxKey string IfIndex int MacAddress net.HardwareAddr DNS DNSInfo IPAddresses []net.IPNet IPsToRouteViaHost []string InfraVnetIP net.IPNet Routes []RouteInfo Policies []policy.Policy Gateways []net.IP EnableSnatOnHost bool EnableInfraVnet bool EnableMultiTenancy bool EnableSnatForDns bool AllowInboundFromHostToNC bool AllowInboundFromNCToHost bool NetworkContainerID string PODName string PODNameSpace string Data map[string]interface{} InfraVnetAddressSpace string SkipHotAttachEp bool IPV6Mode string VnetCidrs string ServiceCidrs string }
EndpointInfo contains read-only information about an endpoint.
func (*EndpointInfo) HotAttachEndpoint ¶ added in v1.0.4
func (endpoint *EndpointInfo) HotAttachEndpoint(containerID string) error
HotAttachEndpoint is a wrapper of hcsshim's HotAttachEndpoint.
type MockHNSEndpoint ¶
type MockHNSEndpoint struct { HnsIDMap map[string]*hcsshim.HNSEndpoint IsAttachedFlag bool HotAttachFailure bool }
func NewMockHNSEndpoint ¶
func NewMockHNSEndpoint(isAttached bool, hotAttachFailure bool) *MockHNSEndpoint
func (*MockHNSEndpoint) GetHNSEndpointByID ¶
func (az *MockHNSEndpoint) GetHNSEndpointByID(id string) (*hcsshim.HNSEndpoint, error)
func (*MockHNSEndpoint) GetHNSEndpointByName ¶
func (az *MockHNSEndpoint) GetHNSEndpointByName(endpointName string) (*hcsshim.HNSEndpoint, error)
func (*MockHNSEndpoint) HotAttachEndpoint ¶
func (az *MockHNSEndpoint) HotAttachEndpoint(containerID, endpointID string) error
func (*MockHNSEndpoint) IsAttached ¶
func (az *MockHNSEndpoint) IsAttached(hnsep *hcsshim.HNSEndpoint, containerID string) (bool, error)
type MockNetworkManager ¶
type MockNetworkManager struct { TestNetworkInfoMap map[string]*NetworkInfo TestEndpointInfoMap map[string]*EndpointInfo }
MockNetworkManager is a mock structure for Network Manager
func NewMockNetworkmanager ¶
func NewMockNetworkmanager() *MockNetworkManager
NewMockNetworkmanager returns a new mock
func (*MockNetworkManager) AddExternalInterface ¶
func (nm *MockNetworkManager) AddExternalInterface(ifName string, subnet string) error
AddExternalInterface mock
func (*MockNetworkManager) AttachEndpoint ¶
func (nm *MockNetworkManager) AttachEndpoint(networkID string, endpointID string, sandboxKey string) (*endpoint, error)
AttachEndpoint mock
func (*MockNetworkManager) CreateEndpoint ¶
func (nm *MockNetworkManager) CreateEndpoint(_ apipaClient, networkID string, epInfo *EndpointInfo) error
CreateEndpoint mock
func (*MockNetworkManager) CreateNetwork ¶
func (nm *MockNetworkManager) CreateNetwork(nwInfo *NetworkInfo) error
CreateNetwork mock
func (*MockNetworkManager) DeleteEndpoint ¶
func (nm *MockNetworkManager) DeleteEndpoint(_ apipaClient, networkID string, endpointID string) error
DeleteEndpoint mock
func (*MockNetworkManager) DeleteNetwork ¶
func (nm *MockNetworkManager) DeleteNetwork(networkID string) error
DeleteNetwork mock
func (*MockNetworkManager) DetachEndpoint ¶
func (nm *MockNetworkManager) DetachEndpoint(networkID string, endpointID string) error
DetachEndpoint mock
func (*MockNetworkManager) GetAllEndpoints ¶
func (nm *MockNetworkManager) GetAllEndpoints(networkID string) (map[string]*EndpointInfo, error)
func (*MockNetworkManager) GetEndpointInfo ¶
func (nm *MockNetworkManager) GetEndpointInfo(networkID string, endpointID string) (*EndpointInfo, error)
GetEndpointInfo mock
func (*MockNetworkManager) GetEndpointInfoBasedOnPODDetails ¶
func (nm *MockNetworkManager) GetEndpointInfoBasedOnPODDetails(networkID string, podName string, podNameSpace string, doExactMatchForPodName bool) (*EndpointInfo, error)
GetEndpointInfoBasedOnPODDetails mock
func (*MockNetworkManager) GetNetworkInfo ¶
func (nm *MockNetworkManager) GetNetworkInfo(networkID string) (NetworkInfo, error)
GetNetworkInfo mock
func (*MockNetworkManager) GetNumberOfEndpoints ¶
func (nm *MockNetworkManager) GetNumberOfEndpoints(ifName string, networkID string) int
GetNumberOfEndpoints mock
func (*MockNetworkManager) Initialize ¶
func (nm *MockNetworkManager) Initialize(config *common.PluginConfig, isRehydrationRequired bool) error
Initialize mock
func (*MockNetworkManager) SetupNetworkUsingState ¶
func (nm *MockNetworkManager) SetupNetworkUsingState(networkMonitor *cnms.NetworkMonitor) error
SetupNetworkUsingState mock
func (*MockNetworkManager) Uninitialize ¶
func (nm *MockNetworkManager) Uninitialize()
Uninitialize mock
func (*MockNetworkManager) UpdateEndpoint ¶
func (nm *MockNetworkManager) UpdateEndpoint(networkID string, existingEpInfo *EndpointInfo, targetEpInfo *EndpointInfo) error
UpdateEndpoint mock
type NetworkClient ¶
type NetworkInfo ¶
type NetworkInfo struct { MasterIfName string AdapterName string Id string Mode string Subnets []SubnetInfo PodSubnet SubnetInfo DNS DNSInfo Policies []policy.Policy BridgeName string EnableSnatOnHost bool NetNs string Options map[string]interface{} DisableHairpinOnHostInterface bool IPV6Mode string IPAMType string ServiceCidrs string }
NetworkInfo contains read-only information about a container network.
type NetworkManager ¶
type NetworkManager interface { Initialize(config *common.PluginConfig, isRehydrationRequired bool) error Uninitialize() AddExternalInterface(ifName string, subnet string) error CreateNetwork(nwInfo *NetworkInfo) error DeleteNetwork(networkID string) error GetNetworkInfo(networkID string) (NetworkInfo, error) CreateEndpoint(client apipaClient, networkID string, epInfo *EndpointInfo) error DeleteEndpoint(cli apipaClient, networkID string, endpointID string) error GetEndpointInfo(networkID string, endpointID string) (*EndpointInfo, error) GetAllEndpoints(networkID string) (map[string]*EndpointInfo, error) GetEndpointInfoBasedOnPODDetails(networkID string, podName string, podNameSpace string, doExactMatchForPodName bool) (*EndpointInfo, error) AttachEndpoint(networkID string, endpointID string, sandboxKey string) (*endpoint, error) DetachEndpoint(networkID string, endpointID string) error UpdateEndpoint(networkID string, existingEpInfo *EndpointInfo, targetEpInfo *EndpointInfo) error GetNumberOfEndpoints(ifName string, networkID string) int SetupNetworkUsingState(networkMonitor *cnms.NetworkMonitor) error }
NetworkManager API.
func NewNetworkManager ¶
func NewNetworkManager(nl netlink.NetlinkInterface) (NetworkManager, error)
Creates a new network manager.
type RouteInfo ¶
type RouteInfo struct { Dst net.IPNet Src net.IP Gw net.IP Protocol int DevName string Scope int Priority int }
RouteInfo contains information about an IP route.
type SubnetInfo ¶
type SubnetInfo struct { Family platform.AddressFamily Prefix net.IPNet Gateway net.IP PrimaryIP net.IP }
SubnetInfo contains subnet information for a container network.