NVIDIA DOCA SDK
Data Center on a Chip Framework Documentation
rtt_template_ctxt.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2023 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 RTT_TEMPLATE_CTXT_H_
27
#define RTT_TEMPLATE_CTXT_H_
28
29
typedef
struct
{
30
uint8_t
was_nack
: 1;
/* Signal the reception of a NACK */
31
uint8_t
was_cnp
: 1;
/* Signal the reception of a CNP */
32
uint8_t
reserved
: 6;
/* Reserved bits */
33
}
rtt_template_flags_t
;
34
35
typedef
struct
{
36
uint32_t
cur_rate
;
/* Current rate */
37
uint32_t
start_delay
;
/* The time at which the RTT packet was sent by the NIC's Tx pipe */
38
uint32_t
rtt
;
/* Value of the last measured round trip time */
39
rtt_template_flags_t
flags
;
/* Flags struct */
40
uint8_t
abort_cnt
;
/* Counter of abort RTT requests */
41
uint8_t
rtt_meas_psn
;
/* RTT request sequence number */
42
uint8_t
rtt_req_to_rtt_sent
;
/* Set between the algorithm's RTT request until the time at which the RTT packet
43
was sent */
44
#ifdef DOCA_PCC_NP_RX_RATE
45
uint32_t last_np_rx_bytes;
/* Last received NP RX bytes */
46
uint32_t last_np_rx_bytes_timestamp_us;
/* Last received NP RX timestamp (usec) */
47
uint32_t
reserved
[6];
/* Reserved bits */
48
#else
49
uint32_t
reserved
[8];
/* Reserved bits */
50
#endif
51
}
cc_ctxt_rtt_template_t
;
52
53
#endif
/* RTT_TEMPLATE_CTXT_H_ */
reserved
unsigned char reserved[12]
Definition:
doca_dpa_dev_buf.h:3
cc_ctxt_rtt_template_t
Definition:
rtt_template_ctxt.h:35
cc_ctxt_rtt_template_t::rtt
uint32_t rtt
Definition:
rtt_template_ctxt.h:38
cc_ctxt_rtt_template_t::rtt_req_to_rtt_sent
uint8_t rtt_req_to_rtt_sent
Definition:
rtt_template_ctxt.h:42
cc_ctxt_rtt_template_t::cur_rate
uint32_t cur_rate
Definition:
rtt_template_ctxt.h:36
cc_ctxt_rtt_template_t::start_delay
uint32_t start_delay
Definition:
rtt_template_ctxt.h:37
cc_ctxt_rtt_template_t::flags
rtt_template_flags_t flags
Definition:
rtt_template_ctxt.h:39
cc_ctxt_rtt_template_t::abort_cnt
uint8_t abort_cnt
Definition:
rtt_template_ctxt.h:40
cc_ctxt_rtt_template_t::rtt_meas_psn
uint8_t rtt_meas_psn
Definition:
rtt_template_ctxt.h:41
rtt_template_flags_t
Definition:
rtt_template_ctxt.h:29
rtt_template_flags_t::was_nack
uint8_t was_nack
Definition:
rtt_template_ctxt.h:30
rtt_template_flags_t::was_cnp
uint8_t was_cnp
Definition:
rtt_template_ctxt.h:31
rtt_template_flags_t::reserved
uint8_t reserved
Definition:
rtt_template_ctxt.h:32
applications
pcc
device
rp
rtt_template
algo
rtt_template_ctxt.h
Generated on Wed Aug 13 2025 09:23:36 for NVIDIA DOCA SDK by
1.9.1