NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
upf_accel_json_parser.c File Reference
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <arpa/inet.h>
#include <json-c/json.h>
#include <rte_byteorder.h>
#include <doca_error.h>
#include <doca_log.h>
#include "upf_accel.h"
Include dependency graph for upf_accel_json_parser.c:

Go to the source code of this file.

Functions

 DOCA_LOG_REGISTER (UPF_ACCEL::JSON_PARSER)
 
static doca_error_t upf_accel_json_u64_parse (struct json_object *container, const char *name, uint64_t *val)
 
static doca_error_t upf_accel_json_u64_from_string_parse (struct json_object *container, const char *name, uint64_t *val)
 
static doca_error_t upf_accel_json_u32_parse (struct json_object *container, const char *name, uint32_t *val)
 
static doca_error_t upf_accel_json_u32_arr_parse (struct json_object *container, const char *name, size_t val_size, uint32_t *val, uint32_t *val_num)
 
static doca_error_t upf_accel_json_u8_parse (struct json_object *container, const char *name, uint8_t *val)
 
static doca_error_t upf_accel_json_u8_from_string_parse (struct json_object *container, const char *name, uint8_t *val)
 
static doca_error_t upf_accel_json_mac_from_string_parse (struct json_object *container, const char *name, uint8_t val[DOCA_FLOW_ETHER_ADDR_LEN])
 
static doca_error_t upf_accel_json_string_parse (struct json_object *container, const char *name, char *val, size_t val_len)
 
static doca_error_t upf_accel_str_to_ip_netmask_parse (const char *str_addr, struct upf_accel_ip_addr *val)
 
static doca_error_t upf_accel_str_to_port_range_parse (const char *str_port, struct upf_accel_ip_port_range *val)
 
static doca_error_t upf_accel_json_ip_parse (struct json_object *container, const char *name, struct upf_accel_ip_addr *val)
 
static doca_error_t upf_accel_local_fteid_parse (struct json_object *local_fteid, struct upf_accel_pdr *upf_accel_pdr)
 
static doca_error_t upf_accel_ue_parse (struct json_object *ue, struct upf_accel_pdr *upf_accel_pdr)
 
static doca_error_t upf_accel_str_to_proto_parse (const char *str_proto, uint16_t *val)
 
static doca_error_t upf_accel_sdf_parse (struct json_object *sdf_arr, struct upf_accel_pdr *upf_accel_pdr)
 
static doca_error_t upf_accel_pdi_parse (struct json_object *pdi, struct upf_accel_pdr *upf_accel_pdr)
 
static doca_error_t upf_accel_pdr_parse (struct json_object *pdr_arr, struct upf_accel_config *cfg)
 
static void upf_accel_pdr_cleanup (struct upf_accel_config *cfg)
 
static doca_error_t upf_accel_oh_parse (struct json_object *oh, struct upf_accel_far *upf_accel_far)
 
static doca_error_t upf_accel_fp_parse (struct json_object *fp, struct upf_accel_far *upf_accel_far)
 
static doca_error_t upf_accel_far_parse (struct json_object *far_arr, struct upf_accel_config *cfg)
 
static void upf_accel_far_cleanup (struct upf_accel_config *cfg)
 
static doca_error_t upf_accel_volume_quota_parse (struct json_object *volume_quota, struct upf_accel_urr *upf_accel_urr)
 
static doca_error_t upf_accel_urr_parse (struct json_object *urr_arr, struct upf_accel_config *cfg)
 
static void upf_accel_urr_cleanup (struct upf_accel_config *cfg)
 
static doca_error_t upf_accel_mbr_parse (struct json_object *mbr, struct upf_accel_qer *upf_accel_qer)
 
static doca_error_t upf_accel_qer_parse (struct json_object *qer_arr, struct upf_accel_config *cfg)
 
static void upf_accel_qer_cleanup (struct upf_accel_config *cfg)
 
doca_error_t upf_accel_smf_parse (struct upf_accel_config *cfg)
 
void upf_accel_smf_cleanup (struct upf_accel_config *cfg)
 
static doca_error_t upf_accel_vxlan_arr_parse (struct json_object *vxlan_arr, struct upf_accel_config *cfg)
 
static void upf_accel_vxlan_arr_cleanup (struct upf_accel_config *cfg)
 
doca_error_t upf_accel_vxlan_parse (struct upf_accel_config *cfg)
 
void upf_accel_vxlan_cleanup (struct upf_accel_config *cfg)
 

Function Documentation

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( UPF_ACCEL::JSON_PARSER  )

◆ upf_accel_far_cleanup()

static void upf_accel_far_cleanup ( struct upf_accel_config cfg)
static

Definition at line 843 of file upf_accel_json_parser.c.

◆ upf_accel_far_parse()

static doca_error_t upf_accel_far_parse ( struct json_object *  far_arr,
struct upf_accel_config cfg 
)
static

Definition at line 784 of file upf_accel_json_parser.c.

◆ upf_accel_fp_parse()

static doca_error_t upf_accel_fp_parse ( struct json_object *  fp,
struct upf_accel_far upf_accel_far 
)
static

Definition at line 765 of file upf_accel_json_parser.c.

◆ upf_accel_json_ip_parse()

static doca_error_t upf_accel_json_ip_parse ( struct json_object *  container,
const char *  name,
struct upf_accel_ip_addr val 
)
static

Definition at line 374 of file upf_accel_json_parser.c.

◆ upf_accel_json_mac_from_string_parse()

static doca_error_t upf_accel_json_mac_from_string_parse ( struct json_object *  container,
const char *  name,
uint8_t  val[DOCA_FLOW_ETHER_ADDR_LEN] 
)
static

Definition at line 250 of file upf_accel_json_parser.c.

◆ upf_accel_json_string_parse()

static doca_error_t upf_accel_json_string_parse ( struct json_object *  container,
const char *  name,
char *  val,
size_t  val_len 
)
static

Definition at line 298 of file upf_accel_json_parser.c.

◆ upf_accel_json_u32_arr_parse()

static doca_error_t upf_accel_json_u32_arr_parse ( struct json_object *  container,
const char *  name,
size_t  val_size,
uint32_t *  val,
uint32_t *  val_num 
)
static

Definition at line 132 of file upf_accel_json_parser.c.

◆ upf_accel_json_u32_parse()

static doca_error_t upf_accel_json_u32_parse ( struct json_object *  container,
const char *  name,
uint32_t *  val 
)
static

Definition at line 106 of file upf_accel_json_parser.c.

◆ upf_accel_json_u64_from_string_parse()

static doca_error_t upf_accel_json_u64_from_string_parse ( struct json_object *  container,
const char *  name,
uint64_t *  val 
)
static

Definition at line 74 of file upf_accel_json_parser.c.

◆ upf_accel_json_u64_parse()

static doca_error_t upf_accel_json_u64_parse ( struct json_object *  container,
const char *  name,
uint64_t *  val 
)
static

Definition at line 49 of file upf_accel_json_parser.c.

◆ upf_accel_json_u8_from_string_parse()

static doca_error_t upf_accel_json_u8_from_string_parse ( struct json_object *  container,
const char *  name,
uint8_t *  val 
)
static

Definition at line 217 of file upf_accel_json_parser.c.

◆ upf_accel_json_u8_parse()

static doca_error_t upf_accel_json_u8_parse ( struct json_object *  container,
const char *  name,
uint8_t *  val 
)
static

Definition at line 184 of file upf_accel_json_parser.c.

◆ upf_accel_local_fteid_parse()

static doca_error_t upf_accel_local_fteid_parse ( struct json_object *  local_fteid,
struct upf_accel_pdr upf_accel_pdr 
)
static

Definition at line 412 of file upf_accel_json_parser.c.

◆ upf_accel_mbr_parse()

static doca_error_t upf_accel_mbr_parse ( struct json_object *  mbr,
struct upf_accel_qer upf_accel_qer 
)
static

Definition at line 945 of file upf_accel_json_parser.c.

◆ upf_accel_oh_parse()

static doca_error_t upf_accel_oh_parse ( struct json_object *  oh,
struct upf_accel_far upf_accel_far 
)
static

Definition at line 744 of file upf_accel_json_parser.c.

◆ upf_accel_pdi_parse()

static doca_error_t upf_accel_pdi_parse ( struct json_object *  pdi,
struct upf_accel_pdr upf_accel_pdr 
)
static

Definition at line 578 of file upf_accel_json_parser.c.

◆ upf_accel_pdr_cleanup()

static void upf_accel_pdr_cleanup ( struct upf_accel_config cfg)
static

Definition at line 731 of file upf_accel_json_parser.c.

◆ upf_accel_pdr_parse()

static doca_error_t upf_accel_pdr_parse ( struct json_object *  pdr_arr,
struct upf_accel_config cfg 
)
static

Definition at line 625 of file upf_accel_json_parser.c.

◆ upf_accel_qer_cleanup()

static void upf_accel_qer_cleanup ( struct upf_accel_config cfg)
static

Definition at line 1031 of file upf_accel_json_parser.c.

◆ upf_accel_qer_parse()

static doca_error_t upf_accel_qer_parse ( struct json_object *  qer_arr,
struct upf_accel_config cfg 
)
static

Definition at line 961 of file upf_accel_json_parser.c.

◆ upf_accel_sdf_parse()

static doca_error_t upf_accel_sdf_parse ( struct json_object *  sdf_arr,
struct upf_accel_pdr upf_accel_pdr 
)
static

Definition at line 466 of file upf_accel_json_parser.c.

◆ upf_accel_smf_cleanup()

void upf_accel_smf_cleanup ( struct upf_accel_config cfg)

Definition at line 1121 of file upf_accel_json_parser.c.

◆ upf_accel_smf_parse()

doca_error_t upf_accel_smf_parse ( struct upf_accel_config cfg)

Definition at line 1043 of file upf_accel_json_parser.c.

◆ upf_accel_str_to_ip_netmask_parse()

static doca_error_t upf_accel_str_to_ip_netmask_parse ( const char *  str_addr,
struct upf_accel_ip_addr val 
)
static

Definition at line 329 of file upf_accel_json_parser.c.

◆ upf_accel_str_to_port_range_parse()

static doca_error_t upf_accel_str_to_port_range_parse ( const char *  str_port,
struct upf_accel_ip_port_range val 
)
static

Definition at line 349 of file upf_accel_json_parser.c.

◆ upf_accel_str_to_proto_parse()

static doca_error_t upf_accel_str_to_proto_parse ( const char *  str_proto,
uint16_t *  val 
)
static

Definition at line 441 of file upf_accel_json_parser.c.

◆ upf_accel_ue_parse()

static doca_error_t upf_accel_ue_parse ( struct json_object *  ue,
struct upf_accel_pdr upf_accel_pdr 
)
static

Definition at line 429 of file upf_accel_json_parser.c.

◆ upf_accel_urr_cleanup()

static void upf_accel_urr_cleanup ( struct upf_accel_config cfg)
static

Definition at line 932 of file upf_accel_json_parser.c.

◆ upf_accel_urr_parse()

static doca_error_t upf_accel_urr_parse ( struct json_object *  urr_arr,
struct upf_accel_config cfg 
)
static

Definition at line 872 of file upf_accel_json_parser.c.

◆ upf_accel_volume_quota_parse()

static doca_error_t upf_accel_volume_quota_parse ( struct json_object *  volume_quota,
struct upf_accel_urr upf_accel_urr 
)
static

Definition at line 856 of file upf_accel_json_parser.c.

◆ upf_accel_vxlan_arr_cleanup()

static void upf_accel_vxlan_arr_cleanup ( struct upf_accel_config cfg)
static

Definition at line 1206 of file upf_accel_json_parser.c.

◆ upf_accel_vxlan_arr_parse()

static doca_error_t upf_accel_vxlan_arr_parse ( struct json_object *  vxlan_arr,
struct upf_accel_config cfg 
)
static

Definition at line 1136 of file upf_accel_json_parser.c.

◆ upf_accel_vxlan_cleanup()

void upf_accel_vxlan_cleanup ( struct upf_accel_config cfg)

Definition at line 1254 of file upf_accel_json_parser.c.

◆ upf_accel_vxlan_parse()

doca_error_t upf_accel_vxlan_parse ( struct upf_accel_config cfg)

Definition at line 1218 of file upf_accel_json_parser.c.