4#ifndef __INCLUDE_RTE_SWX_TABLE_LEARNER_H__
5#define __INCLUDE_RTE_SWX_TABLE_LEARNER_H__
52#include <rte_compat.h>
57#ifndef RTE_SWX_TABLE_LEARNER_N_KEY_TIMEOUTS_MAX
58#define RTE_SWX_TABLE_LEARNER_N_KEY_TIMEOUTS_MAX 16
158 uint32_t key_timeout_id,
159 uint32_t key_timeout);
216 uint8_t **action_data,
248 uint8_t *action_data,
249 uint32_t key_timeout_id);
290 uint32_t key_timeout_id);
uint32_t(* rte_swx_hash_func_t)(const void *key, uint32_t length, uint32_t seed)
__rte_experimental void * rte_swx_table_learner_create(struct rte_swx_table_learner_params *params, int numa_node)
__rte_experimental uint32_t rte_swx_table_learner_add(void *table, void *mailbox, uint64_t time, uint64_t action_id, uint8_t *action_data, uint32_t key_timeout_id)
__rte_experimental uint64_t rte_swx_table_learner_footprint_get(struct rte_swx_table_learner_params *params)
__rte_experimental int rte_swx_table_learner_lookup(void *table, void *mailbox, uint64_t time, uint8_t **key, uint64_t *action_id, uint8_t **action_data, size_t *entry_id, int *hit)
__rte_experimental void rte_swx_table_learner_rearm_new(void *table, void *mailbox, uint64_t time, uint32_t key_timeout_id)
__rte_experimental void rte_swx_table_learner_free(void *table)
__rte_experimental void rte_swx_table_learner_delete(void *table, void *mailbox)
__rte_experimental uint64_t rte_swx_table_learner_mailbox_size_get(void)
__rte_experimental int rte_swx_table_learner_timeout_update(void *table, uint32_t key_timeout_id, uint32_t key_timeout)
__rte_experimental void rte_swx_table_learner_rearm(void *table, void *mailbox, uint64_t time)
uint32_t action_data_size
rte_swx_hash_func_t hash_func