trireme-lib: Index | Files

package acls

import ""


Package Files

acl.go aclcache.go ports.go


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

ErrNoMatch is error returned when no match is found.

type ACLCache Uses

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 Uses

func NewACLCache() *ACLCache

NewACLCache creates a new ACL cache

func (*ACLCache) AddRule Uses

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

AddRule adds a single rule to the ACL Cache

func (*ACLCache) AddRuleList Uses

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

AddRuleList adds a list of rules to the cache

func (*ACLCache) GetMatchingAction Uses

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 Uses

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

Package acls imports 8 packages (graph) and is imported by 4 packages. Updated 2019-09-21. Refresh now. Tools for package owners.