dpdk:remove duplicate code 16/9716/2
authorEyal Bari <ebari@cisco.com>
Mon, 4 Dec 2017 17:58:12 +0000 (19:58 +0200)
committerDamjan Marion <dmarion.lists@gmail.com>
Tue, 5 Dec 2017 18:17:07 +0000 (18:17 +0000)
unify code from both branches

Change-Id: Iae7325cff8c799c7827727ad7465bec089e39f50
Signed-off-by: Eyal Bari <ebari@cisco.com>
src/plugins/dpdk/device/init.c

index 314a2e9..55904f0 100755 (executable)
@@ -522,34 +522,26 @@ dpdk_lib_init (dpdk_main_t * dm)
       xd->per_interface_next_index = ~0;
 
       /* assign interface to input thread */
-      dpdk_device_and_queue_t *dq;
       int q;
 
       if (devconf->hqos_enabled)
        {
          xd->flags |= DPDK_DEVICE_FLAG_HQOS;
 
+         int cpu;
          if (devconf->hqos.hqos_thread_valid)
            {
-             int cpu = dm->hqos_cpu_first_index + devconf->hqos.hqos_thread;
-
              if (devconf->hqos.hqos_thread >= dm->hqos_cpu_count)
                return clib_error_return (0, "invalid HQoS thread index");
 
-             vec_add2 (dm->devices_by_hqos_cpu[cpu], dq, 1);
-             dq->device = xd->device_index;
-             dq->queue_id = 0;
+             cpu = dm->hqos_cpu_first_index + devconf->hqos.hqos_thread;
            }
          else
            {
-             int cpu = dm->hqos_cpu_first_index + next_hqos_cpu;
-
              if (dm->hqos_cpu_count == 0)
                return clib_error_return (0, "no HQoS threads available");
 
-             vec_add2 (dm->devices_by_hqos_cpu[cpu], dq, 1);
-             dq->device = xd->device_index;
-             dq->queue_id = 0;
+             cpu = dm->hqos_cpu_first_index + next_hqos_cpu;
 
              next_hqos_cpu++;
              if (next_hqos_cpu == dm->hqos_cpu_count)
@@ -558,6 +550,11 @@ dpdk_lib_init (dpdk_main_t * dm)
              devconf->hqos.hqos_thread_valid = 1;
              devconf->hqos.hqos_thread = cpu;
            }
+
+         dpdk_device_and_queue_t *dq;
+         vec_add2 (dm->devices_by_hqos_cpu[cpu], dq, 1);
+         dq->device = xd->device_index;
+         dq->queue_id = 0;
        }
 
       vec_validate_aligned (xd->tx_vectors, tm->n_vlib_mains,