summaryrefslogtreecommitdiffstats
path: root/src/plugins/srv6-am
AgeCommit message (Expand)AuthorFilesLines
2020-03-23sr: srv6 API cleanupJakub Grajciar1-27/+18
2020-02-11sr: update NH value for Ethernet payloadspcamaril1-4/+4
2020-01-27sr: fix possible null-pointer dereferenceIgnas Bacius1-9/+26
2020-01-10sr: feature YAML files for Segment Routingpcamaril1-0/+8
2019-12-17ip: Protocol Independent IP NeighborsNeale Ranns1-1/+1
2019-12-14tests: changes for scapy 2.4.3 migrationsnaramre1-2/+0
2019-11-19srv6-mobileTetsuya Murakami1-0/+1
2019-11-05misc: Fix python scripts shebang lineRenato Botelho do Couto1-1/+1
2019-08-22tests: move plugin tests to src/plugins/*/testDave Wallace2-0/+2142
2019-06-07build: add -Wall and -fno-common, fix reported issuesBenoƮt Ganne2-1/+2
2019-05-03plugins: clean up plugin descriptionsDave Wallace1-1/+1
2018-11-14Remove c-11 memcpy checks from perf-critical codeDave Barach1-4/+4
2018-10-23c11 safe string handling supportDave Barach1-1/+1
2018-08-27cmake: Fix plugins .h includesMohsin Kazmi1-0/+3
2018-08-25cmake: improve add_vpp_plugin macroDamjan Marion1-1/+2
2018-08-17CMake as an alternative to autotools (experimental)Damjan Marion1-0/+17
2018-07-11avoid using thread local storage for thread indexDamjan Marion1-1/+1
2018-03-14srv6-plugins: fixing documentationFrancois Clad1-76/+85
2018-01-25SRv6 masquerading proxy pluginFrancois Clad4-0/+762
RRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #undef BIHASH_TYPE #undef BIHASH_KVP_PER_PAGE #undef BIHASH_32_64_SVM #undef BIHASH_ENABLE_STATS #define BIHASH_TYPE _8_8 #define BIHASH_KVP_PER_PAGE 4 #ifndef __included_bihash_8_8_h__ #define __included_bihash_8_8_h__ #include <vppinfra/heap.h> #include <vppinfra/format.h> #include <vppinfra/pool.h> #include <vppinfra/xxhash.h> #include <vppinfra/crc32.h> /** 8 octet key, 8 octet key value pair */ typedef struct { u64 key; /**< the key */ u64 value; /**< the value */ } clib_bihash_kv_8_8_t; /** Decide if a clib_bihash_kv_8_8_t instance is free @param v- pointer to the (key,value) pair */ static inline int clib_bihash_is_free_8_8 (clib_bihash_kv_8_8_t * v) { if (v->key == ~0ULL && v->value == ~0ULL) return 1; return 0; } /** Hash a clib_bihash_kv_8_8_t instance @param v - pointer to the (key,value) pair, hash the key (only) */ static inline u64 clib_bihash_hash_8_8 (clib_bihash_kv_8_8_t * v) { /* Note: to torture-test linear scan, make this fn return a constant */ #ifdef clib_crc32c_uses_intrinsics return clib_crc32c ((u8 *) & v->key, 8); #else return clib_xxhash (v->key); #endif } /** Format a clib_bihash_kv_8_8_t instance @param s - u8 * vector under construction @param args (vararg) - the (key,value) pair to format @return s - the u8 * vector under construction */ static inline u8 * format_bihash_kvp_8_8 (u8 * s, va_list * args) { clib_bihash_kv_8_8_t *v = va_arg (*args, clib_bihash_kv_8_8_t *); s = format (s, "key %llu value %llu", v->key, v->value); return s; } /** Compare two clib_bihash_kv_8_8_t instances @param a - first key @param b - second key */ static inline int clib_bihash_key_compare_8_8 (u64 a, u64 b) { return a == b; } #undef __included_bihash_template_h__ #include <vppinfra/bihash_template.h> #endif /* __included_bihash_8_8_h__ */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */