summaryrefslogtreecommitdiffstats
path: root/src/vnet/dpo/replicate_dpo.c
AgeCommit message (Expand)AuthorFilesLines
2021-05-01vlib: refactor trajectory trace debug featureBenoƮt Ganne1-2/+0
2020-12-14misc: move to new pool_foreach macrosDamjan Marion1-3/+3
2020-04-11fib: fix accessing empty dpo pool elementsShivaShankarK1-1/+4
2019-08-15vlib: copy trace_handle in vlib_buffer_copy/clone() functionsJohn Lo1-4/+1
2018-12-18MFIB: recurse resolution through an MFIB entryNeale Ranns1-0/+88
2018-11-02vlib: define minimum chained buffer segment sizeDamjan Marion1-1/+2
2018-10-23c11 safe string handling supportDave Barach1-1/+1
2018-10-16FIB: use vlib-log for debuggingNeale Ranns1-11/+11
2018-10-08replicate trace fixNeale Ranns1-2/+6
2018-10-01mroute routers in the stats segmentNeale Ranns1-1/+6
2018-02-06BIER: fix support for longer bit-string lengthsNeale Ranns1-1/+2
2017-11-09BIERNeale Ranns1-7/+7
2017-04-07MPLS McastNeale Ranns1-7/+41
2017-04-06Use thread local storage for thread indexDamjan Marion1-6/+6
2017-02-28vlib: add buffer cloning supportDamjan Marion1-44/+32
2017-02-24VPP-650: handle buffer failure in vlib_buffer_copy(...)Dave Barach1-1/+31
2017-02-03Next node frame over-flow after replicationNeale Ranns1-2/+16
2017-02-02Fix SR multicast post mfib commitNeale Ranns1-9/+5
2017-01-27IP Multicast FIB (mfib)Neale Ranns1-0/+759
ass="cp">#include <vppinfra/format.h> #include <vppinfra/pool.h> #include <vppinfra/xxhash.h> typedef struct { u64 key[3]; u64 value; } clib_bihash_kv_24_8_t; static inline int clib_bihash_is_free_24_8 (const clib_bihash_kv_24_8_t * v) { /* Free values are memset to 0xff, check a bit... */ if (v->key[0] == ~0ULL && v->value == ~0ULL) return 1; return 0; } static inline u64 clib_bihash_hash_24_8 (const clib_bihash_kv_24_8_t * v) { #if __SSE4_2__ u32 value = 0; value = _mm_crc32_u64 (value, v->key[0]); value = _mm_crc32_u64 (value, v->key[1]); value = _mm_crc32_u64 (value, v->key[2]); return value; #else u64 tmp = v->key[0] ^ v->key[1] ^ v->key[2]; return clib_xxhash (tmp); #endif } static inline u8 * format_bihash_kvp_24_8 (u8 * s, va_list * args) { clib_bihash_kv_24_8_t *v = va_arg (*args, clib_bihash_kv_24_8_t *); s = format (s, "key %llu %llu %llu value %llu", v->key[0], v->key[1], v->key[2], v->value); return s; } static inline int clib_bihash_key_compare_24_8 (const u64 * a, const u64 * b) { return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2])) == 0; } #undef __included_bihash_template_h__ #include <vppinfra/bihash_template.h> #endif /* __included_bihash_24_8_h__ */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */