policy

package
v1.0.29 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2019 License: MIT Imports: 1 Imported by: 3

Documentation

Index

Constants

View Source
const (

	// CnetAddressSpace indicates constant for the key string
	CnetAddressSpace = "cnetAddressSpace"
)

Variables

View Source
var ValidWinVerForDnsNat bool

Functions

func AddDnsNATPolicyV1

func AddDnsNATPolicyV1() (json.RawMessage, error)

AddDnsNATPolicyV1 returns serialized DNS NAT policy (json) for HNSv1

func AddDnsNATPolicyV2 added in v1.0.29

func AddDnsNATPolicyV2() (hcn.EndpointPolicy, error)

AddDnsNATPolicyV2 returns DNS NAT endpoint policy for HNSv2

func GetHcnEndpointPolicies

func GetHcnEndpointPolicies(policyType CNIPolicyType, policies []Policy, epInfoData map[string]interface{}, enableSnatForDns, enableMultiTenancy bool) ([]hcn.EndpointPolicy, error)

GetHcnEndpointPolicies returns array of all endpoint policies.

func GetHcnNetAdapterPolicy

func GetHcnNetAdapterPolicy(networkAdapterName string) (hcn.NetworkPolicy, error)

GetHcnNetAdapterPolicy returns network adapter name policy.

func GetHcnOutBoundNATPolicy

func GetHcnOutBoundNATPolicy(policy Policy, epInfoData map[string]interface{}) (hcn.EndpointPolicy, error)

GetHcnOutBoundNATPolicy returns outBoundNAT policy.

func GetHcnPortMappingPolicy

func GetHcnPortMappingPolicy(policy Policy) (hcn.EndpointPolicy, error)

GetHcnPortMappingPolicy returns port mapping policy.

func GetHcnRoutePolicy

func GetHcnRoutePolicy(policy Policy) (hcn.EndpointPolicy, error)

GetHcnRoutePolicy returns Route policy.

func GetOutBoundNatExceptionList

func GetOutBoundNatExceptionList(policy Policy) ([]string, error)

GetOutBoundNatExceptionList returns exception list for outbound nat policy

func IsPolicyTypeOutBoundNAT added in v1.0.14

func IsPolicyTypeOutBoundNAT(policy Policy) bool

IsPolicyTypeOutBoundNAT return true if the policy type is OutBoundNAT

func SerializeHcnSubnetVlanPolicy

func SerializeHcnSubnetVlanPolicy(vlanID uint32) ([]byte, error)

SerializeHcnSubnetVlanPolicy serializes subnet policy for VLAN to json.

func SerializeOutBoundNATPolicy

func SerializeOutBoundNATPolicy(policy Policy, epInfoData map[string]interface{}) (json.RawMessage, error)

SerializeOutBoundNATPolicy formulates OutBoundNAT policy and returns serialized json

func SerializePolicies

func SerializePolicies(policyType CNIPolicyType, policies []Policy, epInfoData map[string]interface{}, enableSnatForDns, enableMultiTenancy bool) []json.RawMessage

SerializePolicies serializes policies to json.

Types

type CNIPolicyType

type CNIPolicyType string
const (
	NetworkPolicy     CNIPolicyType = "NetworkPolicy"
	EndpointPolicy    CNIPolicyType = "EndpointPolicy"
	OutBoundNatPolicy CNIPolicyType = "OutBoundNAT"
	RoutePolicy       CNIPolicyType = "ROUTE"
	PortMappingPolicy CNIPolicyType = "NAT"
)

func GetPolicyType

func GetPolicyType(policy Policy) CNIPolicyType

GetPolicyType parses the policy and returns the policy type

type KVPairOutBoundNAT

type KVPairOutBoundNAT struct {
	Type          CNIPolicyType   `json:"Type"`
	ExceptionList json.RawMessage `json:"ExceptionList"`
}

type KVPairPortMapping added in v1.0.29

type KVPairPortMapping struct {
	Type         CNIPolicyType `json:"Type"`
	ExternalPort uint16        `json:"ExternalPort"`
	InternalPort uint16        `json:"InternalPort"`
	Protocol     string        `json:"Protocol"`
}

type KVPairRoute

type KVPairRoute struct {
	Type              CNIPolicyType `json:"Type"`
	DestinationPrefix string        `json:"DestinationPrefix"`
	NeedEncap         bool          `json:"NeedEncap"`
}

type KVPairRoutePolicy

type KVPairRoutePolicy struct {
	Type              CNIPolicyType   `json:"Type"`
	DestinationPrefix json.RawMessage `json:"DestinationPrefix"`
	NeedEncap         json.RawMessage `json:"NeedEncap"`
}

type Policy

type Policy struct {
	Type CNIPolicyType
	Data json.RawMessage
}

Jump to

Keyboard shortcuts

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