[Kea-users] Raw socket input buffer

kea at jack.fr.eu.org kea at jack.fr.eu.org
Mon Jul 31 08:58:45 UTC 2017


Hi,

I have a kea4 server, version 1.1.0, I added hooks that connect
externally (the important information : that hook is "slow", it does TCP
connect)
That part works well

However, when the server takes too many queries (I don't know how "too
many" is), a strange behavior appears: the server keep and answer
outdated requests (some kind of input buffer, I guess), which clients
timed-out in the mean time, leading to another requests etc -> broadcast
storm and global failure

I will try to explain that using the timeline below:
t: client1 make request1-1
    client2 make request2-1
    client3 make request3-1
t + 1: server process request1-1
t + 2: server keep processing request1-1
t + 3: client1 time out request1-1 and make request1-2
       client2 time out request2-1 and make request2-2
       client3 time out request3-1 and make request3-2
t + 4: server send answer1-1, and start processing request2-1 (which is
already timed out by the client2)
       answer1-1 reach client1 and is dropped

t + n: client keep sending new requests, timing out old one
       server keep processing obsolete requests


I tried to reduce /proc/sys/net/core/rmem_max to 4096, this does not fix
the issue (probably because 4096 is still a lot of dhcp-packets :p)

Any tip, trick, configuration or whatever on that issue ?

Best regards,



More information about the Kea-users mailing list