Documentation

Index

Constants

View Source
const (
	// FlowReject indicates that a flow was rejected
	FlowReject = "reject"
	// FlowAccept logs that a flow is accepted
	FlowAccept = "accept"
	// MissingToken indicates that the token was missing
	MissingToken = "missingtoken"
	// InvalidToken indicates that the token was invalid
	InvalidToken = "token"
	// InvalidFormat indicates that the packet metadata were not correct
	InvalidFormat = "format"
	// InvalidContext indicates that there was no context in the metadata
	InvalidContext = "context"
	// InvalidConnection indicates that there was no connection found
	InvalidConnection = "connection"
	// InvalidState indicates that a packet was received without proper state information
	InvalidState = "state"
	// InvalidNonse indicates that the nonse check failed
	InvalidNonse = "nonse"
	// PolicyDrop indicates that the flow is rejected because of the policy decision
	PolicyDrop = "policy"
	// ContainerStart indicates a container start event
	ContainerStart = "start"
	// ContainerStop indicates a container stop event
	ContainerStop = "stop"
	// ContainerCreate indicates a container create event
	ContainerCreate = "create"
	// ContainerDelete indicates a container delete event
	ContainerDelete = "delete"
	// ContainerUpdate indicates a container policy update event
	ContainerUpdate = "update"
	// ContainerFailed indicates an event that a container was stopped because of policy issues
	ContainerFailed = "forcestop"
	// ContainerIgnored indicates that the container will be ignored by Trireme
	ContainerIgnored = "ignore"
	// UnknownContainerDelete indicates that policy for an unknown  container was deleted
	UnknownContainerDelete = "unknowncontainer"
	// PolicyValid Normal flow accept
	PolicyValid = "V"
	// DefaultEndPoint  provides a string for unknown container sources
	DefaultEndPoint = "default"
)

Variables

This section is empty.

Functions

func StatsFlowHash

func StatsFlowHash(r *FlowRecord) string

    StatsFlowHash is a has function to hash flows

    Types

    type ContainerRecord

    type ContainerRecord struct {
    	ContextID string
    	IPAddress string
    	Tags      *policy.TagStore
    	Event     string
    }

      ContainerRecord is a statistics record for a container

      type DefaultCollector

      type DefaultCollector struct{}

        DefaultCollector implements a default collector infrastructure to syslog

        func (*DefaultCollector) CollectContainerEvent

        func (d *DefaultCollector) CollectContainerEvent(record *ContainerRecord)

          CollectContainerEvent is part of the EventCollector interface.

          func (*DefaultCollector) CollectFlowEvent

          func (d *DefaultCollector) CollectFlowEvent(record *FlowRecord)

            CollectFlowEvent is part of the EventCollector interface.

            type EndPoint

            type EndPoint struct {
            	ID   string
            	IP   string
            	Port uint16
            	Type EndPointType
            }

              EndPoint is a structure that holds all the endpoint information

              type EndPointType

              type EndPointType byte

                EndPointType is the type of an endpoint (PU or an external IP address )

                const (
                	// Address indicates that the endpoint is an external IP address
                	Address EndPointType = iota
                	// PU indicates that the endpoint is a PU
                	PU
                )

                func (*EndPointType) String

                func (e *EndPointType) String() string

                type EventCollector

                type EventCollector interface {
                
                	// CollectFlowEvent collect a  flow event.
                	CollectFlowEvent(record *FlowRecord)
                
                	// CollectContainerEvent collects a container events
                	CollectContainerEvent(record *ContainerRecord)
                }

                  EventCollector is the interface for collecting events.

                  type FlowRecord

                  type FlowRecord struct {
                  	ContextID   string
                  	Count       int
                  	Source      *EndPoint
                  	Destination *EndPoint
                  	Tags        *policy.TagStore
                  	Action      policy.ActionType
                  	DropReason  string
                  	PolicyID    string
                  }

                    FlowRecord describes a flow record for statistis

                    func (*FlowRecord) String

                    func (f *FlowRecord) String() string