| NVIDIA DOCA SDK | Data Center on a Chip Framework Documentation |

Go to the source code of this file.
Data Structures | |
| struct | telemetry_db_entry_t |
| struct | ifa2_md_hdr |
| struct | switch_md |
| struct | int_response |
Macros | |
| #define | TELEMETRY_DB_LOG_MAX_DEVICES (10) |
| #define | TELEMETRY_DB_LOG_MAX_PORTS_PER_DEVICE (5) |
| #define | TELEMETRY_DB_LOG_SIZE (TELEMETRY_DB_LOG_MAX_DEVICES + TELEMETRY_DB_LOG_MAX_PORTS_PER_DEVICE) |
| #define | TELEMETRY_DB_MASK ((1UL << TELEMETRY_DB_LOG_SIZE) - 1UL) |
| #define | TELEMETRY_DB_SIZE (1UL << TELEMETRY_DB_LOG_SIZE) |
| #define | DB_ENTRY_AGING_TIME (5000000) |
| #define | INVALID_MD_TIME_INTERVAL (2000000000) |
Functions | |
| struct telemetry_db_entry_t | __attribute__ ((aligned(32))) |
| static uint8_t | get_md_num_from_md_hdr (struct ifa2_md_hdr *md_hdr) |
| static uint16_t | telemetry_db_hash (uint32_t device_id, uint16_t port) |
| static uint32_t | telemetry_get_tx_ts_nano (struct switch_md *md) |
| static uint32_t | telemetry_get_tx_bytes (struct switch_md *md) |
| static uint32_t | telemetry_get_q_len (struct switch_md *md) |
| static int | telemetry_process_md (struct switch_md *md, struct int_response *response_pkt) |
| doca_pcc_dev_error_t | doca_pcc_dev_np_user_packet_handler (struct doca_pcc_np_dev_request_packet *in, struct doca_pcc_np_dev_response_packet *out) |
| Main user function (implemented by the user) Called by the lib upon receiving a packet. The user: More... | |
| doca_pcc_dev_error_t | doca_pcc_dev_user_mailbox_handle (void *request, uint32_t request_size, uint32_t max_response_size, void *response, uint32_t *response_size) |
| User callback to process a request from host to device. More... | |
Variables | |
| uint8_t | max_hop_limit |
| uint32_t | mailbox_done = 0 |
| uint32_t | tx_bytes0 |
| uint32_t | tx_ts_nano0 |
| uint32_t | tx_bytes1 |
| uint32_t | tx_ts_nano1 |
| uint32_t | valid |
| uint32_t | last_access_ts |
| uint32_t | rsvd0 |
| uint32_t | rsvd1 |
| struct telemetry_db_entry_t | telemetry_db [TELEMETRY_DB_SIZE] |
| struct ifa2_md_hdr | __attribute__ |
| #define DB_ENTRY_AGING_TIME (5000000) |
Time interval in nanoseconds to filter out metadata that arrived earlier but were processed later due to multithread
Definition at line 42 of file np_switch_telemetry_dev_main.c.
| #define INVALID_MD_TIME_INTERVAL (2000000000) |
Maximum hop limit value for IFA2 header
Definition at line 45 of file np_switch_telemetry_dev_main.c.
| #define TELEMETRY_DB_LOG_MAX_DEVICES (10) |
< Log number of supported switch devices Log number of supported ports per switch device
Definition at line 31 of file np_switch_telemetry_dev_main.c.
| #define TELEMETRY_DB_LOG_MAX_PORTS_PER_DEVICE (5) |
Log size of telemetry database
Definition at line 33 of file np_switch_telemetry_dev_main.c.
| #define TELEMETRY_DB_LOG_SIZE (TELEMETRY_DB_LOG_MAX_DEVICES + TELEMETRY_DB_LOG_MAX_PORTS_PER_DEVICE) |
Telemetry database mask
Definition at line 35 of file np_switch_telemetry_dev_main.c.
| #define TELEMETRY_DB_MASK ((1UL << TELEMETRY_DB_LOG_SIZE) - 1UL) |
Telemetry database size
Definition at line 37 of file np_switch_telemetry_dev_main.c.
| #define TELEMETRY_DB_SIZE (1UL << TELEMETRY_DB_LOG_SIZE) |
Time in microseconds for aged packet
Definition at line 39 of file np_switch_telemetry_dev_main.c.
| struct telemetry_db_entry_t __attribute__ | ( | (aligned(32)) | ) |
Database for storing telemetry metadata for each port and switch
|
inlinestatic |
Definition at line 123 of file np_switch_telemetry_dev_main.c.
|
inlinestatic |
Definition at line 136 of file np_switch_telemetry_dev_main.c.
|
inlinestatic |
Definition at line 172 of file np_switch_telemetry_dev_main.c.
|
inlinestatic |
Definition at line 160 of file np_switch_telemetry_dev_main.c.
|
inlinestatic |
Definition at line 148 of file np_switch_telemetry_dev_main.c.
|
inlinestatic |
Definition at line 192 of file np_switch_telemetry_dev_main.c.
| struct ifa2_md_hdr __attribute__ |
Switch metadata
| uint32_t last_access_ts |
Definition at line 5 of file np_switch_telemetry_dev_main.c.
| uint32_t mailbox_done = 0 |
Definition at line 48 of file np_switch_telemetry_dev_main.c.
| uint8_t max_hop_limit |
Flag to indicate that the mailbox operation has completed
Definition at line 46 of file np_switch_telemetry_dev_main.c.
| uint32_t rsvd0 |
Definition at line 6 of file np_switch_telemetry_dev_main.c.
| uint32_t rsvd1 |
Definition at line 7 of file np_switch_telemetry_dev_main.c.
| struct telemetry_db_entry_t telemetry_db[TELEMETRY_DB_SIZE] |
IFA2 metadata header
Definition at line 48 of file np_switch_telemetry_dev_main.c.
| uint32_t tx_bytes0 |
Definition at line 0 of file np_switch_telemetry_dev_main.c.
| uint32_t tx_bytes1 |
Definition at line 2 of file np_switch_telemetry_dev_main.c.
| uint32_t tx_ts_nano0 |
Definition at line 1 of file np_switch_telemetry_dev_main.c.
| uint32_t tx_ts_nano1 |
Definition at line 3 of file np_switch_telemetry_dev_main.c.
| uint32_t valid |
Definition at line 4 of file np_switch_telemetry_dev_main.c.