acls

package
v0.0.0-...-7726874 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2020 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoMatch = errors.New("No Match")

ErrNoMatch is error returned when no match is found.

Functions

This section is empty.

Types

type ACLCache

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

ACLCache holds all the ACLS in an internal DB map[prefixes][subnets] -> list of ports with their actions

func NewACLCache

func NewACLCache() *ACLCache

NewACLCache creates a new ACL cache

func (*ACLCache) AddRule

func (c *ACLCache) AddRule(rule policy.IPRule) (err error)

AddRule adds a single rule to the ACL Cache

func (*ACLCache) AddRuleList

func (c *ACLCache) AddRuleList(rules policy.IPRuleList) (err error)

AddRuleList adds a list of rules to the cache

func (*ACLCache) GetMatchingAction

func (c *ACLCache) GetMatchingAction(ip net.IP, port uint16) (report *policy.FlowPolicy, packet *policy.FlowPolicy, err error)

GetMatchingAction gets the matching action

func (*ACLCache) RemoveIPMask

func (c *ACLCache) RemoveIPMask(ip net.IP, mask int)

RemoveIPMask removes the entries indexed with (ip, mask). This is an idempotent operation and thus does not returns an error

Jump to

Keyboard shortcuts

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