#include <stdint.h>
#include <string.h>
#include <unistd.h>
#include <rte_byteorder.h>
#include <doca_log.h>
#include <doca_flow.h>
#include "flow_common.h"
#include "flow_switch_common.h"
Go to the source code of this file.
|
| | DOCA_LOG_REGISTER (FLOW_ECMP) |
| |
| static doca_error_t | create_root_pipe (struct doca_flow_port *port, uint32_t shared_counter_id, struct doca_flow_pipe *next_pipe, struct entries_status *status) |
| |
| static bool | is_power_of_two (uint8_t x) |
| |
| static doca_error_t | create_hash_pipe (struct doca_flow_port *port, uint8_t nb_flows, struct doca_flow_pipe **pipe) |
| |
| static doca_error_t | add_hash_pipe_entries (struct doca_flow_pipe *pipe, uint8_t nb_ecmp_ports, struct doca_flow_pipe_entry **entries, struct entries_status *status) |
| |
| static doca_error_t | show_ecmp_results (uint32_t counter_id, struct doca_flow_pipe_entry **entries, uint8_t nb_ecmp_ports) |
| |
| doca_error_t | flow_ecmp (int nb_queues, int nb_ports, struct flow_switch_ctx *ctx) |
| |
◆ GET_PERCENTAGE
| #define GET_PERCENTAGE |
( |
|
part, |
|
|
|
total |
|
) |
| (((double)part / (double)total) * 100) |
◆ MAX_ECMP_PORTS
| #define MAX_ECMP_PORTS (8) |
◆ MAX_TOTAL_PORTS
◆ WAITING_TIME
◆ add_hash_pipe_entries()
| static doca_error_t add_hash_pipe_entries |
( |
struct doca_flow_pipe * |
pipe, |
|
|
uint8_t |
nb_ecmp_ports, |
|
|
struct doca_flow_pipe_entry ** |
entries, |
|
|
struct entries_status * |
status |
|
) |
| |
|
static |
◆ create_hash_pipe()
| static doca_error_t create_hash_pipe |
( |
struct doca_flow_port * |
port, |
|
|
uint8_t |
nb_flows, |
|
|
struct doca_flow_pipe ** |
pipe |
|
) |
| |
|
static |
◆ create_root_pipe()
| static doca_error_t create_root_pipe |
( |
struct doca_flow_port * |
port, |
|
|
uint32_t |
shared_counter_id, |
|
|
struct doca_flow_pipe * |
next_pipe, |
|
|
struct entries_status * |
status |
|
) |
| |
|
static |
◆ DOCA_LOG_REGISTER()
| DOCA_LOG_REGISTER |
( |
FLOW_ECMP |
| ) |
|
◆ flow_ecmp()
◆ is_power_of_two()
| static bool is_power_of_two |
( |
uint8_t |
x | ) |
|
|
inlinestatic |
◆ show_ecmp_results()
| static doca_error_t show_ecmp_results |
( |
uint32_t |
counter_id, |
|
|
struct doca_flow_pipe_entry ** |
entries, |
|
|
uint8_t |
nb_ecmp_ports |
|
) |
| |
|
static |