diff --git a/doc/TAM/SAI-Proposal-TAM-stream-telemetry.md b/doc/TAM/SAI-Proposal-TAM-stream-telemetry.md index cafc803a9..3831029ad 100644 --- a/doc/TAM/SAI-Proposal-TAM-stream-telemetry.md +++ b/doc/TAM/SAI-Proposal-TAM-stream-telemetry.md @@ -205,7 +205,7 @@ packet-beta #### IPFIX data -An IPFIX data message consists of two hierarchical levels: bulk and snapshots. A bulk contains multiple snapshots, and a snapshot is a binary block that can be interpreted using the IPFIX template mentioned above. +An IPFIX data message consists of a snapshot that is a binary block that can be interpreted using the IPFIX template mentioned above. The binary structure of a snapshot is as follows: @@ -223,10 +223,9 @@ packet-beta 160-191: "Data N + 1: Stats N" ``` -- The bulk count can be configured via SAI. - The snapshot structure is derived from the IPFIX template, which is based on the stats we want to record. -Below is an example of an IPFIX message for the same stats record as the IPFIX template example, with a bulk count of 3: +Below is an example of an IPFIX message for the same stats record as the IPFIX template example: ``` mermaid @@ -245,18 +244,6 @@ packet-beta 224-287: "Port 1: SAI_PORT_STAT_IF_IN_ERRORS = 10" 288-351: "Port 2: SAI_PORT_STAT_IF_IN_ERRORS = 0" 352-415: "Port 3: SAI_PORT_STAT_IF_IN_ERRORS = 5" -416-431: "Set ID = 256" -432-447: "Set Length = 32 bytes" -448-511: "observationTimeNanoseconds = 20000" -512-575: "Port 1: SAI_PORT_STAT_IF_IN_ERRORS = 15" -576-639: "Port 2: SAI_PORT_STAT_IF_IN_ERRORS = 0" -640-703: "Port 3: SAI_PORT_STAT_IF_IN_ERRORS = 6" -704-719: "Set ID = 256" -720-735: "Set Length = 32 bytes" -736-799: "observationTimeNanoseconds = 30000" -800-863: "Port 1: SAI_PORT_STAT_IF_IN_ERRORS = 20" -864-927: "Port 2: SAI_PORT_STAT_IF_IN_ERRORS = 0" -928-991: "Port 3: SAI_PORT_STAT_IF_IN_ERRORS = 8" ``` #### Netlink message diff --git a/doc/TAM/netlink_dma_channel.drawio.svg b/doc/TAM/netlink_dma_channel.drawio.svg index 476fd5c96..73f5ef501 100644 --- a/doc/TAM/netlink_dma_channel.drawio.svg +++ b/doc/TAM/netlink_dma_channel.drawio.svg @@ -1,4 +1,4 @@ -
genetlink
family: sonic_stel
group: ipfix
genetlink...
Netlink Module
Netlink Module
Counter Syncd
Counter Syncd
DMA Engine
DMA Engine
ASIC
ASIC
IPFIX Header
IPFIX Header
observation time milliseconds

port 2 stats 1

port 8 stats 1

queue 1 stats 2

queue 5 stats 2
observation time milliseconds...
bulk count
bulk count
Registered IPFIX template
ID 256
ID 256
IPFIX Template 
IPFIX Template 
ID 257
ID 257
IPFIX Template 
IPFIX Template 
ID 257
ID 257
IPFIX Template 
IPFIX Template 
IPFIX parser
IPFIX parser

Ring buffer

capability = cache count

Ring buffer...
Drop
(if no template can be decided)
Drop...
OpenTelemetryMessage
OpenTelemetryMes...
Convert to OpenTelemetryMessage
Convert to OpenTelemetryMessage
Netlink healder
Netlink healder
IPFIX recording 1

IPFIX recording 2

IPFIX recording 3

IPFIX recording 4

IPFIX recording 5
IPFIX recording 1...
Text is not SVG - cannot display
\ No newline at end of file +
genetlink
family: sonic_stel
group: ipfix
genetlink...
Netlink Module
Netlink Module
Counter Syncd
Counter Syncd
DMA Engine
DMA Engine
ASIC
ASIC
IPFIX Header
IPFIX Header
observation time milliseconds

port 2 stats 1

port 8 stats 1

queue 1 stats 2

queue 5 stats 2
observation time milliseconds...
bulk count
bulk count
Registered IPFIX template
ID 256
ID 256
IPFIX Template 
IPFIX Template 
ID 257
ID 257
IPFIX Template 
IPFIX Template 
ID 258
ID 258
IPFIX Template 
IPFIX Template 
IPFIX parser
IPFIX parser

Ring buffer

capability = cache count

Ring buffer...
Drop
(if no template can be decided)
Drop...
OpenTelemetryMessage
OpenTelemetryMess...
Convert to OpenTelemetryMessage
Convert to OpenTelemetryMessage
Netlink healder
Netlink healder
IPFIX recording 1

IPFIX recording 2

IPFIX recording 3

IPFIX recording 4

IPFIX recording 5
IPFIX recording 1...
Text is not SVG - cannot display
\ No newline at end of file