知识卡片
精确匹配的哈希冲突处理
内容
报文按字段做精确匹配的核心是先哈希再解决冲突:负载因子(数据条目数/哈希桶条目数)越大冲突概率越高,处理冲突有两种思路——分离链表把冲突项串成链表,不浪费桶空间但查找要多跳一次;开放地址把冲突项挤到下一个空桶,不用链表指针但容易连锁加剧冲突。DPDK的哈希表没有单纯选边站,而是让每个桶自带多个entry位——相当于把”链表”直接内嵌进桶结构本身,融合两种思路的优点,用固定大小的桶内数组换掉了链表的指针跳转开销。
参考来源
《深入浅出DPDK》第5章《报文转发》