flowexporter

package
v1.11.0-alpha.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckConntrackConnActive added in v1.4.0

func CheckConntrackConnActive(conn *Connection) bool

checkConntrackConnActive returns true if there are changes in connection's stats or TCP state, indicating that the connection is active.

func IsConnectionDying

func IsConnectionDying(conn *Connection) bool

func PolicyTypeToUint8

func PolicyTypeToUint8(policyType v1beta2.NetworkPolicyType) uint8

policyTypeToUint8 converts NetworkPolicy type to uint8

func RuleActionToUint8

func RuleActionToUint8(action string) uint8

RuleActionToUint8 converts network policy rule action to uint8.

Types

type Connection

type Connection struct {
	// Fields from conntrack flows
	ID        uint32
	Timeout   uint32
	StartTime time.Time
	// For invalid and closed connections or deny connections: StopTime is the time when connection
	// was updated last.
	// For established connections: StopTime is latest time when it was polled.
	StopTime time.Time
	// LastExportTime is used to decide whether a connection is stale.
	LastExportTime time.Time
	IsActive       bool
	// IsPresent flag helps in cleaning up connections when they are not in conntrack table anymore.
	IsPresent bool
	// ReadyToDelete marks whether we can safely delete the connection from the connection map.
	ReadyToDelete      bool
	Zone               uint16
	Mark               uint32
	StatusFlag         uint32
	Labels, LabelsMask []byte
	// TODO: Have a separate field for protocol. No need to keep it in Tuple.
	FlowKey                        Tuple
	OriginalPackets, OriginalBytes uint64
	// Fields specific to Antrea
	SourcePodNamespace             string
	SourcePodName                  string
	DestinationPodNamespace        string
	DestinationPodName             string
	DestinationServicePortName     string
	DestinationServiceAddress      net.IP
	DestinationServicePort         uint16
	IngressNetworkPolicyName       string
	IngressNetworkPolicyNamespace  string
	IngressNetworkPolicyType       uint8
	IngressNetworkPolicyRuleName   string
	IngressNetworkPolicyRuleAction uint8
	EgressNetworkPolicyName        string
	EgressNetworkPolicyNamespace   string
	EgressNetworkPolicyType        uint8
	EgressNetworkPolicyRuleName    string
	EgressNetworkPolicyRuleAction  uint8
	PrevPackets, PrevBytes         uint64
	// Fields specific to conntrack connections
	ReversePackets, ReverseBytes         uint64
	PrevReversePackets, PrevReverseBytes uint64
	TCPState                             string
	PrevTCPState                         string
}

type ConnectionKey

type ConnectionKey [5]string

func NewConnectionKey

func NewConnectionKey(conn *Connection) ConnectionKey

NewConnectionKey creates 5-tuple of flow as connection key

type ConnectionMapCallBack

type ConnectionMapCallBack func(key ConnectionKey, conn *Connection) error

type FlowExporterOptions added in v1.5.0

type FlowExporterOptions struct {
	FlowCollectorAddr      string
	FlowCollectorProto     string
	ActiveFlowTimeout      time.Duration
	IdleFlowTimeout        time.Duration
	StaleConnectionTimeout time.Duration
	PollInterval           time.Duration
	ConnectUplinkToBridge  bool
}

type ItemToExpire added in v1.4.0

type ItemToExpire struct {
	Conn             *Connection
	ActiveExpireTime time.Time
	IdleExpireTime   time.Time
	// Index in the priority queue (heap)
	Index int
}

type Tuple

type Tuple struct {
	SourceAddress      net.IP
	DestinationAddress net.IP
	Protocol           uint8
	SourcePort         uint16
	DestinationPort    uint16
}

Directories

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL