X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fvppinfra%2Fring.h;h=ae25e40b5c0721711e174cab44b53202a14ec4d1;hb=47447f1f5;hp=8527fdb5978d5cf96686b9e795f3feb2bf9fc309;hpb=38c619115b0399bae8b0dcf66e57e623cc50809c;p=vpp.git diff --git a/src/vppinfra/ring.h b/src/vppinfra/ring.h index 8527fdb5978..ae25e40b5c0 100644 --- a/src/vppinfra/ring.h +++ b/src/vppinfra/ring.h @@ -32,20 +32,25 @@ clib_ring_header (void *v) return vec_header (v); } +always_inline void +clib_ring_reset (void *v) +{ + clib_ring_header_t *h = clib_ring_header (v); + h->next = 0; + h->n_enq = 0; +} + always_inline void clib_ring_new_inline (void **p, u32 elt_bytes, u32 size, u32 align) { void *v; - clib_ring_header_t *h; vec_attr_t va = { .elt_sz = elt_bytes, .hdr_sz = sizeof (clib_ring_header_t), .align = align }; v = _vec_alloc_internal (size, &va); - h = clib_ring_header (v); - h->next = 0; - h->n_enq = 0; + clib_ring_reset (v); p[0] = v; }