vlib: add vlib_frame_bitmap_is_bit_set 98/37098/2
authorDamjan Marion <damarion@cisco.com>
Thu, 8 Sep 2022 16:59:03 +0000 (18:59 +0200)
committerFlorin Coras <florin.coras@gmail.com>
Mon, 12 Sep 2022 20:20:42 +0000 (20:20 +0000)
Type: improvement
Change-Id: I2f3fab893a10b060f91b07ee17b8727d241830ea
Signed-off-by: Damjan Marion <dmarion@me.com>
src/vlib/node_funcs.h

index 8672270..45a36fe 100644 (file)
@@ -1443,6 +1443,14 @@ vlib_frame_bitmap_count_set_bits (uword *bmp)
   return count;
 }
 
+static_always_inline uword
+vlib_frame_bitmap_is_bit_set (uword *bmp, uword bit_index)
+{
+  bmp += bit_index / uword_bits;
+  bit_index %= uword_bits;
+  return (bmp[0] >> bit_index) & 1;
+}
+
 static_always_inline int
 vlib_frame_bitmap_find_first_set (uword *bmp)
 {