Eugene Grosbein wrote:
The server IS blocking. The server IS NOT dropping duplicates.
Then why I have lots of lines telling be of dropping duplicate requests like I've shown?
Because the server is blocking. OK. After looking at it a bit more, there are duplicate checks in the v2 code. Here's what's happening: 1) your Perl code is breaking the server. 2) Probably because the database is slow 3) because the DB is slow, all of the threads are blocked 4) because threads are blocked, packets sit in the queue for many seconds 5) because packets sit in the queue for too long, the client doesn't see a response 6) the client retransmits 7) the server sees that it's a duplicate of a packet waiting in the queue, and complains about duplicate packet. The messages in v2.2.4 are a bit better. They describe more clearly what's going on. If you're having issues with 2.2.4, PLEASE submit bug reports. They won't get fixed otherwise. Try using the "mac2ip" module as I suggested. DON'T use your Perl script. You'll see the server doing 10K DHCP packets/s. The problem IS your script, or the database. There is just no other way that FreeRADIUS sits on packets for many seconds.
By the way, xid by itself should not be used as "unique" client id without additional details like client MAC, option 82 field (if supplied) etc.
That's what the code does. It uses XID && MAC to determine unique packets.
I'm ready to move to 3.0.2, too.
Use th v3.0.x branch from git, which has some fixes to the Perl code. Alan DeKok/