Skip to content

NETOBSERV-1112: Support adding of connection setup timestamp #102

@praveingk

Description

@praveingk

Currently the flow records from ebpf agent provide two timestamps : 1) connection start, and 2) connection end.
Additionally, we could have connection setup timestamp, which is either (SYN+ACK), or ACK+Seq1 timestamp depending on the direction of the flow.

The logic could :

Ingress:

  1. Store timestamp (t2) when ACK+SEQ1 packet is received. Incoming SYN packet timestamp (t1) is already stored.
  2. Store timestamp (t2) when SYN+ACK packet is received. Outgoing SYN packet timestamp (t1) would already be stored. Mostly this case is already captured in eBPF data path, since we store the timestamp when an entry is created in the map. In this case SYN+ACK packet will create a new entry in the map.

Using existing marker stored (for SYN+ACK, SYN) in TCP flags, we can calculate t2-t1 in user space to get connection setup time.

This connection setup RTT can be captured per flow, and exported. The consumer can then estimate the Path RTT based on the moving average or some other calculation.

image

CC : @eranra @jotak @msherif1234

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions