#include "conn.h"
#define NAME_SIZE 64
+#define SOFTNIC_PATH_MAX 4096
/**
* PMD Parameters
*/
struct pmd_params {
- const char *name;
- const char *firmware;
+ char name[NAME_SIZE];
+ char firmware[SOFTNIC_PATH_MAX];
uint16_t conn_port;
uint32_t cpu_id;
int sc; /**< Service cores. */
TAILQ_HEAD(softnic_mtr_meter_profile_list, softnic_mtr_meter_profile);
+/* MTR meter policy */
+struct softnic_mtr_meter_policy {
+ TAILQ_ENTRY(softnic_mtr_meter_policy) node;
+ uint32_t meter_policy_id;
+ enum rte_table_action_policer policer[RTE_COLORS];
+ uint32_t n_users;
+};
+
+TAILQ_HEAD(softnic_mtr_meter_policy_list, softnic_mtr_meter_policy);
+
/* MTR meter object */
struct softnic_mtr {
TAILQ_ENTRY(softnic_mtr) node;
struct mtr_internals {
struct softnic_mtr_meter_profile_list meter_profiles;
+ struct softnic_mtr_meter_policy_list meter_policies;
struct softnic_mtr_list mtrs;
};
softnic_mtr_meter_profile_find(struct pmd_internals *p,
uint32_t meter_profile_id);
+struct softnic_mtr_meter_policy *
+softnic_mtr_meter_policy_find(struct pmd_internals *p,
+ uint32_t meter_policy_id);
+
extern const struct rte_mtr_ops pmd_mtr_ops;
/**
const char *name,
struct softnic_table_action_profile_params *params);
-enum rte_table_action_policer
-softnic_table_action_policer(enum rte_mtr_policer_action action);
-
/**
* Pipeline
*/