NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
DOCA PCC Device Event
Collaboration diagram for DOCA PCC Device Event:

Functions

DOCA_STABLE FORCE_INLINE doca_pcc_dev_event_general_attr_t doca_pcc_dev_get_ev_attr (doca_pcc_dev_event_t *event)
 For all events, return structure with general information such as event type, subtype, port and flags. More...
 
DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_flowtag (doca_pcc_dev_event_t *event)
 For all events, flow tag to indicate different flows. More...
 
DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_sn (doca_pcc_dev_event_t *event)
 For all events, serial number of this event. More...
 
DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_timestamp (doca_pcc_dev_event_t *event)
 For all events, timestamp of this event. More...
 
FORCE_INLINE uint32_t doca_pcc_dev_get_ttl_hoplimit (__attribute__((unused)) doca_pcc_dev_event_t *event)
 For all events, TTL (for IPv4) or HopLimit (for IPv6) header’s field in received packet. More...
 
FORCE_INLINE uint32_t doca_pcc_dev_get_flow_qpn (doca_pcc_dev_event_t *event)
 For all events, return flow qpn (CX8+ all events, BF3 tx event only) More...
 
DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_fw_settings (doca_pcc_dev_event_t *event, int n)
 For FW events only, three DWORDs of FW data. More...
 
DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_roce_first_timestamp (doca_pcc_dev_event_t *event)
 For TX/ACK/NACK/CNP events, first coalesced event timestamp. More...
 
DOCA_STABLE FORCE_INLINE doca_pcc_dev_roce_tx_cntrs_t doca_pcc_dev_get_roce_tx_cntrs (doca_pcc_dev_event_t *event)
 For TX events only, counters including byte count and packet count. More...
 
DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_roce_ack_first_sn (doca_pcc_dev_event_t *event)
 For ACK/NACK/CNP events, first coalesced event serial number. More...
 
DOCA_STABLE FORCE_INLINE doca_pcc_dev_ack_nack_cnp_extra_t doca_pcc_dev_get_ack_nack_cnp_extra (doca_pcc_dev_event_t *event)
 For ACK/NACK/CNP events, extra information including number of coalesced events. More...
 
DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_req_send_timestamp (doca_pcc_dev_event_t *event)
 For RTT events only, the time when RTT request is sent. More...
 
DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_req_recv_timestamp (doca_pcc_dev_event_t *event)
 For RTT events only, the time when RTT request is received. More...
 
DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_resp_send_timestamp (doca_pcc_dev_event_t *event)
 For RTT events only, the time when RTT response is sent. More...
 
DOCA_EXPERIMENTAL FORCE_INLINE unsigned char * doca_pcc_dev_get_rtt_raw_data (doca_pcc_dev_event_t *event)
 Returns the user defined event data. More...
 
DOCA_EXPERIMENTAL FORCE_INLINE size_t doca_pcc_dev_get_rtt_raw_data_size (doca_pcc_dev_event_t *event)
 Returns the user defined event data size in bytes. More...
 
FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_np_rx_byte_counter (__attribute__((unused)) doca_pcc_dev_event_t *event)
 For rtt event, np port rx byte counter in units of 256 bytes. More...
 
FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_resp_version (__attribute__((unused)) doca_pcc_dev_event_t *event)
 For rtt event, rtt version. More...
 
FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_resp_port_type (__attribute__((unused)) doca_pcc_dev_event_t *event)
 For rtt event, port type: 0 - 25G, 1 - 40G, 2 - 50G, 3 - 100G, 4 - 200G, 5 - 400G, 6 - 800G. More...
 

Detailed Description

Function Documentation

◆ doca_pcc_dev_get_ack_nack_cnp_extra()

DOCA_STABLE FORCE_INLINE doca_pcc_dev_ack_nack_cnp_extra_t doca_pcc_dev_get_ack_nack_cnp_extra ( doca_pcc_dev_event_t event)

For ACK/NACK/CNP events, extra information including number of coalesced events.

Parameters
[in]event- pointer to opaque event struct
Returns
pcc_ack_nack_cnp_extra_t

Definition at line 188 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_ev_attr()

For all events, return structure with general information such as event type, subtype, port and flags.

Parameters
[in]event- pointer to opaque event struct
Returns
doca_pcc_dev_event_general_attr_t

Definition at line 41 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_flow_qpn()

FORCE_INLINE uint32_t doca_pcc_dev_get_flow_qpn ( doca_pcc_dev_event_t event)

For all events, return flow qpn (CX8+ all events, BF3 tx event only)

Parameters
[in]event- pointer to opaque event struct
Returns
flow_qpn

Definition at line 112 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_flowtag()

DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_flowtag ( doca_pcc_dev_event_t event)

For all events, flow tag to indicate different flows.

Parameters
[in]event- pointer to opaque event structs
Returns
32 bit flow_tag

Definition at line 56 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_fw_settings()

DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_fw_settings ( doca_pcc_dev_event_t event,
int  n 
)

For FW events only, three DWORDs of FW data.

Parameters
[in]event- pointer to opaque event struct
[in]n- dword index 0..2
Returns
32 bit DWORD information from FW

Definition at line 134 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_roce_ack_first_sn()

DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_roce_ack_first_sn ( doca_pcc_dev_event_t event)

For ACK/NACK/CNP events, first coalesced event serial number.

Parameters
[in]event- pointer to opaque event struct
Returns
32 bit first serial number

Definition at line 175 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_roce_first_timestamp()

DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_roce_first_timestamp ( doca_pcc_dev_event_t event)

For TX/ACK/NACK/CNP events, first coalesced event timestamp.

Parameters
[in]event- pointer to opaque event struct
Returns
32 bit first time stamp (1 nSec granularity)

Definition at line 147 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_roce_tx_cntrs()

DOCA_STABLE FORCE_INLINE doca_pcc_dev_roce_tx_cntrs_t doca_pcc_dev_get_roce_tx_cntrs ( doca_pcc_dev_event_t event)

For TX events only, counters including byte count and packet count.

Parameters
[in]event- pointer to opaque event struct
Returns
pcc_roce_tx_cntrs_t

Definition at line 160 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_rtt_np_rx_byte_counter()

FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_np_rx_byte_counter ( __attribute__((unused)) doca_pcc_dev_event_t event)

For rtt event, np port rx byte counter in units of 256 bytes.

Note
supported for rtt response version bigger than 0.
See also
doca_pcc_dev_get_rtt_resp_version()
Parameters
[in]event- pointer to opaque event struct
Returns
np_rx_port_counter

Definition at line 284 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_rtt_raw_data()

DOCA_EXPERIMENTAL FORCE_INLINE unsigned char* doca_pcc_dev_get_rtt_raw_data ( doca_pcc_dev_event_t event)

Returns the user defined event data.

This function is to be used together with a custom user NP implementation. The user can define a custom data format in the probe response packet.

Note
that no endianness swap is performed by the function.
Parameters
[in]event- pointer to opaque event struct
Returns
A pointer to the user defined event data

Definition at line 260 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_rtt_raw_data_size()

DOCA_EXPERIMENTAL FORCE_INLINE size_t doca_pcc_dev_get_rtt_raw_data_size ( doca_pcc_dev_event_t event)

Returns the user defined event data size in bytes.

Definition at line 269 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_rtt_req_recv_timestamp()

DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_req_recv_timestamp ( doca_pcc_dev_event_t event)

For RTT events only, the time when RTT request is received.

Parameters
[in]event- pointer to opaque event struct
Returns
time stamp in 1 nSec

Definition at line 220 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_rtt_req_send_timestamp()

DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_req_send_timestamp ( doca_pcc_dev_event_t event)

For RTT events only, the time when RTT request is sent.

Parameters
[in]event- pointer to opaque event struct
Returns
time stamp in 1 nSec

Definition at line 203 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_rtt_resp_port_type()

FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_resp_port_type ( __attribute__((unused)) doca_pcc_dev_event_t event)

For rtt event, port type: 0 - 25G, 1 - 40G, 2 - 50G, 3 - 100G, 4 - 200G, 5 - 400G, 6 - 800G.

Parameters
[in]event- pointer to opaque event struct
Returns
port_type

Definition at line 320 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_rtt_resp_send_timestamp()

DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_resp_send_timestamp ( doca_pcc_dev_event_t event)

For RTT events only, the time when RTT response is sent.

Parameters
[in]event- pointer to opaque event struct
Returns
time stamp in 1 nSec

Definition at line 237 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_rtt_resp_version()

FORCE_INLINE uint32_t doca_pcc_dev_get_rtt_resp_version ( __attribute__((unused)) doca_pcc_dev_event_t event)

For rtt event, rtt version.

Parameters
[in]event- pointer to opaque event struct
Returns
version

Definition at line 302 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_sn()

DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_sn ( doca_pcc_dev_event_t event)

For all events, serial number of this event.

Parameters
[in]event- pointer to opaque event struct
Returns
32 bit sn

Definition at line 69 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_timestamp()

DOCA_STABLE FORCE_INLINE uint32_t doca_pcc_dev_get_timestamp ( doca_pcc_dev_event_t event)

For all events, timestamp of this event.

Parameters
[in]event- pointer to opaque event struct
Returns
32 bit time stamp (1 nSec granularity)

Definition at line 82 of file doca_pcc_dev_event.h.

◆ doca_pcc_dev_get_ttl_hoplimit()

FORCE_INLINE uint32_t doca_pcc_dev_get_ttl_hoplimit ( __attribute__((unused)) doca_pcc_dev_event_t event)

For all events, TTL (for IPv4) or HopLimit (for IPv6) header’s field in received packet.

Parameters
[in]event- pointer to opaque event struct
Returns
ttl_hoplimit

Definition at line 94 of file doca_pcc_dev_event.h.