- 概述
vpp的hash结构分为hash头、桶(_hash_create或hash_resize申请)和桶下元素(clib_mem_realloc申请),总共3个部分组成。
根据元素key的hash值不同,分配到不同的桶下,与其他hash表原理相同。
vpp的hash结构默认是支持动态扩容的,即当hash表存放键值对大于3/4哈希桶的个数时,会2倍扩容。
哈希冲突时,vector长度认为是没有限制的。
如非特殊说明,以存储key和value来进行介绍,即log2_pair_size > 0。
(免费订阅,永久学习)学习地址: Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟化/高性能专家-学习视频教程-腾讯课堂
更多DPDK相关学习资料有需要的可以自行报名学习,免费订阅,永久学习,或点击这里加qun免费
领取,关注我持续更新哦! !
- hash结构图

本文详细介绍了vpp的哈希结构,包括hash_header、桶及桶下元素的内存分布。讨论了动态扩容机制、无冲突和冲突时的处理方式,并通过hash_set、hash_unset、hash_get等关键函数阐述了操作流程。同时,文章提供了实例分析冲突解决过程,帮助读者深入理解vpp的哈希实现。

2013

被折叠的 条评论
为什么被折叠?



