NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
gpu_packet_processing.c File Reference
#include <stdlib.h>
#include <string.h>
#include <rte_ethdev.h>
#include "common.h"
#include "dpdk_tcp/tcp_session_table.h"
#include "dpdk_tcp/tcp_cpu_rss_func.h"
Include dependency graph for gpu_packet_processing.c:

Go to the source code of this file.

Macros

#define SLEEP_IN_NANOS   (10 * 1000) /* Sample the PE every 10 microseconds */
 

Functions

 DOCA_LOG_REGISTER (GPU_PACKET_PROCESSING)
 
void error_send_packet_cb (struct doca_eth_txq_gpu_event_error_send_packet *event_error, union doca_data event_user_data)
 
void debug_send_packet_icmp_cb (struct doca_eth_txq_gpu_event_notify_send_packet *event_notify, union doca_data event_user_data)
 
static uint64_t get_ns (uint64_t *sec)
 
static void stats_core (void *args)
 
static void signal_handler (int signum)
 
int main (int argc, char **argv)
 

Variables

bool force_quit
 
static struct doca_gpu * gpu_dev
 
static struct app_gpu_cfg app_cfg = {0}
 
static struct doca_dev * ddev
 
static uint16_t dpdk_dev_port_id
 
static struct rxq_udp_queues udp_queues
 
static struct rxq_tcp_queues tcp_queues
 
static struct rxq_icmp_queues icmp_queues
 
static struct txq_http_queues http_queues
 
static struct doca_flow_port * df_port
 
static struct doca_pe * pe
 
static uint64_t icmp_last_ping
 

Macro Definition Documentation

◆ SLEEP_IN_NANOS

#define SLEEP_IN_NANOS   (10 * 1000) /* Sample the PE every 10 microseconds */

Definition at line 34 of file gpu_packet_processing.c.

Function Documentation

◆ debug_send_packet_icmp_cb()

void debug_send_packet_icmp_cb ( struct doca_eth_txq_gpu_event_notify_send_packet *  event_notify,
union doca_data  event_user_data 
)

Definition at line 76 of file gpu_packet_processing.c.

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( GPU_PACKET_PROCESSING  )

◆ error_send_packet_cb()

void error_send_packet_cb ( struct doca_eth_txq_gpu_event_error_send_packet *  event_error,
union doca_data  event_user_data 
)

Definition at line 58 of file gpu_packet_processing.c.

◆ get_ns()

static uint64_t get_ns ( uint64_t *  sec)
static

Definition at line 104 of file gpu_packet_processing.c.

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 271 of file gpu_packet_processing.c.

◆ signal_handler()

static void signal_handler ( int  signum)
static

Definition at line 256 of file gpu_packet_processing.c.

◆ stats_core()

static void stats_core ( void *  args)
static

Definition at line 123 of file gpu_packet_processing.c.

Variable Documentation

◆ app_cfg

struct app_gpu_cfg app_cfg = {0}
static

Definition at line 39 of file gpu_packet_processing.c.

◆ ddev

struct doca_dev* ddev
static

Definition at line 41 of file gpu_packet_processing.c.

◆ df_port

struct doca_flow_port* df_port
static

Definition at line 47 of file gpu_packet_processing.c.

◆ dpdk_dev_port_id

uint16_t dpdk_dev_port_id
static

Definition at line 42 of file gpu_packet_processing.c.

◆ force_quit

bool force_quit

Definition at line 38 of file gpu_packet_processing.c.

◆ gpu_dev

struct doca_gpu* gpu_dev
static

Definition at line 39 of file gpu_packet_processing.c.

◆ http_queues

struct txq_http_queues http_queues
static

Definition at line 42 of file gpu_packet_processing.c.

◆ icmp_last_ping

uint64_t icmp_last_ping
static

Definition at line 49 of file gpu_packet_processing.c.

◆ icmp_queues

struct rxq_icmp_queues icmp_queues
static

Definition at line 42 of file gpu_packet_processing.c.

◆ pe

struct doca_pe* pe
static

Definition at line 48 of file gpu_packet_processing.c.

◆ tcp_queues

struct rxq_tcp_queues tcp_queues
static

Definition at line 42 of file gpu_packet_processing.c.

◆ udp_queues

struct rxq_udp_queues udp_queues
static

Definition at line 42 of file gpu_packet_processing.c.