Documentation ¶
Index ¶
- Constants
- type Accessor
- type ContextProcessor
- type Datapath
- func (d *Datapath) Enforce(contextID string, puInfo *policy.PUInfo) error
- func (d *Datapath) GetFilterQueue() *fqconfig.FilterQueue
- func (d *Datapath) GetPortSetInstance() portset.PortSet
- func (d *Datapath) Run(ctx context.Context) error
- func (d *Datapath) Unenforce(contextID string) error
- func (d *Datapath) UpdateSecrets(token secrets.Secrets) error
- type RuleProcessor
Constants ¶
const DefaultExternalIPTimeout = "500ms"
DefaultExternalIPTimeout is the default used for the cache for External IPTimeout.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Accessor ¶
type Accessor interface { ContextProcessor RuleProcessor }
Accessor is an interface for datapth to access contexts/rules/tokens
type ContextProcessor ¶
type ContextProcessor interface { DoesContextExist(contextID string) bool IsContextServer(contextID string, backendip string) bool }
ContextProcessor is an interface to provide context checks
type Datapath ¶
type Datapath struct { // CacheTimeout used for Trireme auto-detecion ExternalIPCacheTimeout time.Duration // contains filtered or unexported fields }
Datapath is the structure holding all information about a connection filter
func New ¶
func New( mutualAuth bool, filterQueue *fqconfig.FilterQueue, collector collector.EventCollector, serverID string, validity time.Duration, service packetprocessor.PacketProcessor, secrets secrets.Secrets, mode constants.ModeType, procMountPoint string, ExternalIPCacheTimeout time.Duration, packetLogs bool, tokenaccessor tokenaccessor.TokenAccessor, puFromContextID cache.DataStore, ) *Datapath
New will create a new data path structure. It instantiates the data stores needed to track sessions. The data path is started with a different call. Only required parameters must be provided. Rest a pre-populated with defaults.
func NewWithDefaults ¶
func NewWithDefaults( serverID string, collector collector.EventCollector, service packetprocessor.PacketProcessor, secrets secrets.Secrets, mode constants.ModeType, procMountPoint string, ) *Datapath
NewWithDefaults create a new data path with most things used by default
func (*Datapath) Enforce ¶
Enforce implements the Enforce interface method and configures the data path for a new PU
func (*Datapath) GetFilterQueue ¶
func (d *Datapath) GetFilterQueue() *fqconfig.FilterQueue
GetFilterQueue returns the filter queues used by the data path
func (*Datapath) GetPortSetInstance ¶
GetPortSetInstance returns the portset instance used by data path