NVIDIA DOCA SDK
Data Center on a Chip Framework Documentation
telem_template_ctxt.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2024 NVIDIA CORPORATION AND AFFILIATES. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without modification, are permitted
5
* provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright notice, this list of
7
* conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright notice, this list of
9
* conditions and the following disclaimer in the documentation and/or other materials
10
* provided with the distribution.
11
* * Neither the name of the NVIDIA CORPORATION nor the names of its contributors may be used
12
* to endorse or promote products derived from this software without specific prior written
13
* permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
16
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
17
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE
18
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
19
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
21
* STRICT LIABILITY, OR TOR (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
*
24
*/
25
26
#ifndef TELEM_TEMPLATE_CTXT_H_
27
#define TELEM_TEMPLATE_CTXT_H_
28
29
/* context filled by hardware and stored at the end */
30
typedef
struct
{
31
uint8_t
was_nack
: 1;
/* Signal the reception of a NACK */
32
uint8_t
was_cnp
: 1;
/* Signal the reception of a CNP */
33
uint8_t
rtt_req_to_rtt_sent
: 3;
/* Set between the algorithm's RTT request until the time at which the RTT
34
packet was sent */
35
uint8_t
reserved
: 3;
/* Reserved bits */
36
}
telem_template_flags_t
;
37
38
/* switch telemetry context */
39
typedef
struct
{
40
uint32_t
cur_rate
;
/* Current rate */
41
uint32_t
last_tx_bytes
;
/* Last switch TX bytes */
42
uint32_t
last_switch_tx_timestamp
;
/* Last switch TX timestamp */
43
telem_template_flags_t
flags
;
/* Flags struct */
44
uint8_t
abort_cnt
;
/* Counter of abort RTT requests */
45
uint8_t
rtt_meas_psn
;
/* RTT request sequence number */
46
uint8_t
reserved0
;
/* Reserved bits */
47
uint32_t
start_delay
;
/* The time at which the RTT packet was sent by the NIC's Tx pipe */
48
uint32_t
reserved
[7];
/* Reserved bits */
49
}
cc_ctxt_telem_template_t
;
50
51
/* Switch telemetry format */
52
typedef
union
{
53
uint32_t
_value
;
/* Value */
54
struct
{
55
uint16_t
qlen
;
/* Queue length in cells of 256B */
56
uint8_t
index
;
/* switch index */
57
uint8_t
reserved
: 5;
/* Reserved bits */
58
uint8_t
valid
: 1;
/* Valid flag */
59
uint8_t
port_type
: 2;
/* port type 0 - 25Gbps, 1 - 100Gbps */
60
};
61
}
doca_pcc_dev_switch_telem_extra_t
;
62
63
#endif
/* TELEM_TEMPLATE_CTXT_H_ */
reserved
unsigned char reserved[12]
Definition:
doca_dpa_dev_buf.h:3
cc_ctxt_telem_template_t
Definition:
telem_template_ctxt.h:39
cc_ctxt_telem_template_t::reserved0
uint8_t reserved0
Definition:
telem_template_ctxt.h:46
cc_ctxt_telem_template_t::abort_cnt
uint8_t abort_cnt
Definition:
telem_template_ctxt.h:44
cc_ctxt_telem_template_t::rtt_meas_psn
uint8_t rtt_meas_psn
Definition:
telem_template_ctxt.h:45
cc_ctxt_telem_template_t::flags
telem_template_flags_t flags
Definition:
telem_template_ctxt.h:43
cc_ctxt_telem_template_t::last_switch_tx_timestamp
uint32_t last_switch_tx_timestamp
Definition:
telem_template_ctxt.h:42
cc_ctxt_telem_template_t::start_delay
uint32_t start_delay
Definition:
telem_template_ctxt.h:47
cc_ctxt_telem_template_t::cur_rate
uint32_t cur_rate
Definition:
telem_template_ctxt.h:40
cc_ctxt_telem_template_t::last_tx_bytes
uint32_t last_tx_bytes
Definition:
telem_template_ctxt.h:41
telem_template_flags_t
Definition:
telem_template_ctxt.h:30
telem_template_flags_t::was_cnp
uint8_t was_cnp
Definition:
telem_template_ctxt.h:32
telem_template_flags_t::rtt_req_to_rtt_sent
uint8_t rtt_req_to_rtt_sent
Definition:
telem_template_ctxt.h:33
telem_template_flags_t::was_nack
uint8_t was_nack
Definition:
telem_template_ctxt.h:31
telem_template_flags_t::reserved
uint8_t reserved
Definition:
telem_template_ctxt.h:35
doca_pcc_dev_switch_telem_extra_t
Definition:
telem_template_ctxt.h:52
doca_pcc_dev_switch_telem_extra_t::reserved
uint8_t reserved
Definition:
telem_template_ctxt.h:57
doca_pcc_dev_switch_telem_extra_t::_value
uint32_t _value
Definition:
telem_template_ctxt.h:53
doca_pcc_dev_switch_telem_extra_t::valid
uint8_t valid
Definition:
telem_template_ctxt.h:58
doca_pcc_dev_switch_telem_extra_t::port_type
uint8_t port_type
Definition:
telem_template_ctxt.h:59
doca_pcc_dev_switch_telem_extra_t::qlen
uint16_t qlen
Definition:
telem_template_ctxt.h:55
doca_pcc_dev_switch_telem_extra_t::index
uint8_t index
Definition:
telem_template_ctxt.h:56
applications
pcc
device
rp
switch_telemetry
algo
telem_template_ctxt.h
Generated on Wed Aug 13 2025 09:23:36 for NVIDIA DOCA SDK by
1.9.1