[Jool-list] Default pool4 hashing does not work well with some video CDNs

Ondřej Caletka ondrej at caletka.cz
Thu Apr 20 10:57:47 CST 2023


On 20/04/2023 17:07, Alberto Leiva wrote:
>> Or perhaps even change the pool4
>> allocation algorithm so that it tries to stick to one IPv4 address for
>> one source address and just randomize ports used.
> But how is this different from f-args 8?

If I understand the docs correctly, algorithm of Jool treats pool4 as a 
flat list of (IPv4, port) tuples. The F-function is run and its result 
chooses one of the tuples. If that one is in use, a possibly CPU-intense 
algorithm is run to find a free tuple adjacent to the one chosen by F.

That is, with f-args=8, every session originated from the same IPv6 
source address will always try to select one particular tuple. So every 
second and further session from the same host will trigger this 
collision resolution process.

What I would like to see instead would be to use F with f-args=8 only to 
select IPv4 address. Once it is selected, another F could be run, this 
time with f-args=15 (or 7) to select a port within that IPv4 address. 
This way it would be guaranteed that one IPv6 address is always masked 
behind one IPv4 address and at the same time there would be less collisions.

But maybe I'm just too scared of the collision resolving algorithm :)

--
Cheers,

Ondřej Caletka


More information about the Jool-list mailing list