Documentation ¶
Index ¶
- Variables
- func CheckConntrackConnActive(conn *Connection) bool
- func IsConnectionDying(conn *Connection) bool
- func LookupProtocolMap(name string) (uint8, error)
- func PolicyTypeToUint8(policyType v1beta2.NetworkPolicyType) uint8
- func RuleActionToUint8(action string) uint8
- type Connection
- type ConnectionKey
- type ConnectionMapCallBack
- type FlowExporterOptions
- type ItemToExpire
- type Tuple
Constants ¶
This section is empty.
Variables ¶
View Source
var (
Protocols = map[string]uint8{
"icmp": 1,
"igmp": 2,
"tcp": 6,
"udp": 17,
"ipv6-icmp": 58,
}
)
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 LookupProtocolMap ¶ added in v1.15.0
LookupProtocolMap returns protocol identifier given protocol name
func PolicyTypeToUint8 ¶
func PolicyTypeToUint8(policyType v1beta2.NetworkPolicyType) uint8
policyTypeToUint8 converts NetworkPolicy type to uint8
func RuleActionToUint8 ¶
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 OriginalDestinationAddress netip.Addr OriginalDestinationPort 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 FlowType uint8 EgressName string EgressIP string AppProtocolName string HttpVals string }
type ConnectionKey ¶
type ConnectionKey = Tuple
We use a type alias here, as a way to minimize code changes: ConnectionKey used to be its own type, and ConnectionKey values were generated from Tuple values. Because of changes to the Tuple type (net.IP -> netip.Addr), Tuple is now comparable and can be used as a map key directly.
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 ItemToExpire ¶ added in v1.4.0
Click to show internal directories.
Click to hide internal directories.