Documentation ¶
Index ¶
- Constants
- type DataPlane
- func (dp *DataPlane) AddPolicy(policy *policies.NPMNetworkPolicy) error
- func (dp *DataPlane) AddToLists(listName, setNames []*ipsets.IPSetMetadata) error
- func (dp *DataPlane) AddToSets(setNames []*ipsets.IPSetMetadata, podMetadata *PodMetadata) error
- func (dp *DataPlane) ApplyDataPlane() error
- func (dp *DataPlane) CreateIPSets(setMetadata []*ipsets.IPSetMetadata)
- func (dp *DataPlane) DeleteIPSet(setMetadata *ipsets.IPSetMetadata)
- func (dp *DataPlane) InitializeDataPlane() error
- func (dp *DataPlane) RemoveFromList(listName *ipsets.IPSetMetadata, setNames []*ipsets.IPSetMetadata) error
- func (dp *DataPlane) RemoveFromSets(setNames []*ipsets.IPSetMetadata, podMetadata *PodMetadata) error
- func (dp *DataPlane) RemovePolicy(policyKey string) error
- func (dp *DataPlane) ResetDataPlane() error
- func (dp *DataPlane) UpdatePolicy(policy *policies.NPMNetworkPolicy) error
- type GenericDataplane
- type NPMEndpoint
- type PodMetadata
Constants ¶
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 (*DataPlane) AddPolicy ¶
func (dp *DataPlane) AddPolicy(policy *policies.NPMNetworkPolicy) error
AddPolicy takes in a translated NPMNetworkPolicy object and applies on dataplane
func (*DataPlane) AddToLists ¶
func (dp *DataPlane) AddToLists(listName, setNames []*ipsets.IPSetMetadata) error
AddToLists takes a list name and list of sets which are to be added as members to given list
func (*DataPlane) AddToSets ¶
func (dp *DataPlane) AddToSets(setNames []*ipsets.IPSetMetadata, podMetadata *PodMetadata) error
AddToSets takes in a list of IPSet names along with IP member and then updates it local cache
func (*DataPlane) ApplyDataPlane ¶
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) CreateIPSets ¶
func (dp *DataPlane) CreateIPSets(setMetadata []*ipsets.IPSetMetadata)
CreateIPSets takes in a set object and updates local cache with this set
func (*DataPlane) DeleteIPSet ¶
func (dp *DataPlane) DeleteIPSet(setMetadata *ipsets.IPSetMetadata)
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
InitializeDataPlane helps in setting up dataplane for NPM
func (*DataPlane) RemoveFromList ¶
func (dp *DataPlane) RemoveFromList(listName *ipsets.IPSetMetadata, setNames []*ipsets.IPSetMetadata) error
RemoveFromList takes a list name and list of sets which are to be removed as members to given list
func (*DataPlane) RemoveFromSets ¶
func (dp *DataPlane) RemoveFromSets(setNames []*ipsets.IPSetMetadata, podMetadata *PodMetadata) error
RemoveFromSets takes in list of setnames from which a given IP member should be removed and will update the local cache
func (*DataPlane) RemovePolicy ¶
RemovePolicy takes in network policyKey (namespace/name of network policy) and removes it from dataplane and cache
func (*DataPlane) ResetDataPlane ¶ added in v1.4.13
ResetDataPlane helps in cleaning up dataplane sets and policies programmed by NPM, returning a clean slate
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 GenericDataplane ¶
type GenericDataplane interface { InitializeDataPlane() error ResetDataPlane() error CreateIPSets(setNames []*ipsets.IPSetMetadata) DeleteIPSet(setMetadata *ipsets.IPSetMetadata) AddToSets(setNames []*ipsets.IPSetMetadata, podMetadata *PodMetadata) error RemoveFromSets(setNames []*ipsets.IPSetMetadata, podMetadata *PodMetadata) error AddToLists(listName []*ipsets.IPSetMetadata, setNames []*ipsets.IPSetMetadata) error RemoveFromList(listName *ipsets.IPSetMetadata, setNames []*ipsets.IPSetMetadata) error ApplyDataPlane() error AddPolicy(policies *policies.NPMNetworkPolicy) error RemovePolicy(policyName string) error UpdatePolicy(policies *policies.NPMNetworkPolicy) error }
type NPMEndpoint ¶ added in v1.4.13
type PodMetadata ¶
PodMetadata is what is passed to dataplane to specify pod ipset todo definitely requires further optimization between the intersection of types, PodMetadata, NpmPod and corev1.pod
func NewPodMetadata ¶
func NewPodMetadata(podKey, podIP, nodeName string) *PodMetadata