func (mae *MockACLEngine) ClearACLs() {
	changes := mae.aclConfig.changes
	mae.aclConfig = NewACLConfig()
	mae.aclConfig.changes = changes
}
ClearACLs clears the list of configured ACLs.
package aclengine
import (
	"errors"
	"fmt"
	"net"
	"strings"
	"sync"
	"go.ligato.io/cn-infra/v2/logging"
	"github.com/contiv/vpp/mock/localclient"
	"github.com/contiv/vpp/plugins/ipnet"
	podmodel "github.com/contiv/vpp/plugins/ksr/model/pod"
	"github.com/contiv/vpp/plugins/policy/renderer"
	"go.ligato.io/cn-infra/v2/datasync/syncbase"
	vpp_acl "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/acl"
)
const maxPortNum = uint32(^uint16(0))
type ConnectionAction int
const (
	ConnActionDenySyn ConnectionAction = iota
	ConnActionDenySynAck
	ConnActionAllow
	ConnActionFailure
)
type ACLAction int
const (
	ACLActionDeny ACLAction = iota
	ACLActionPermit
	ACLActionReflect
	ACLActionFailure
)
const aclPrefix = "config/vpp/acls/v2/acl/"
type MockACLEngine struct {
	sync.Mutex
	Log        logging.Logger
	IPNet      ipnet.API      
	ContivConf ContivConfAPI  
	pods      map[podmodel.ID]*PodConfig
	aclConfig *ACLConfig
}
type PodConfig struct {
	podIP       net.IP
	anotherNode bool
}
type ACLConfig struct {
	byName  map[string]*vpp_acl.ACL
	byIf    map[string]*InterfaceACLs
	changes int
}
type InterfaceACLs struct {
	inbound  *vpp_acl.ACL
	outbound *vpp_acl.ACL
}
func NewMockACLEngine(log logging.Logger, ipNet ipnet.API, contivConf ContivConfAPI) *MockACLEngine {
	return &MockACLEngine{
		Log:        log,
		IPNet:      ipNet,
		ContivConf: contivConf,
		pods:       make(map[podmodel.ID]*PodConfig),
		aclConfig:  NewACLConfig(),
	}
}
func NewACLConfig() *ACLConfig {
	return &ACLConfig{
		byName: make(map[string]*vpp_acl.ACL),
		byIf:   make(map[string]*InterfaceACLs),
	}
}
type ContivConfAPI interface {
	GetMainInterfaceName() string
}