#include <vlib/log.h>
+#define AVF_QUEUE_SZ_MAX 4096
+#define AVF_QUEUE_SZ_MIN 64
+
#define AVF_AQ_ENQ_SUSPEND_TIME 50e-6
#define AVF_AQ_ENQ_MAX_WAIT_TIME 250e-3
AVF_PROCESS_EVENT_START = 1,
AVF_PROCESS_EVENT_DELETE_IF = 2,
AVF_PROCESS_EVENT_AQ_INT = 3,
+ AVF_PROCESS_EVENT_SET_PROMISC_ENABLE = 4,
+ AVF_PROCESS_EVENT_SET_PROMISC_DISABLE = 5,
} avf_process_event_t;
typedef struct
{
u16 msg_id_base;
- avf_device_t *devices;
+ avf_device_t **devices;
avf_per_thread_data_t *per_thread_data;
vlib_log_class_t log_class;
format_function_t format_avf_device_name;
format_function_t format_avf_input_trace;
+static_always_inline avf_device_t *
+avf_get_device (u32 dev_instance)
+{
+ return pool_elt_at_index (avf_main.devices, dev_instance)[0];
+}
+
static inline u32
avf_get_u32 (void *start, int offset)
{