NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
common.h File Reference
Include dependency graph for common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  app_gpu_cfg
 
struct  rxq_tcp_queues
 
struct  rxq_udp_queues
 
struct  rxq_icmp_queues
 
struct  tx_buf
 
struct  txq_http_queues
 
struct  stats_tcp
 
struct  stats_udp
 
struct  info_http
 

Functions

doca_error_t register_application_params (void)
 
doca_error_t init_doca_device (char *nic_pcie_addr, struct doca_dev **ddev, uint16_t *dpdk_port_id)
 
struct doca_flow_port * init_doca_flow (uint16_t port_id, uint8_t rxq_num)
 
doca_error_t create_udp_pipe (struct rxq_udp_queues *udp_queues, struct doca_flow_port *port)
 
doca_error_t create_tcp_cpu_pipe (struct rxq_tcp_queues *tcp_queues, struct doca_flow_port *port)
 
doca_error_t create_tcp_gpu_pipe (struct rxq_tcp_queues *tcp_queues, struct doca_flow_port *port, bool connection_based_flows)
 
doca_error_t create_icmp_gpu_pipe (struct rxq_icmp_queues *icmp_queues, struct doca_flow_port *port)
 
doca_error_t create_root_pipe (struct rxq_udp_queues *udp_queues, struct rxq_tcp_queues *tcp_queues, struct rxq_icmp_queues *icmp_queues, struct doca_flow_port *port)
 
doca_error_t destroy_flow_queue (struct doca_flow_port *port_df, struct rxq_icmp_queues *icmp_queues, struct rxq_udp_queues *udp_queues, struct rxq_tcp_queues *tcp_queues, bool http_server, struct txq_http_queues *http_queues)
 
doca_error_t enable_tcp_gpu_offload (struct doca_flow_port *port, uint16_t queue_id, struct doca_flow_pipe *gpu_rss_pipe, struct tcp_session_entry *session_entry)
 
doca_error_t disable_tcp_gpu_offload (struct doca_flow_port *port, uint16_t queue_id, struct tcp_session_entry *session_entry)
 
doca_error_t create_tcp_queues (struct rxq_tcp_queues *tcp_queues, struct doca_flow_port *df_port, struct doca_gpu *gpu_dev, struct doca_dev *ddev, uint32_t queue_num, uint32_t sem_num, bool http_server, struct txq_http_queues *http_queues, struct doca_pe *pe, doca_eth_txq_gpu_event_error_send_packet_cb_t event_error_send_packet_cb)
 
doca_error_t destroy_tcp_queues (struct rxq_tcp_queues *tcp_queues, bool http_server, struct txq_http_queues *http_queues)
 
doca_error_t create_udp_queues (struct rxq_udp_queues *udp_queues, struct doca_flow_port *df_port, struct doca_gpu *gpu_dev, struct doca_dev *ddev, uint32_t queue_num, uint32_t sem_num)
 
doca_error_t destroy_udp_queues (struct rxq_udp_queues *udp_queues)
 
doca_error_t create_icmp_queues (struct rxq_icmp_queues *icmp_queues, struct doca_flow_port *df_port, struct doca_gpu *gpu_dev, struct doca_dev *ddev, uint32_t queue_num, struct doca_pe *pe, doca_eth_txq_gpu_event_error_send_packet_cb_t event_error_send_packet_cb, doca_eth_txq_gpu_event_notify_send_packet_cb_t event_notify_send_packet_cb)
 
doca_error_t destroy_icmp_queues (struct rxq_icmp_queues *icmp_queues)
 
doca_error_t create_tx_buf (struct tx_buf *buf, struct doca_gpu *gpu_dev, struct doca_dev *ddev, uint32_t num_packets, uint32_t max_pkt_sz)
 
doca_error_t destroy_tx_buf (struct tx_buf *buf)
 
doca_error_t prepare_tx_buf (struct tx_buf *buf, enum http_page_get page_type)
 
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)
 
doca_error_t kernel_receive_tcp (cudaStream_t stream, uint32_t *exit_cond, struct rxq_tcp_queues *tcp_queues, bool http_server)
 
doca_error_t kernel_receive_udp (cudaStream_t stream, uint32_t *exit_cond, struct rxq_udp_queues *udp_queues)
 
doca_error_t kernel_receive_icmp (cudaStream_t stream, uint32_t *exit_cond, struct rxq_icmp_queues *icmp_queues)
 
doca_error_t kernel_http_server (cudaStream_t stream, uint32_t *exit_cond, struct rxq_tcp_queues *tcp_queues, struct txq_http_queues *http_queues)
 

Variables

bool force_quit
 

Function Documentation

◆ create_icmp_gpu_pipe()

doca_error_t create_icmp_gpu_pipe ( struct rxq_icmp_queues icmp_queues,
struct doca_flow_port *  port 
)

Definition at line 526 of file flow.c.

◆ create_icmp_queues()

doca_error_t create_icmp_queues ( struct rxq_icmp_queues icmp_queues,
struct doca_flow_port *  df_port,
struct doca_gpu *  gpu_dev,
struct doca_dev *  ddev,
uint32_t  queue_num,
struct doca_pe *  pe,
doca_eth_txq_gpu_event_error_send_packet_cb_t  event_error_send_packet_cb,
doca_eth_txq_gpu_event_notify_send_packet_cb_t  event_notify_send_packet_cb 
)

Definition at line 34 of file icmp_queues.c.

◆ create_root_pipe()

doca_error_t create_root_pipe ( struct rxq_udp_queues udp_queues,
struct rxq_tcp_queues tcp_queues,
struct rxq_icmp_queues icmp_queues,
struct doca_flow_port *  port 
)

Definition at line 632 of file flow.c.

◆ create_tcp_cpu_pipe()

doca_error_t create_tcp_cpu_pipe ( struct rxq_tcp_queues tcp_queues,
struct doca_flow_port *  port 
)

Definition at line 280 of file flow.c.

◆ create_tcp_gpu_pipe()

doca_error_t create_tcp_gpu_pipe ( struct rxq_tcp_queues tcp_queues,
struct doca_flow_port *  port,
bool  connection_based_flows 
)

Definition at line 395 of file flow.c.

◆ create_tcp_queues()

doca_error_t create_tcp_queues ( struct rxq_tcp_queues tcp_queues,
struct doca_flow_port *  df_port,
struct doca_gpu *  gpu_dev,
struct doca_dev *  ddev,
uint32_t  queue_num,
uint32_t  sem_num,
bool  http_server,
struct txq_http_queues http_queues,
struct doca_pe *  pe,
doca_eth_txq_gpu_event_error_send_packet_cb_t  event_error_send_packet_cb 
)

Definition at line 36 of file tcp_queues.c.

◆ create_tx_buf()

doca_error_t create_tx_buf ( struct tx_buf buf,
struct doca_gpu *  gpu_dev,
struct doca_dev *  ddev,
uint32_t  num_packets,
uint32_t  max_pkt_sz 
)

Definition at line 97 of file http_txbuf.c.

◆ create_udp_pipe()

doca_error_t create_udp_pipe ( struct rxq_udp_queues udp_queues,
struct doca_flow_port *  port 
)

Definition at line 176 of file flow.c.

◆ create_udp_queues()

doca_error_t create_udp_queues ( struct rxq_udp_queues udp_queues,
struct doca_flow_port *  df_port,
struct doca_gpu *  gpu_dev,
struct doca_dev *  ddev,
uint32_t  queue_num,
uint32_t  sem_num 
)

Definition at line 34 of file udp_queues.c.

◆ 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.

◆ destroy_flow_queue()

doca_error_t destroy_flow_queue ( struct doca_flow_port *  port_df,
struct rxq_icmp_queues icmp_queues,
struct rxq_udp_queues udp_queues,
struct rxq_tcp_queues tcp_queues,
bool  http_server,
struct txq_http_queues http_queues 
)

Definition at line 944 of file flow.c.

◆ destroy_icmp_queues()

doca_error_t destroy_icmp_queues ( struct rxq_icmp_queues icmp_queues)

Definition at line 291 of file icmp_queues.c.

◆ destroy_tcp_queues()

doca_error_t destroy_tcp_queues ( struct rxq_tcp_queues tcp_queues,
bool  http_server,
struct txq_http_queues http_queues 
)

Definition at line 485 of file tcp_queues.c.

◆ destroy_tx_buf()

doca_error_t destroy_tx_buf ( struct tx_buf buf)

Definition at line 287 of file http_txbuf.c.

◆ destroy_udp_queues()

doca_error_t destroy_udp_queues ( struct rxq_udp_queues udp_queues)

Definition at line 271 of file udp_queues.c.

◆ disable_tcp_gpu_offload()

doca_error_t disable_tcp_gpu_offload ( struct doca_flow_port *  port,
uint16_t  queue_id,
struct tcp_session_entry session_entry 
)

Definition at line 901 of file flow.c.

◆ enable_tcp_gpu_offload()

doca_error_t enable_tcp_gpu_offload ( struct doca_flow_port *  port,
uint16_t  queue_id,
struct doca_flow_pipe *  gpu_rss_pipe,
struct tcp_session_entry session_entry 
)

Definition at line 841 of file flow.c.

◆ 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.

◆ init_doca_device()

doca_error_t init_doca_device ( char *  nic_pcie_addr,
struct doca_dev **  ddev,
uint16_t *  dpdk_port_id 
)

Definition at line 80 of file device.c.

◆ init_doca_flow()

struct doca_flow_port* init_doca_flow ( uint16_t  port_id,
uint8_t  rxq_num 
)

Definition at line 37 of file flow.c.

◆ kernel_http_server()

doca_error_t kernel_http_server ( cudaStream_t  stream,
uint32_t *  exit_cond,
struct rxq_tcp_queues tcp_queues,
struct txq_http_queues http_queues 
)

◆ kernel_receive_icmp()

doca_error_t kernel_receive_icmp ( cudaStream_t  stream,
uint32_t *  exit_cond,
struct rxq_icmp_queues icmp_queues 
)

◆ kernel_receive_tcp()

doca_error_t kernel_receive_tcp ( cudaStream_t  stream,
uint32_t *  exit_cond,
struct rxq_tcp_queues tcp_queues,
bool  http_server 
)

◆ kernel_receive_udp()

doca_error_t kernel_receive_udp ( cudaStream_t  stream,
uint32_t *  exit_cond,
struct rxq_udp_queues udp_queues 
)

◆ prepare_tx_buf()

doca_error_t prepare_tx_buf ( struct tx_buf buf,
enum http_page_get  page_type 
)

Definition at line 217 of file http_txbuf.c.

◆ register_application_params()

doca_error_t register_application_params ( void  )

Definition at line 120 of file args.c.

Variable Documentation

◆ force_quit

bool force_quit
extern

Definition at line 38 of file gpu_packet_processing.c.