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"

    Flow event description

    View Source
    const (
    	// 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"
    	// ContainerDeleteUnknown indicates that policy for an unknown  container was deleted
    	ContainerDeleteUnknown = "unknowncontainer"

      Container event description

      View Source
      const (
      	// PolicyValid Normal flow accept
      	PolicyValid = "V"
      	// DefaultEndPoint  provides a string for unknown container sources
      	DefaultEndPoint = "default"


      This section is empty.


      func StatsFlowHash

      func StatsFlowHash(r *FlowRecord) string

        StatsFlowHash is a has function to hash flows


        type ContainerRecord

        type ContainerRecord struct {
        	ContextID string
        	IPAddress policy.ExtendedMap
        	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

                    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.

                      func NewDefaultCollector

                      func NewDefaultCollector() EventCollector

                        NewDefaultCollector returns a default implementation of an EventCollector

                        type FlowRecord

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

                          FlowRecord describes a flow record for statistis

                          func (*FlowRecord) String

                          func (f *FlowRecord) String() string


                          Path Synopsis
                          Package mockcollector is a generated GoMock package.
                          Package mockcollector is a generated GoMock package.