Code Review
/
vpp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
review
|
tree
raw
|
patch
|
inline
| side by side (parent:
2c03879
)
vlib: add vlib_frame_bitmap_{set,clear}_bit_at_index
00/38600/2
author
Damjan Marion
<damarion@cisco.com>
Fri, 31 Mar 2023 12:14:41 +0000
(12:14 +0000)
committer
Neale Ranns
<neale@graphiant.com>
Sun, 2 Apr 2023 22:13:16 +0000
(22:13 +0000)
Type: improvement
Change-Id: I5703728f680f0c8431e4099b398827bd094b60df
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/vlib/node_funcs.h
patch
|
blob
|
history
diff --git
a/src/vlib/node_funcs.h
b/src/vlib/node_funcs.h
index
a75f1f3
..
9e0825b
100644
(file)
--- a/
src/vlib/node_funcs.h
+++ b/
src/vlib/node_funcs.h
@@
-1403,6
+1403,22
@@
vlib_frame_bitmap_init (uword *bmp, u32 n_first_bits_set)
bmp++[0] = 0;
}
bmp++[0] = 0;
}
+static_always_inline void
+vlib_frame_bitmap_set_bit_at_index (uword *bmp, uword bit_index)
+{
+ bmp += bit_index / uword_bits;
+ bit_index %= uword_bits;
+ bmp[0] |= 1 << bit_index;
+}
+
+static_always_inline void
+_vlib_frame_bitmap_clear_bit_at_index (uword *bmp, uword bit_index)
+{
+ bmp += bit_index / uword_bits;
+ bit_index %= uword_bits;
+ bmp[0] &= ~((uword) 1 << bit_index);
+}
+
static_always_inline void
vlib_frame_bitmap_clear (uword *bmp)
{
static_always_inline void
vlib_frame_bitmap_clear (uword *bmp)
{