|
| #define | BE_IPV4_ADDR(a, b, c, d) (RTE_BE32(((uint32_t)a << 24) + (b << 16) + (c << 8) + d)) |
| |
| #define | SET_MAC_ADDR(addr, a, b, c, d, e, f) |
| |
| #define | SET_L4_PORT(layer, port, value) |
| |
| #define | GET_FT_ENTRY(ctx) container_of(ctx, struct simple_fwd_ft_entry, user_ctx) |
| |
| #define | PULL_TIME_OUT 10000 /* Maximum timeout for pulling */ |
| |
| #define | NB_ACTION_ARRAY (1) /* Used as the size of muti-actions array for DOCA Flow API */ |
| |
| #define | NB_ACTION_DESC (1) /* Used as the size of muti-action descs array for DOCA Flow API */ |
| |
| #define | MAX_HANDLING_TIME_MS 10 /*ms*/ |
| |
|
| | DOCA_LOG_REGISTER (SIMPLE_FWD) |
| |
| static void | simple_fwd_check_for_valid_entry (struct doca_flow_pipe_entry *entry, uint16_t pipe_queue, enum doca_flow_entry_status status, enum doca_flow_entry_op op, void *user_ctx) |
| |
| static int | simple_fwd_init_doca_flow (int nb_queues, const char *mode, uint32_t nr_counters, uint32_t nr_meters) |
| |
| static struct doca_flow_port * | simple_fwd_create_doca_flow_port (int port_id) |
| |
| static void | simple_fwd_stop_doca_flow_ports (int nb_ports, struct doca_flow_port *ports[]) |
| |
| static int | simple_fwd_init_doca_flow_ports (int nb_ports, struct doca_flow_port *ports[], bool is_hairpin) |
| |
| static void | simple_fwd_aged_flow_cb (struct simple_fwd_ft_user_ctx *ctx) |
| |
| static int | simple_fwd_destroy_ins (void) |
| |
| static int | simple_fwd_destroy (void) |
| |
| static int | simple_fwd_create_ins (struct simple_fwd_port_cfg *port_cfg) |
| |
| static int | simple_fwd_build_rss_flow (uint16_t port_id) |
| |
| static int | simple_fwd_build_hairpin_flow (uint16_t port_id) |
| |
| static void | simple_fwd_build_fwd (struct simple_fwd_port_cfg *port_cfg, struct doca_flow_fwd *fwd) |
| |
| static void | simple_fwd_build_pipe_common_match_fields (struct doca_flow_match *match) |
| |
| static int | simple_fwd_create_match_pipe (struct simple_fwd_port_cfg *port_cfg, enum doca_flow_tun_type type) |
| |
| static int | simple_fwd_create_control_pipe (struct simple_fwd_port_cfg *port_cfg) |
| |
| static int | simple_fwd_add_control_pipe_entries (struct simple_fwd_port_cfg *port_cfg) |
| |
| static doca_error_t | simple_fwd_create_vxlan_encap_pipe (struct simple_fwd_port_cfg *port_cfg) |
| |
| static doca_error_t | simple_fwd_add_vxlan_encap_pipe_entry (struct simple_fwd_port_cfg *port_cfg) |
| |
| static int | simple_fwd_init_ports_and_pipes (struct simple_fwd_port_cfg *port_cfg) |
| |
| static int | simple_fwd_init (void *p) |
| |
| static void | simple_fwd_match_set_tun (struct simple_fwd_pkt_info *pinfo, struct doca_flow_match *match) |
| |
| static enum doca_flow_l4_type_ext | simple_fwd_l3_type_transfer (uint8_t pkt_l4_type) |
| |
| static void | simple_fwd_build_entry_actions (struct doca_flow_actions *actions) |
| |
| static void | simple_fwd_build_entry_match (struct simple_fwd_pkt_info *pinfo, struct doca_flow_match *match) |
| |
| static void | simple_fwd_build_entry_monitor (struct simple_fwd_pkt_info *pinfo, struct doca_flow_monitor *monitor) |
| |
| static struct doca_flow_pipe * | simple_fwd_select_pipe (struct simple_fwd_pkt_info *pinfo) |
| |
| static struct doca_flow_pipe_entry * | simple_fwd_pipe_add_entry (struct simple_fwd_pkt_info *pinfo, void *user_ctx, uint32_t *age_sec) |
| |
| static int | simple_fwd_handle_new_flow (struct simple_fwd_pkt_info *pinfo, struct simple_fwd_ft_user_ctx **ctx) |
| |
| static bool | simple_fwd_need_new_ft (struct simple_fwd_pkt_info *pinfo) |
| |
| static int | simple_fwd_handle_packet (struct simple_fwd_pkt_info *pinfo) |
| |
| static void | simple_fwd_handle_aging (uint32_t port_id, uint16_t queue) |
| |
| static int | simple_fwd_dump_stats (uint32_t port_id) |
| |
| struct app_vnf * | simple_fwd_get_vnf (void) |
| |