Update _slabshr fields when updating HQoS masks 40/3340/3
authorDavid Hotham <david.hotham@metaswitch.com>
Tue, 11 Oct 2016 09:30:52 +0000 (09:30 +0000)
committerDamjan Marion <dmarion.lists@gmail.com>
Mon, 31 Oct 2016 22:52:47 +0000 (22:52 +0000)
Change-Id: Ia1042622c656861a80b856115aeb3c2e5cf5ea2a
Signed-off-by: David Hotham <david.hotham@metaswitch.com>
vnet/vnet/devices/dpdk/cli.c

index fbd1637..85c3e80 100644 (file)
@@ -1328,15 +1328,21 @@ set_dpdk_if_hqos_pktfield (vlib_main_t * vm, unformat_input_t * input,
       case 0:
        xd->hqos_wt[worker_thread_first + i].hqos_field0_slabpos = offset;
        xd->hqos_wt[worker_thread_first + i].hqos_field0_slabmask = mask;
+       xd->hqos_wt[worker_thread_first + i].hqos_field0_slabshr =
+         __builtin_ctzll (mask);
        break;
       case 1:
        xd->hqos_wt[worker_thread_first + i].hqos_field1_slabpos = offset;
        xd->hqos_wt[worker_thread_first + i].hqos_field1_slabmask = mask;
+       xd->hqos_wt[worker_thread_first + i].hqos_field1_slabshr =
+         __builtin_ctzll (mask);
        break;
       case 2:
       default:
        xd->hqos_wt[worker_thread_first + i].hqos_field2_slabpos = offset;
        xd->hqos_wt[worker_thread_first + i].hqos_field2_slabmask = mask;
+       xd->hqos_wt[worker_thread_first + i].hqos_field2_slabshr =
+         __builtin_ctzll (mask);
       }
 
   return 0;