By default, VPP automatically assignes for each tunnel
next available QAT device by order dev_id-que-pair.
In most cases we have more than one device and it can
greatly increase ipsec perfomance without any actions
with configuration from user if we use all the
devices first and first que-pairs
Type: feature
Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Change-Id: Iac9fe74768775459e22f69bb3706b542090a9375
+static int
+cryptodev_cmp (void *v1, void *v2)
+{
+ cryptodev_inst_t *a1 = v1;
+ cryptodev_inst_t *a2 = v2;
+
+ if (a1->q_id > a2->q_id)
+ return 1;
+ if (a1->q_id < a2->q_id)
+ return -1;
+ return 0;
+}
+
static int
cryptodev_probe (vlib_main_t *vm, u32 n_workers)
{
static int
cryptodev_probe (vlib_main_t *vm, u32 n_workers)
{
+ cryptodev_main_t *cmt = &cryptodev_main;
u32 n_queues = cryptodev_count_queue (vm->numa_node);
u32 i;
int ret;
u32 n_queues = cryptodev_count_queue (vm->numa_node);
u32 i;
int ret;
+ vec_sort_with_function(cmt->cryptodev_inst, cryptodev_cmp);
+