yanet-platform / yanet

A high performance framework for forwarding traffic based on DPDK
Other
165 stars 17 forks source link

Replace CRC32 hash function for balancer session mapping with more uniform-distributed function #144

Open GeorgyKirichenko opened 3 months ago

GeorgyKirichenko commented 3 months ago

YANET Dataplane maintains a hash-table which binds a session five-tuple identifier with a real on which the session is handled. And the hash table has a hard limit on a maximum length of a collision chain what means that any session record appended to such chain will be lost. It was discovered that CRC32 used as hash function tends to relatively high count of the collision chain limit breakages and could be replaced with some more better-distributed function like city-hash.