dataplane

package
v1.4.13 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// AzureNetworkName is default network Azure CNI creates
	AzureNetworkName = "azure"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type DataPlane

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

func NewDataPlane

func NewDataPlane(nodeName string) *DataPlane

func (*DataPlane) AddPolicy

func (dp *DataPlane) AddPolicy(policy *policies.NPMNetworkPolicy) error

AddPolicy takes in a translated NPMNetworkPolicy object and applies on dataplane

func (*DataPlane) AddToList added in v1.4.13

func (dp *DataPlane) AddToList(listName string, setNames []string) error

AddToList takes a list name and list of sets which are to be added as members to given list

func (*DataPlane) AddToSet added in v1.4.13

func (dp *DataPlane) AddToSet(setNames []string, ip, podKey string) error

AddToSet takes in a list of IPSet names along with IP member and then updates it local cache

func (*DataPlane) ApplyDataPlane

func (dp *DataPlane) ApplyDataPlane() error

ApplyDataPlane all the IPSet operations just update cache and update a dirty ipset structure, they do not change apply changes into dataplane. This function needs to be called at the end of IPSet operations of a given controller event, it will check for the dirty ipset list and accordingly makes changes in dataplane. This function helps emulate a single call to dataplane instead of multiple ipset operations calls ipset operations calls to dataplane

func (*DataPlane) CreateIPSet added in v1.4.13

func (dp *DataPlane) CreateIPSet(setName string, setType ipsets.SetType)

CreateIPSet takes in a set object and updates local cache with this set

func (*DataPlane) DeleteIPSet

func (dp *DataPlane) DeleteIPSet(name string)

DeleteSet checks for members and references of the given "set" type ipset if not used then will delete it from cache

func (*DataPlane) InitializeDataPlane added in v1.4.13

func (dp *DataPlane) InitializeDataPlane() error

InitializeDataPlane helps in setting up dataplane for NPM

func (*DataPlane) RemoveFromList

func (dp *DataPlane) RemoveFromList(listName string, setNames []string) error

RemoveFromList takes a list name and list of sets which are to be removed as members to given list

func (*DataPlane) RemoveFromSet added in v1.4.13

func (dp *DataPlane) RemoveFromSet(setNames []string, ip, podKey string) error

RemoveFromSet takes in list of setnames from which a given IP member should be removed and will update the local cache

func (*DataPlane) RemovePolicy

func (dp *DataPlane) RemovePolicy(policyName string) error

RemovePolicy takes in network policy name and removes it from dataplane and cache

func (*DataPlane) ResetDataPlane added in v1.4.13

func (dp *DataPlane) ResetDataPlane() error

ResetDataPlane helps in cleaning up dataplane sets and policies programmed by NPM, retunring a clean slate

func (*DataPlane) ShouldUpdatePod added in v1.4.13

func (dp *DataPlane) ShouldUpdatePod() bool

ShouldUpdatePod will let controller know if its needs to aggregate pod data for update pod call.

func (*DataPlane) UpdatePod added in v1.4.13

func (dp *DataPlane) UpdatePod(pod *UpdateNPMPod) error

UpdatePod is to be called by pod_controller ONLY when a new pod is CREATED.

func (*DataPlane) UpdatePolicy

func (dp *DataPlane) UpdatePolicy(policy *policies.NPMNetworkPolicy) error

UpdatePolicy takes in updated policy object, calculates the delta and applies changes onto dataplane accordingly

type NPMEndpoint added in v1.4.13

type NPMEndpoint struct {
	Name string
	ID   string
	IP   string
	// Map with Key as Network Policy name to to emulate set
	// and value as struct{} for minimal memory consumption
	NetPolReference map[string]struct{}
}

type UpdateNPMPod added in v1.4.13

type UpdateNPMPod struct {
	Name           string
	Namespace      string
	PodIP          string
	NodeName       string
	IPSetsToAdd    []string
	IPSetsToRemove []string
}

UpdateNPMPod pod controller will populate and send this datastructure to dataplane to update the dataplane with the latest pod information this helps in calculating if any update needs to have policies applied or removed

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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